206 lines
4.2 KiB
TOML
206 lines
4.2 KiB
TOML
[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 = [
|
|
"python-socketio[client]",
|
|
"anyconfig",
|
|
"copier",
|
|
"engorgio",
|
|
"fastapi",
|
|
"httpx",
|
|
"pydantic[dotenv]",
|
|
"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
|
|
]
|