[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "roleforge-backend" version = "0.1.0" description = "Ansible orchestration backend inspired by Tower" readme = "README.md" requires-python = ">=3.12" dependencies = [ # Ephemeral runner (`app.runner`) runs Molecule with Docker; pip gives a current ansible-core (callback result_format yaml needs >=2.15). "ansible-core>=2.19.0,<3", "molecule>=26.0.0", "molecule-plugins[docker]>=23.0.0", "fastapi>=0.115.0", "uvicorn[standard]>=0.30.0", "asyncpg>=0.30.0", "pydantic-settings>=2.4.0", "python-jose[cryptography]>=3.3.0", "passlib[bcrypt]>=1.7.4", "python-multipart>=0.0.9", "jinja2>=3.1.4", "httpx>=0.27.0", "email-validator>=2.2.0", "celery>=5.4.0", "redis>=5.0.8", "docker>=7.1.0", "cryptography>=43.0.0", "websockets>=13.1", "pyyaml>=6.0.2", "yamllint>=1.35.0", "kubernetes>=30.1.0", "pillow>=11.0.0", ] [tool.uv] dev-dependencies = [ "pytest>=8.3.2", "pytest-asyncio>=0.24.0", "ruff>=0.6.3", ] [tool.ruff] line-length = 100 target-version = "py312" [tool.pytest.ini_options] asyncio_mode = "auto" [tool.setuptools.packages.find] include = ["app*"]