Metadata-Version: 2.4
Name: farnalabs-modulo
Version: 0.3.213
Summary: Governed orchestration for your agentic SDLC
Project-URL: Homepage, https://modulo.run
Project-URL: Source, https://github.com/farnalabs/modulo
Project-URL: BugTracker, https://github.com/farnalabs/modulo/issues
Author-email: Duncan Tait <duncan@farnalabs.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: alembic>=1.13.0
Requires-Dist: asyncmy>=0.2.9
Requires-Dist: asyncpg>=0.29.0
Requires-Dist: authlib>=1.3.0
Requires-Dist: click>=8.1.0
Requires-Dist: croniter>=6.2.2
Requires-Dist: cryptography>=42.0.0
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: e2b>=0.15.0
Requires-Dist: fastapi>=0.111.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: jinja2>=3.1.4
Requires-Dist: jmespath>=1.0.1
Requires-Dist: jsonschema<4.26.dev0,>=4.25.1
Requires-Dist: langchain-anthropic>=1.4.0
Requires-Dist: langchain-aws>=0.2.0
Requires-Dist: langchain-cohere>=0.3.0
Requires-Dist: langchain-core>=1.2.31
Requires-Dist: langchain-google-genai>=4.2.6
Requires-Dist: langchain-google-vertexai>=2.0.0
Requires-Dist: langchain-ibm>=1.1.0
Requires-Dist: langchain-mistralai>=0.2.0
Requires-Dist: langchain-openai>=1.1.14
Requires-Dist: langgraph-checkpoint-postgres>=3.0.0
Requires-Dist: langgraph>=1.0.10
Requires-Dist: mcp>=1.28.1
Requires-Dist: opentelemetry-exporter-otlp>=1.24.0
Requires-Dist: opentelemetry-sdk>=1.24.0
Requires-Dist: passlib[bcrypt]>=1.7.4
Requires-Dist: psycopg-binary>=3.3.4
Requires-Dist: pydantic-settings>=2.14.2
Requires-Dist: python-jose[cryptography]>=3.3.0
Requires-Dist: python-json-logger>=2.0.0
Requires-Dist: python-multipart>=0.0.32
Requires-Dist: python3-saml>=1.16.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: redis>=6.4.0
Requires-Dist: sqlalchemy[asyncio]>=2.0.30
Requires-Dist: tqdm>=4.66.0
Requires-Dist: uvicorn[standard]>=0.49.0
Requires-Dist: websockets>=12.0
Provides-Extra: dev
Requires-Dist: aiodocker>=0.21.0; extra == 'dev'
Requires-Dist: bandit>=1.7.8; extra == 'dev'
Requires-Dist: factory-boy>=3.3.0; extra == 'dev'
Requires-Dist: httpx>=0.27.0; extra == 'dev'
Requires-Dist: hypothesis>=6.100.0; extra == 'dev'
Requires-Dist: import-linter>=2.1; extra == 'dev'
Requires-Dist: locust>=2.32.0; extra == 'dev'
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest-bdd>=7.2.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-playwright>=0.8.0; extra == 'dev'
Requires-Dist: pytest-recording>=0.13.0; extra == 'dev'
Requires-Dist: pytest-xdist>=3.5.0; extra == 'dev'
Requires-Dist: pytest>=8.2.0; extra == 'dev'
Requires-Dist: requests>=2.31.0; extra == 'dev'
Requires-Dist: respx>=0.21.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Requires-Dist: schemathesis>=3.30.0; extra == 'dev'
Requires-Dist: semgrep>=1.70.0; extra == 'dev'
Requires-Dist: testcontainers[postgres]>=4.5.0; extra == 'dev'
Requires-Dist: types-passlib>=1.7.7; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.12.20260518; extra == 'dev'
Requires-Dist: websocket-client>=1.8.0; extra == 'dev'
Provides-Extra: docker
Requires-Dist: aiodocker>=0.21.0; extra == 'docker'
Provides-Extra: redis
Requires-Dist: celery[redis]>=5.4.0; extra == 'redis'
Requires-Dist: redis>=5.0.0; extra == 'redis'
