Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

lumis

An AI agent framework for building LLM-powered applications with multi-provider LLM support, graph-based workflows, vector storage, and NLP pipelines.

Features

  • Multi-provider LLMs — Unified interface across OpenAI, Gemini, Ollama, and Perplexity with middleware support and automatic token counting
  • Agents — ReAct, research, and graph-based agent architectures with event-driven lifecycle hooks
  • Graph Workflows — Composable, stateful DAG execution with sync and async node support
  • Embeddings — OpenAI and HuggingFace embedding backends
  • Vector Storage — Chroma and FAISS vector database integrations
  • NLP — Named entity recognition, summarization, semantic parsing, and coreference resolution
  • Search & Tools — Web scraping, arXiv, Wikipedia, Yahoo Finance, Google Trends, and Tavily integrations
  • Memory — Pluggable memory backends for stateful agent conversations

Installation

pip install lumis-ai

Optional extras

Some integrations are opt-in to keep the base install lighter:

Extra What it adds Install
spacy NER, fact extraction, coreference resolution pip install lumis-ai[spacy]
search arXiv, Google Trends, Yahoo Finance pip install lumis-ai[search]
django Django ORM memory backend pip install lumis-ai[django]

The spacy extra requires language models. After installing, download them:

python -m spacy download en_core_web_lg
python -m spacy download en_core_web_trf

Development and checks

Install uv, then run:

uv sync --locked
uv run --no-sync pytest -q
uv build
uvx twine check --strict dist/*

CI runs the tests on Python 3.11, 3.12, and 3.13 for pull requests and pushes to main. Provider calls in the tests are mocked; no API keys are required.

Publishing a release

The PyPI distribution is lumis-ai (the Python import is lumis). Publishing is triggered by pushing a version tag such as v0.1.1a8, not by an ordinary commit or push to main.

One-time PyPI setup

In the project's Publishing settings, add or verify a GitHub Trusted Publisher with these values:

Field Value
Owner tareksanger
Repository lumis
Workflow filename publish.yml
Environment Leave blank; this workflow does not set one

Trusted Publishing uses GitHub's identity token, so no PyPI token secret is needed. The values must match the workflow; see the PyPI setup guide.

Each release

  1. Choose an unused version and update project.version in pyproject.toml. Run uv lock to update the local package version in uv.lock.

  2. Run the development checks above. Commit the intended release changes and push them to main. Wait for CI to pass.

  3. Tag that tested commit with v followed by the exact package version. For the prepared 0.1.1a8 release:

    git tag -a v0.1.1a8 -m "Release 0.1.1a8"
    git push origin v0.1.1a8
    
  4. Watch Publish to PyPI in GitHub Actions. It runs tests, checks the tag against the package version, builds and validates the wheel and source archive, then publishes them.

  5. Verify the release on PyPI and install it:

    pip install --upgrade "lumis-ai==0.1.1a8"
    

Alpha versions require an explicit version or pip install --upgrade --pre lumis-ai. Use a new version for every upload; PyPI does not allow replacing release files. If no workflow run appears, check that the tag was pushed. If publishing reports invalid-publisher, check the Trusted Publisher fields against the table above.

License

MIT — see LICENSE for details.

Metadata

Release files for lumis-ai 0.1.1a8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lumis-ai 0.1.1a8
File Size Uploaded
lumis_ai-0.1.1a8.tar.gz 383.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lumis-ai 0.1.1a8
File Interpreter ABI Platform
lumis_ai-0.1.1a8-py3-none-any.whl Python 3 none any Details

Total release size: 507.8 kB

Release files / lumis_ai-0.1.1a8.tar.gz

Download URL lumis_ai-0.1.1a8.tar.gz
Size 383.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0f649f5ff8cbbc7ad803f06d722a3f656aa37b72f1af20de23f5b747a628478c
BLAKE2b-256 checksum
How to use checksums
b283fb7170c48be240d10984749d43adc142cc756d961ea249600448612ee6e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / lumis_ai-0.1.1a8-py3-none-any.whl

Download URL lumis_ai-0.1.1a8-py3-none-any.whl
Size 124.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a85dd526777d210097e55e6978bc2b7a4bd17c0cdd63e29241e471f54e954ad3
BLAKE2b-256 checksum
How to use checksums
5750ba8ddd71468ba974766febac2041c682d7e423ed82ffc25503cc385f78e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page