[project] name = "spoolman" version = "0.15.0" description = "A web service that keeps track of 3D printing spools." authors = [ { name = "Donkie", email = "daniel.cf.hultgren@gmail.com" }, ] dependencies = [ "uvicorn~=0.22.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.99", "SQLAlchemy[aiomysql,aiosqlite,asyncio,postgresql_asyncpg]~=2.0", "pydantic~=1.10", "platformdirs~=3.8", "alembic~=1.11", "scheduler~=0.8", "sqlalchemy-cockroachdb~=2.0", "asyncpg~=0.27", "psycopg2-binary~=2.9", "setuptools~=68.0", "WebSockets>=11.0.3", ] requires-python = ">=3.9" [project.license] text = "MIT" [tool.pdm.dev-dependencies] dev = [ "ruff==0.0.286", "black~=23.3", "pre-commit~=3.3", "pytest~=7.3", "pytest-asyncio~=0.21", "httpx~=0.24", ] [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] select = [ "ALL", ] ignore = [ "ANN101", "A003", "D101", "D104", "D203", "D213", "D406", "D407", "FA100", "FIX002", "S104", "TRY201", "TRY003", "EM101", "EM102", "DTZ003", "PLR0913", "SIM108", "TD002", "TD003", ] line-length = 120 target-version = "py39" [tool.ruff.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"