Metadata-Version: 2.4
Name: nymeriaos
Version: 0.2.0b5
Summary: Personal AI assistant platform built on LangGraph, FastAPI, and local-first persistence.
Author-email: Manning Askew <160990142+ManningAskew7@users.noreply.github.com>
License-Expression: PolyForm-Noncommercial-1.0.0
Project-URL: Homepage, https://github.com/ManningAskew7/NymeriaOS
Project-URL: Repository, https://github.com/ManningAskew7/NymeriaOS
Project-URL: Documentation, https://github.com/ManningAskew7/NymeriaOS/tree/main/Nymeria/docs
Keywords: ai-assistant,langgraph,fastapi,mcp,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: langchain==1.3.1
Requires-Dist: langchain-core==1.4.0
Requires-Dist: langchain-openai==1.2.1
Requires-Dist: langchain-anthropic==1.4.3
Requires-Dist: langchain-google-genai==4.1.2
Requires-Dist: langchain-aws==1.4.6
Requires-Dist: langchain-ollama==1.1.0
Requires-Dist: langchain-classic==1.0.7
Requires-Dist: langchain-community==0.4.2
Requires-Dist: langchain-protocol==0.0.15
Requires-Dist: langchain-text-splitters==1.1.2
Requires-Dist: langgraph==1.2.0
Requires-Dist: langgraph-prebuilt==1.1.0
Requires-Dist: langgraph-checkpoint==4.1.1
Requires-Dist: langgraph-sdk==0.3.14
Requires-Dist: langgraph-checkpoint-sqlite==3.1.0
Requires-Dist: anthropic==0.102.0
Requires-Dist: openai==2.37.0
Requires-Dist: aiosqlite<1.0.0,>=0.22.1
Requires-Dist: sqlite-vec<1.0.0,>=0.1.9
Requires-Dist: fastapi<1.0.0,>=0.136.1
Requires-Dist: starlette<2.0.0,>=1.0.0
Requires-Dist: uvicorn[standard]<1.0.0,>=0.32.0
Requires-Dist: sse-starlette>=2.1.0
Requires-Dist: pydantic==2.13.4
Requires-Dist: pydantic-settings==2.14.1
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: httpx<1.0.0,>=0.27.1
Requires-Dist: requests<3.0.0,>=2.34.2
Requires-Dist: urllib3<3.0.0,>=2.2.2
Requires-Dist: python-dateutil<3.0.0,>=2.9.0
Requires-Dist: wikipedia>=1.4.0
Requires-Dist: wolframalpha>=5.0.0
Requires-Dist: PyYAML>=6.0.3
Requires-Dist: python-multipart>=0.0.12
Requires-Dist: rich>=13.9.0
Requires-Dist: markdown-it-py>=3.0.0
Requires-Dist: prompt_toolkit>=3.0.0
Requires-Dist: textual>=0.80.0
Requires-Dist: Jinja2<4.0.0,>=3.1.6
Requires-Dist: Pillow<13.0.0,>=10.4.0
Requires-Dist: qrcode<9.0,>=8.0
Requires-Dist: mcp<2,>=1.2.0
Requires-Dist: cryptography>=42.0.0
Requires-Dist: PyJWT>=2.8.0
Requires-Dist: google-api-python-client>=2.100.0
Requires-Dist: google-auth>=2.23.0
Requires-Dist: google-auth-oauthlib>=1.1.0
Requires-Dist: google-genai>=1.0.0
Requires-Dist: pydub>=0.25.1
Requires-Dist: edge-tts>=7.0.0
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: pypdf>=4.0.0
Requires-Dist: python-docx>=1.1.0
Requires-Dist: feedparser>=6.0.0
Requires-Dist: trafilatura>=1.12.0
Requires-Dist: readability-lxml>=0.8.1
Requires-Dist: lxml>=5.0.0
Requires-Dist: markdownify>=0.13.0
Requires-Dist: ddgs<10.0.0,>=9.14.0
Provides-Extra: postgres
Requires-Dist: langgraph-checkpoint-postgres==3.1.0; extra == "postgres"
Requires-Dist: psycopg[binary]<4.0.0,>=3.3.4; extra == "postgres"
Requires-Dist: psycopg-pool<4.0.0,>=3.3.1; extra == "postgres"
Provides-Extra: redis
Requires-Dist: redis>=5.0.0; extra == "redis"
Provides-Extra: voice
Requires-Dist: pydub>=0.25.1; extra == "voice"
Requires-Dist: edge-tts>=7.0.0; extra == "voice"
Provides-Extra: voice-local
Requires-Dist: kokoro-onnx>=0.5.0; extra == "voice-local"
Requires-Dist: faster-whisper>=1.2.0; extra == "voice-local"
Provides-Extra: browser
Requires-Dist: playwright; extra == "browser"
Requires-Dist: beautifulsoup4; extra == "browser"
Provides-Extra: firebase
Requires-Dist: firebase-admin>=6.0.0; extra == "firebase"
Provides-Extra: local-rag
Requires-Dist: sentence-transformers>=3.0.0; extra == "local-rag"
Provides-Extra: discord
Requires-Dist: discord.py>=2.3.0; extra == "discord"
Provides-Extra: telegram
Requires-Dist: python-telegram-bot[rate-limiter]>=22.0; extra == "telegram"
Provides-Extra: slack
Requires-Dist: slack-bolt>=1.22.0; extra == "slack"
Requires-Dist: slack-sdk>=3.35.0; extra == "slack"
Provides-Extra: twitch
Requires-Dist: twitchio<4,>=3.3.2; extra == "twitch"
Provides-Extra: bots
Requires-Dist: discord.py>=2.3.0; extra == "bots"
Requires-Dist: python-telegram-bot[rate-limiter]>=22.0; extra == "bots"
Requires-Dist: slack-bolt>=1.22.0; extra == "bots"
Requires-Dist: slack-sdk>=3.35.0; extra == "bots"
Requires-Dist: twitchio<4,>=3.3.2; extra == "bots"
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.26.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.3.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
Requires-Dist: ruff>=0.15.13; extra == "dev"
Requires-Dist: pyrefly>=1.0.0; extra == "dev"
Provides-Extra: all
Requires-Dist: langgraph-checkpoint-postgres==3.1.0; extra == "all"
Requires-Dist: psycopg[binary]<4.0.0,>=3.3.4; extra == "all"
Requires-Dist: psycopg-pool<4.0.0,>=3.3.1; extra == "all"
Requires-Dist: redis>=5.0.0; extra == "all"
Requires-Dist: pydub>=0.25.1; extra == "all"
Requires-Dist: playwright; extra == "all"
Requires-Dist: beautifulsoup4; extra == "all"
Requires-Dist: firebase-admin>=6.0.0; extra == "all"
Requires-Dist: sentence-transformers>=3.0.0; extra == "all"
Requires-Dist: discord.py>=2.3.0; extra == "all"
Requires-Dist: python-telegram-bot[rate-limiter]>=22.0; extra == "all"
Requires-Dist: slack-bolt>=1.22.0; extra == "all"
Requires-Dist: slack-sdk>=3.35.0; extra == "all"
Requires-Dist: twitchio<4,>=3.3.2; extra == "all"
Requires-Dist: pytest>=8.0.0; extra == "all"
Requires-Dist: pytest-cov>=7.0.0; extra == "all"
Requires-Dist: pytest-asyncio>=0.26.0; extra == "all"
Requires-Dist: pytest-timeout>=2.3.0; extra == "all"
Requires-Dist: pytest-xdist>=3.5.0; extra == "all"
Requires-Dist: ruff>=0.15.13; extra == "all"
Requires-Dist: pyrefly>=1.0.0; extra == "all"

# NymeriaOS Backend

NymeriaOS is a personal AI assistant backend built on LangGraph, FastAPI, and
local-first persistence.

See [docs/getting-started/architecture.md](docs/getting-started/architecture.md)
for the architecture overview and
[docs/getting-started/QUICKSTART.md](docs/getting-started/QUICKSTART.md)
for local setup.

## Install

Two channels, both giving you the `nymeria` command:

```bash
uv tool install nymeriaos
# update later: uv tool upgrade nymeriaos
```

```bash
git clone https://github.com/ManningAskew7/NymeriaOS.git ~/NymeriaOS
uv tool install --editable ~/NymeriaOS/Nymeria
# update later: git -C ~/NymeriaOS pull --ff-only
```

Either Docker shape builds its images from the source checkout; the beta
publishes no container images.
