Catalog PyPI
PACKAGE EXPLORERView in registry

ain-research-engine

PyPI

Autonomous Intelligence Network - Research & Knowledge Compilation Engine. Ingests scientific literature from ArXiv, OpenAlex, and Crossref with automatic source routing.

aiarxivautonomouscrossrefknowledge-managementllmmachine-learningmcpopenalexresearchscientific-papers
Versions collected1
Direct dependencies17From release 0.4.0
Last observed21 Oct, 11:32 UTC

README

Version 0.4.0 documentation

ain-research

Autonomous Intelligence Network — Research & Knowledge Compilation Engine

PyPI Python License


ain-research is the core orchestration engine powering the Autonomous Intelligence Network (AIN) — a self-organizing research system that autonomously ingests scientific literature, detects contradictions between knowledge nodes, and evolves credibility scores for every research concept it tracks.

Built on top of LLMs, it guides, automates, and orchestrates open-ended domain research across 115+ arXiv categories spanning Physics, Mathematics, Computer Science, Statistics, Quantitative Biology, Quantitative Finance, Economics, and Electrical Engineering.


Features

FeatureDescription
Infinite Research DaemonTime-boxed, autonomous daemon that fetches domain-specific research with intelligent rate-limiting
115+ arXiv TopicsPre-configured categories across 9 scientific domains with fuzzy search
Firebase AuthenticationRole-based access control with library field permissions
LLM SteeringMCP server for dynamic research queue management
Atomic ConcurrencyOS-level FileLocks for zero data corruption during concurrent access
Vault ViewerMinimalist SPA for browsing your knowledge base
MCP IntegrationDirect integration with Claude, Cursor, and other MCP-compatible clients

Installation

uv tool install ain-research

This installs the ain, ain-research, and ain-mcp commands globally.

Alternative: pip

pip install ain-research

Note: Ensure your Python Scripts folder is in your system PATH to use the ain command.

Development Install

git clone https://github.com/That-Tech-Geek/ain-research.git
cd ain-research
pip install -e .

Quick Start

1. Configure Workspace

By default, ain-research uses ~/.ain/ as the workspace root. Override with:

export AIN_WORKSPACE=/path/to/custom/workspace

2. Setup Firebase Authentication (Optional)

ain auth setup --cred-file /path/to/firebase-adminsdk.json

3. Check User Access

ain auth check --email user@example.com

4. Set Crawl Schedule

ain schedule --start "09:00" --end "21:00"

5. List Available Topics

ain topics              # List all 115+ topics
ain topics --count      # Show domain breakdown
ain search "quantum"    # Fuzzy search topics

6. Start the Daemon

ain-research            # Start the ingestion daemon
ain-research --force    # Run outside active time window

7. Add to Queue

ain queue add --arxiv 2305.14314    # Queue specific paper
ain queue list                      # View pending items

8. Compile the Vault

ain compile

9. Launch the UI

ain ui --port 8000

CLI Reference

Core Commands

CommandDescriptionExample
ain compileCompile the Vault Index and Tagsain compile
ain queue addAdd paper to ingestion queueain queue add --arxiv 2305.14314
ain queue listList pending queue itemsain queue list
ain intentDecompose research goal into topicsain intent "agentic frameworks"
ain scheduleSet daily crawl scheduleain schedule --start "09:00" --end "21:00"
ain uiLaunch Vault Viewerain ui --port 8000
ain setup-agentsSetup MCP config for Claude/Cursorain setup-agents

Topic Management

CommandDescriptionExample
ain topicsList all arXiv topicsain topics
ain topics --countShow topic count by domainain topics --count
ain searchFuzzy search topicsain search "neural"
ain theme listList active themesain theme list
ain theme addAdd custom themeain theme add --name "MyTheme" --query "cat:cs.AI" --tags "ai,ml"
ain theme removeRemove themeain theme remove --name "MyTheme"

Authentication

CommandDescriptionExample
ain auth checkCheck user library accessain auth check --email user@example.com
ain auth setupSetup Firebase credentialsain auth setup --cred-file path/to/sdk.json

Notifications

CommandDescriptionExample
ain telegram setupSetup Telegram notificationsain telegram setup --token BOT_TOKEN

Python API

Authentication

from ain_research.auth import check_library_access, require_library_access, authenticate_user

# Check access
result = check_library_access("user@example.com")
if result["allowed"]:
    print("Access granted")

# Boolean check
if authenticate_user("user@example.com"):
    proceed()

# Decorator
@require_library_access
def my_function(email):
    # Only runs if user has library=True
    pass
from ain_research.config import fuzzy_search_topics, get_topic_list

