[build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" [project] name = "pogo-scaled-estimators" dynamic = ["version"] dependencies = [ "requests", "requests-cache", "rich", ] requires-python = ">=3.12" authors = [ { name = "Zoé Cassiopée Gauthier", email = "zoe.gauthier@blorp.dev" }, ] description = "Calculates scaled difficulty estimators from Pokebattler simulations." readme = "README.md" license = "MIT" keywords = [] classifiers = [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", ] [project.urls] Source = "https://git.blorp.dev/zo/pogo-scaled-estimators" [project.scripts] ase-cli = "pogo_scaled_estimators:main_cli" [tool.hatch.version] source = "vcs" [tool.hatch.build.hooks.vcs] version-file = "src/pogo_scaled_estimators/_version.py" [tool.hatch.envs.default] dependencies = [ "coverage[toml]", "pyright", "pytest", "requests-mock", "ruff", ] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" test-cov = "coverage run -m pytest {args:tests}" cov-report = [ "- coverage combine", "coverage report", ] cov = [ "test-cov", "cov-report", ] format-check = "ruff format --check --diff {args:.}" format-fix = "ruff format {args:.}" lint-check = "ruff check {args:.}" lint-fix = "ruff check --fix {args:.}" types-check = "pyright" [tool.coverage.run] branch = true source_pkgs = ["pogo_scaled_estimators", "tests"] [tool.coverage.paths] pogo_scaled_estimators = ["src/pogo_scaled_estimators", "*/pogo_scaled_estimators/src/pogo_scaled_estimators"] tests = ["tests", "*/pogo_scaled_estimators/tests"] [tool.coverage.report] exclude_lines = [ "no cov", "if __name__ == .__main__.:", "if TYPE_CHECKING:", ] [tool.ruff] target-version = "py312" line-length = 120 exclude = [ "src/pogo_scaled_estimators/_version.py", ] [tool.ruff.lint] select = [ # Note: these are ordered to match https://beta.ruff.rs/docs/rules/ "F", # PyFlakes "E", # pycodestyle errors "W", # pycodestyle warnings "I", # isort "N", # pep8-naming "UP", # pyupgrade "ASYNC", # flake8-async "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 "EM", # flake8-errmsg "ISC", # flake8-implicit-str-concat "PIE", # flake8-pie "PT", # flake8-pytest-style "Q", # flake8-quotes "RET", # flake8-return "SLOT", # flake8-slots "SIM", # flake8-simplify "TID", # flake8-tidy-imports "PTH", # flake8-pathlib "TD", # flake8-todo "PL", # PyLint "TRY", # tryceratops "NPY", # NumPy "RUF", # Ruff ] ignore = [ #----- Rules recommended by https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules "W191", # tab-identation "E111", # indentation-with-invalid-multiple "E114", # indentation-with-invalid-multiple-comment "E117", # over-indented "E501", # line-too-long "D206", # indent-with-spaces "D300", # triple-single-quotes "Q000", # bad-quotes-inline-string "Q001", # bad-quotes-multiline-string "Q002", # bad-quotes-docstring "Q003", # avoidable-escaped-quote "COM812", # missing-trailing-comma "COM819", # prohibited-trailing-comma "ISC001", # single-line-implicit-string-concatenation "ISC002", # multi-line-implicit-string-concatenation ] [tool.pyright] include = ["src/pogo_scaled_estimators", "tests"] reportMissingImports = true reportMissingTypeStubs = false pythonVersion = "3.12" pythonPlatform = "Linux" typeCheckingMode = "strict" reportMissingParameterType = "none" reportUnknownArgumentType = "none" reportUnknownLambdaType = "none" reportUnknownMemberType = "none" reportUnknownParameterType = "none" reportUnknownVariableType = "none" reportUnusedFunction = "none"