[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "learn-sql-model" description = 'learning sql model' readme = "README.md" requires-python = ">=3.7" license = "MIT" keywords = [] authors = [ { name = "Waylon S. Walker", email = "waylon@waylonwalker.com" }, ] classifiers = [ "Development Status :: 4 - Beta", "Programming Language :: Python", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", ] dependencies = [ "black", "python-socketio[client]", "anyconfig", "copier", "engorgio", "fastapi", "httpx", "pydantic<2.0.0", "pyflyby", "pyinstaller", "rich", "sqlmodel", "textual", "toml", "trogon", "typer", ] dynamic = ["version"] [project.optional-dependencies] game = [ "noise", "pygame", "polyfactory", "faker", ] api = [ "fastapi-socketio", "passlib[bcrypt]", "psycopg2", "psycopg2-binary", "python-jose[cryptography]", "python-multipart", "uvicorn[standard]", ] manage = [ "alembic", "polyfactory", "faker", ] all = [ "learn_sql_model[game, api, manage]", ] [project.urls] Documentation = "https://github.com/waylonwalker/learn-sql-model#readme" Issues = "https://github.com/waylonwalker/learn-sql-model/issues" Source = "https://github.com/waylonwalker/learn-sql-model" Changelog = "https://github.com/waylonwalker/learn-sql-model" [project.scripts] learn-sql-model = "learn_sql_model.cli.app:app" lsm = "learn_sql_model.cli.app:app" [tool.hatch.version] path = "learn_sql_model/__about__.py" [tool.hatch.envs.default] dependencies = [ "black", "ipython", "coverage[toml]", "coverage-rich", "markata", "mypy", "pyflyby", "pytest", "pytest-mock", "ruff", "alembic", ] [tool.hatch.envs.default.scripts] test = "coverage run -m pytest" cov = "coverage-rich report" cov-erase = "coverage erase" lint = "ruff learn_sql_model" format = "black learn_sql_model" format-check = "black --check learn_sql_model" fix_ruff = "ruff --fix learn_sql_model" fix = ['format', 'fix_ruff'] build = "pyinstaller --onefile --name learn_sql_model --clean --noconsole learn_sql_model/game/game.py" build-docs = "markata build" lint-test = [ "lint", "format-check", "cov-erase", "test", "cov", ] test-lint = "lint-test" api = "learn-sql-model api run" [[tool.hatch.envs.test.matrix]] python = ["37", "38", "39", "310", "311"] [tool.coverage.run] source=["learn_sql_model"] branch = true parallel = true omit = [ "learn_sql_model/__about__.py", ] [tool.coverage.report] exclude_lines = [ "no cov", "if __name__ == .__main__.:", "if TYPE_CHECKING:", ] [tool.pytest.ini_options] addopts = "-ra -q" testpaths = ["tests"] [tool.coverage_rich] fail-under=80 [tool.ruff] ignore = ["E501"] target-version = "py37" [tool.ruff.per-file-ignores] 'tests/**/*.py' = ['S101'] select = [ "F", # Pyflakes "E", # Error "W", # Warning "C90", # mccabe "I", # isort "N", # pep8-naming # "D", # pydocstyle "UP", # pyupgrade "YTT", # flake8-2020 "ANN", # flake8-annotations "S", # flake8-bandit "BLE", # flake8-blind-except "FBT", # flake8-boolean-trap "B", # flake8-bugbear "A", # flake8-builtins "COM", # flake8-commas "C4", # flake8-comprehensions "DTZ", # flake8-datetimez "T10", # flake8-debugger "DJ", # flake8-django "EM", # flake8-errmsg "EXE", # flake8-executable "ISC", # flake8-implicit-str-concat "ICN", # flake8-import-conventions "G", # flake8-logging-format "INP", # flake8-no-pep420 "PIE", # flake8-pie "T20", # flake8-print "PYI", # flake8-pyi "PT", # flake8-pytest-style "Q", # flake8-quotes "RSE", # flake8-raise "RET", # flake8-return "SLF", # flake8-self "SIM", # flake8-simplify "TID", # flake8-tidy-imports "TCH", # flake8-type-checking # "INT", # flake8-gettext "ARG", # flake8-unused-arguments "PTH", # flake8-use-pathlib "ERA", # eradicate "PD", # pandas-vet "PGH", # pygrep-hooks "PL", # Pylint "PLC", # Convention "PLE", # Error "PLR", # Refactor "PLW", # Warning "TRY", # tryceratops "NPY", # NumPy-specific rules "RUF", # Ruff-specific rules ]