[project] name = "spoolman" version = "0.19.3" description = "A web service that keeps track of 3D printing spools." authors = [ { name = "Donkie", email = "daniel.cf.hultgren@gmail.com" }, ] dependencies = [ "uvicorn~=0.29.0", "httptools>=0.5.0; platform_machine != \"armv7l\"", "uvloop!=0.15.0,!=0.15.1,>=0.14.0; platform_machine != \"armv7l\" and sys_platform != \"win32\" and (sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\")", "fastapi~=0.110.0", "SQLAlchemy[aiomysql,aiosqlite,asyncio,postgresql_asyncpg]~=2.0", "pydantic~=2.7.1", "platformdirs~=4.2.2", "alembic~=1.13.1", "scheduler~=0.8.5", "sqlalchemy-cockroachdb~=2.0", "asyncpg~=0.27", "psycopg2-binary~=2.9", "setuptools~=70.0.0", "WebSockets~=12.0", "prometheus-client~=0.20.0", "httpx~=0.27.0", "hishel~=0.0.26", ] requires-python = ">=3.9,<=3.12" [project.license] text = "MIT" [tool.pdm.dev-dependencies] dev = [ "ruff==0.4.4", "black~=24.4.2", "pre-commit~=3.7.1", "pytest~=8.2.1", "pytest-asyncio~=0.23.7", "httpx~=0.27.0", ] [tool.pdm.scripts.docs] call = "spoolman.docs:generate_docs" [tool.pdm.scripts.bump] call = "spoolman.bump:bump" [tool.pdm.scripts.app] cmd = "uvicorn spoolman.main:app" [tool.pdm.scripts.itest] cmd = "python tests_integration/run.py" [tool.ruff] line-length = 120 target-version = "py39" [tool.ruff.lint] select = [ "ALL", ] ignore = [ "ANN101", "A003", "D101", "D104", "D203", "D213", "D406", "D407", "FA100", "FIX002", "S104", "TRY201", "TRY003", "EM101", "EM102", "DTZ003", "PLR0913", "SIM108", "TD002", "TD003", ] [tool.ruff.lint.per-file-ignores] "tests*/*" = [ "ANN201", "S101", "PLR2004", "D103", "TID252", ] "migrations/versions/*" = [ "N999", ] [tool.black] line-length = 120 target-version = [ "py39", ] [build-system] requires = [ "pdm-backend", ] build-backend = "pdm.backend"