Catalog PyPI
Back to packageRELEASE DETAILS

0.2.0

PyPI

academic-research-mentor

AI-powered mentor for academic research with CLI and Textual TUI front-ends

aiclilangchainmentorresearchtui
Published9 Oct 2025
Direct dependencies23
Transitive dependenciesNot calculated

README

Version 0.2.0 documentation

Academic Research Mentor

Objective

Accelerate AI research with AI. We are building an AI Research Mentor that guides researchers through the entire research lifecycle so they can move from idea to published work faster.

Key Capabilities

  • Research-aware CLI powered by LangChain agents and dynamic tool routing.
  • O3-backed literature search with graceful fallbacks and citation synthesis.
  • Mentorship guidelines and experiment planning helpers to keep projects on track.
  • File and PDF ingestion so the mentor can ground responses in user-provided material.
  • Conversation logging with the ability to resume saved sessions from the CLI.

Setup

# Install dependencies
uv sync

# Run tests (optional)
uv run pytest -q

Environment

cp .example.env .env

Edit .env and add your OPENROUTER_API_KEY (recommended). Other provider keys are optional fallbacks.

Usage

# Verify configuration
uv run academic-research-mentor --check-env

# Start the mentor CLI
uv run academic-research-mentor

# Alternate entrypoint
uv run python main.py

Troubleshooting

  • Ensure Python 3.11+ is installed.
  • Re-run uv sync after dependency changes.
  • Set additional API keys (OpenAI, Anthropic, etc.) if you prefer alternative models.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 24

Native requirements
23 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
langchain
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain>=0.2runtime
langchain-openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain-openai>=0.1.22runtime
langchain-google-genai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain-google-genai>=2.0.6runtime
langchain-anthropic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain-anthropic>=0.2.4runtime
langchain-mistralai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain-mistralai>=0.2.1runtime
langchain-community
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain-community>=0.2runtime
google-genai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
google-genai>=1.29.0runtime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
openai>=1.40.0runtime
anthropic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
anthropic>=0.34.0runtime
mistralai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
mistralai>=0.4.2runtime
httpx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
httpx>=0.27.0runtime
langgraph
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langgraph>=0.6.5runtime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
rich>=14.1.0runtime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
python-dotenv>=1.0.0runtime
ddgs
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
ddgs>=9.5.5runtime
beautifulsoup4
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
beautifulsoup4>=4.12.0runtime
langchain-text-splitters
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
langchain-text-splitters>=0.2runtime
faiss-cpu
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
faiss-cpu>=1.12.0runtime
pypdf
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
pypdf>=6.0.0runtime
fastembed
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
fastembed>=0.7.3runtime
pymupdf
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
pymupdf>=1.26.4runtime
tavily-python
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
tavily-python>=0.3.3runtime
textual
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
textual>=6.2.1runtime
textual
Environment
{
  "extras": "",
  "marker": "extra == \"tui\"",
  "requires_python": ">=3.11",
  "evaluation": "NOT_EVALUATED"
}
textual>=0.60.0; extra == "tui"runtime

Distribution files

2 collected
academic_research_mentor-0.2.0-py3-none-any.whl

bdist_wheel · 148.37 KB · Python py3

Source file
academic_research_mentor-0.2.0.tar.gz

sdist · 101.9 KB · Python source

Source file

Repository

PENDING
lossfunk/ai-research-mentor

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 17:50 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:ecdb46c2fa6e6d392c5e39e7a93b79cc6085502c41378ccc13a417f0b37e8c8d

Other collected versions

View all collected versions →