Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,25 @@ jobs:
run: ruff check src tests setups

test:
name: Tests
name: Tests (py${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 20

strategy:
# Every supported interpreter reports independently, so one broken
# version never masks the others.
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13", "3.14"]

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Pipenv
uses: ./.github/actions/setup-pipenv
with:
python-version: ${{ matrix.python-version }}

# Auto-discovers every test file so new tests can never be silently skipped.
- name: Run tests
Expand Down
2 changes: 1 addition & 1 deletion Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ mkdocs-mermaid2-plugin = "*"
linkchecker = "*"

[requires]
python_version = "3.13"
python_version = ">=3.11"
4 changes: 2 additions & 2 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A local-first research pipeline that retrieves academic papers from multiple scholarly APIs, ranks and clusters them with embeddings, synthesizes cross-paper insights, and exports reports in several formats. Uses **Ollama** by default for fully local LLM inference, with optional **OpenAI** and **Anthropic** providers.

Built with Python 3.13, pydantic-ai, sentence-transformers, and async I/O.
Built with Python 3.11+, pydantic-ai, sentence-transformers, and async I/O.

**Documentation:** [https://ndevu12.github.io/Research_Assistant_Model/](https://ndevu12.github.io/Research_Assistant_Model/) — architecture, configuration, API reference, and operations.

Expand All @@ -17,7 +17,7 @@ Built with Python 3.13, pydantic-ai, sentence-transformers, and async I/O.

## Requirements

- Python 3.13+ and [Pipenv](https://pipenv.pypa.io/)
- Python 3.11+ and [Pipenv](https://pipenv.pypa.io/)
- Internet access for paper retrieval (LLM inference can run fully offline after model download)

| Local model | RAM | Disk |
Expand All @@ -30,9 +30,9 @@ Cloud providers require only an API key — no Ollama install.
## Quick start

```bash
pip install pipenv
pip install pipenv # externally-managed distro (Arch, Debian 12+, Fedora 39+)? use: pipx install pipenv
pipenv install
cp .env.example .env # optional; edit as needed
cp -n .env.example .env # optional; -n leaves an existing .env untouched
pipenv run python -m src "transformer attention mechanisms"
```

Expand Down
8 changes: 4 additions & 4 deletions docs/development/local-setup.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Local Development Setup

Development environment for AI Research Assistant: Python 3.13, Pipenv, pytest, and optional docs tooling.
Development environment for AI Research Assistant: Python 3.11+, Pipenv, pytest, and optional docs tooling.

Source: `Pipfile`, `README.md`, `src/__main__.py`.

## Prerequisites

| Requirement | Notes |
|-------------|-------|
| Python 3.13+ | Pinned in `Pipfile` `[requires]` |
| Python 3.11+ | Floor declared in `Pipfile` `[requires]` (`>=3.11`) |
| Pipenv | Virtualenv and lockfile management |
| Git | Clone the repository |

Expand All @@ -19,9 +19,9 @@ For LLM development with Ollama, run [Setup system — Quick start](../setup-sys
```bash
git clone https://github.com/Ndevu12/Research_Assistant_Model.git
cd Research_Assistant_Model
pip install pipenv
pip install pipenv # externally-managed distro (Arch, Debian 12+, Fedora 39+)? use: pipx install pipenv
pipenv install --dev
cp .env.example .env # optional
cp -n .env.example .env # optional; -n leaves an existing .env untouched
```

`pipenv install --dev` installs:
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This page covers what gets installed, layout, and verification — not repeated

| Requirement | Version / notes |
|-------------|-----------------|
| Python | 3.13+ |
| Python | 3.11+ (tested on 3.11–3.14) |
| Pipenv | Dependency and virtualenv management |
| Internet | API retrieval; optional after Ollama model download for local LLM |
| RAM (local LLM) | 4–6 GB (`llama3.2:3b`) or 8–10 GB (`llama3.1:8b`) |
Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A local-first research pipeline that retrieves academic papers from multiple scholarly APIs, ranks and clusters them with embeddings, synthesizes cross-paper insights, and exports reports in several formats. Uses **Ollama** by default for fully local LLM inference, with optional **OpenAI** and **Anthropic** providers.

Built with Python 3.13, pydantic-ai, sentence-transformers, and async I/O.
Built with Python 3.11+, pydantic-ai, sentence-transformers, and async I/O.

Feature list, requirements, and RAM guidance: [README](https://github.com/Ndevu12/Research_Assistant_Model#features).

Expand All @@ -13,7 +13,7 @@ Feature list, requirements, and RAM guidance: [README](https://github.com/Ndevu1

| Section | Description |
|---------|-------------|
| [Installation](getting-started/installation.md) | Pipenv, Python 3.13, dependencies |
| [Installation](getting-started/installation.md) | Pipenv, Python 3.11+, dependencies |
| [Quick Start](getting-started/quick-start.md) | First query and auto-setup flow |
| [CLI Reference](user-guide/cli.md) | Flags, batch vs interactive mode |
| [CLI vs API](user-guide/cli-vs-api.md) | Execution paths and provider divergence |
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ markers = [

[tool.ruff]
line-length = 100
target-version = "py313"
target-version = "py311"

[tool.ruff.lint]
# Correctness-focused: syntax errors, undefined names, unused imports/variables.
Expand Down
Loading