# Fuzzy search
results = fuzzy_search_topics("quantum", threshold=0.3)
for name, score, data in results:
    print(f"{name}: {score:.0%} - {data['query']}")

# Get all topics
topics = get_topic_list()

Configuration

from ain_research.config import (
    get_arxiv_categories,
    save_arxiv_categories,
    get_schedule,
    save_schedule
)

# Get all categories
categories = get_arxiv_categories()

# Add custom category
categories["MyTopic"] = {
    "query": "cat:cs.AI",
    "tags": ["ai", "custom"]
}
save_arxiv_categories(categories)

# Update schedule
save_schedule("09:00", "21:00")

MCP Integration

Claude Desktop / Cursor

Add to your MCP configuration:

{
  "mcpServers": {
    "ain-research": {
      "command": "uv",
      "args": ["run", "ain-mcp"]
    }
  }
}

Available MCP Tools

ToolDescription
queue_arxiv(arxiv_id)Queue a specific ArXiv paper
get_queue_status()Get current ingestion queue status
trigger_compile()Re-compile the Vault Index
add_arxiv_category(name, query, tags)Add new research trajectory

Workspace Structure

~/.ain/
├── arxiv_categories.json      # Topic configuration
├── schedule_config.json       # Crawl schedule
├── telegram_config.json       # Telegram notifications
├── firebase-adminsdk.json     # Firebase credentials
├── daemon_state.json          # Daemon state
├── data/                      # SQLite database
└── vault/
    └── wiki/
        ├── 01_Inbox/
        ├── 02_Physics/
        ├── 03_Mathematics/
        ├── 04_Computer_Science/
        ├── 05_Statistics/
        ├── 06_Quantitative_Biology/
        ├── 07_Quantitative_Finance/
        ├── 08_Economics/
        ├── 09_Electrical_Engineering/
        └── 10_Publications/

Supported Topics (115+)

Physics (17)

physics.gen-ph, physics.atom-ph, physics.chem-ph, physics.bio-ph, physics.comp-ph, physics.data-an, physics.flu-dyn, physics.geo-ph, physics.optics, physics.plasma-ph, physics.space-ph, physics.med-ph, physics.hist-ph, physics.ed-ph, physics.soc-ph, physics.ins-det, quant-ph

Mathematics (28)

math.AG, math.AT, math.CA, math.CO, math.CT, math.DG, math.DS, math.FA, math.GM, math.GN, math.GR, math.HO, math.IT, math.KT, math.LO, math.MG, math.MP, math.NA, math.NT, math.OA, math.OC, math.PR, math.QA, math.RA, math.RT, math.SG, math.SP, math.ST

Computer Science (40)

cs.AI, cs.AR, cs.CC, cs.CE, cs.CG, cs.CL, cs.CR, cs.CV, cs.CY, cs.DB, cs.DC, cs.DL, cs.DM, cs.DS, cs.ET, cs.FL, cs.GL, cs.GR, cs.GT, cs.HC, cs.IR, cs.IT, cs.LG, cs.LO, cs.MA, cs.MM, cs.MS, cs.NA, cs.NE, cs.NI, cs.OH, cs.OS, cs.PF, cs.PL, cs.RO, cs.SC, cs.SD, cs.SE, cs.SI, cs.SY

Statistics (6)

stat.AP, stat.CO, stat.ME, stat.ML, stat.OT, stat.TH

Quantitative Biology (9)

q-bio.BM, q-bio.CB, q-bio.GN, q-bio.MN, q-bio.NC, q-bio.OT, q-bio.PE, q-bio.QM, q-bio.TO

Quantitative Finance (9)

q-fin.CP, q-fin.EC, q-fin.GN, q-fin.MF, q-fin.PM, q-fin.PR, q-fin.RM, q-fin.ST, q-fin.TR

Economics (2)

econ.GN, econ.TH

Electrical Engineering (4)

eess.AS, eess.IV, eess.SP, eess.SY


Environment Variables

VariableDefaultDescription
AIN_WORKSPACE~/.ain/Workspace root directory
FIREBASE_CRED_PATH~/.ain/firebase-adminsdk.jsonFirebase credentials path
CRAWL_START_TIME09:00Daemon start time
CRAWL_END_TIME21:00Daemon end time

License

MIT License - see LICENSE


Author

That-Tech-Geek / Sambit Mishra


Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Support

If you find this project useful, please consider giving it a star on GitHub.

Downloads & popularity

Awaiting observations

No metric observations yet

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

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.4.028 Jul 202617

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:32 UTC

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

Record identity

package:e30d996111e741e5b96ffbb77bb18517acd161eef433ca4af21c0d6463a94adb