Skip to main content

Your ultimate research companion

Project description

Alithia

PyPI version

Time is one of the most valuable resources for a human researcher, best spent on thinking, exploring, and creating in the world of ideas. With Alithia, we aim to open a new frontier in research assistance. Alithia aspires to be your powerful research companion: from reading papers to pursuing interest-driven deep investigations, from reproducing experiments to detecting fabricated results, from tracking down relevant papers to monitoring industrial breakthroughs. At its core, Alithia forges a strong and instant link between your personal research profile, the latest state-of-the-art developments, and pervasive cloud resources, ensuring you stay informed, empowered, and ahead.

Features

In Alithia, we connect each researcher’s profile with publicly available academic resources, leveraging widely accessible cloud infrastructure to automate the entire process. In its current version, Alithia is designed to support the following features:

  • Reseacher Profile
    • Basic profile: research interests, expertise, language
    • Connected (personal) services:
      • LLM (OpenAI compatible)
      • Zotero library
      • Email notification
      • Github profile
      • Google scholar profile
      • X account message stream
    • Gems (general research digest or ideas)
  • Academic Resources
    • arXiv papers
    • Google scholar search
    • Web search engines (e.g., tavily)
    • Individual researcher homepage

Installation

Alithia uses optional dependencies to keep the base installation lightweight. The default installation includes PaperScout agent dependencies.

Recommended: Default Installation

For most users, install with default dependencies (includes PaperScout agent: ArXiv fetching, Zotero integration, email notifications, etc.):

pip install alithia[default]

This installs:

  • arxiv - ArXiv paper fetching
  • pyzotero - Zotero library integration
  • scikit-learn - Machine learning utilities
  • sentence-transformers - Embedding models
  • feedparser - RSS feed parsing
  • beautifulsoup4 & lxml - Web scraping
  • tiktoken - Token counting
  • And other PaperScout dependencies

Note: alithia[paperscout] is an alias for alithia[default] and works the same way.

Minimal Installation

Install only the core library (includes cogents-core only, no PaperScout features):

pip install alithia

⚠️ Warning: This minimal installation does not include PaperScout agent dependencies. Most users should use alithia[default] instead.

Install with PaperLens Support

For PDF analysis and deep paper interaction:

pip install alithia[paperlens]

This installs:

  • docling - PDF parsing and OCR
  • onnxruntime - Model inference

Install All Features

Install everything (Default/PaperScout + PaperLens):

pip install alithia[all]

Development Installation

For development, clone the repository and install with development dependencies:

git clone https://github.com/caesar0301/alithia.git
cd alithia
uv sync --extra default --extra dev

Or using pip:

pip install -e ".[default,dev]"

Note: You can also use alithia[paperscout,dev] as paperscout is an alias for default.

Quick Start

1. Setup PaperScout Agent

The PaperScout Agent delivers daily paper recommendations from arXiv to your inbox.

Prerequisites:

  1. Zotero Account: Sign up and get your user ID and API key from Settings → Feeds/API
  2. OpenAI API Key: From any OpenAI-compatible LLM provider
  3. Email (Gmail): Enable 2FA and generate an App Password

GitHub Actions Setup:

  1. Fork this repository
  2. Go to Settings → Secrets and variables → Actions
  3. Add secret ALITHIA_CONFIG_JSON with your configuration (see below)
  4. Agent runs automatically daily at 01:00 UTC

2. Configuration

Create a JSON configuration with your credentials. See alithia_config_example.json for a complete example.

Storage Backend

Alithia uses Supabase (PostgreSQL) as the default stateful storage backend, with automatic fallback to SQLite when Supabase is unavailable. This enables:

  • Persistent caching of Zotero libraries and parsed papers
  • Continuous paper feeding that handles ArXiv indexing delays
  • Deduplication to prevent duplicate email notifications
  • Query history tracking for PaperLens interactions

Quick Setup

  1. Create a Supabase project at supabase.com (free tier available)
  2. Run the migration: Copy contents of alithia/storage/migrations/001_initial_schema.sql to Supabase SQL Editor
  3. Configure Alithia: Add Supabase credentials to your config:
{
  "storage": {
    "backend": "supabase",
    "fallback_to_sqlite": true,
    "user_id": "your_email@example.com"
  },
  "supabase": {
    "url": "https://xxxxx.supabase.co",
    "anon_key": "your_anon_key",
    "service_role_key": "your_service_role_key"
  }
}

Storage Options

  • Supabase (default): Cloud PostgreSQL with automatic backups, full-text search, and multi-user support
  • SQLite (fallback): Local single-file database, works offline, no setup required

For detailed setup instructions, see docs/SUPABASE_SETUP.md.

License

MIT

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alithia-0.2.7.tar.gz (52.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alithia-0.2.7-py3-none-any.whl (62.1 kB view details)

Uploaded Python 3

File details

Details for the file alithia-0.2.7.tar.gz.

File metadata

  • Download URL: alithia-0.2.7.tar.gz
  • Upload date:
  • Size: 52.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for alithia-0.2.7.tar.gz
Algorithm Hash digest
SHA256 c2f206784dd672688de51905ba9e7acfe0f90c5d1fefd1b4262b8e90e8acb218
MD5 da7da95383e709541cec2cd8cbcd0df2
BLAKE2b-256 7929df1fe2b82ed2bfbb8c2940ae2713d2c47063d9b903b0ba055343d8e7707b

See more details on using hashes here.

Provenance

The following attestation bundles were made for alithia-0.2.7.tar.gz:

Publisher: release.yml on caesar0301/alithia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alithia-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: alithia-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 62.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for alithia-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7235dc3aea423af520a6b54350ff663d7322af48d0b102c1201f8cf2a3f5cc9b
MD5 dacd05f5aa108ea8cc44fa41b89d84e5
BLAKE2b-256 fd0cc18788ad9b9589d1bb13416257e6d2c265e8fc04642a5b947b65c921d352

See more details on using hashes here.

Provenance

The following attestation bundles were made for alithia-0.2.7-py3-none-any.whl:

Publisher: release.yml on caesar0301/alithia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page