Spaces:
Sleeping
Sleeping
| [project] | |
| name = "streamlit-nba" | |
| version = "1.1.0" | |
| description = "NBA team builder and game prediction Streamlit application" | |
| license = {text = "Apache-2.0"} | |
| requires-python = ">=3.11" | |
| dependencies = [ | |
| "streamlit>=1.28.0", | |
| "tensorflow>=2.15.0", | |
| "numpy>=1.24.0", | |
| "pandas>=2.0.0", | |
| "pydantic>=2.5.0", | |
| ] | |
| [project.optional-dependencies] | |
| dev = [ | |
| "pytest>=7.4.0", | |
| "pytest-cov>=4.1.0", | |
| "mypy>=1.7.0", | |
| "ruff>=0.1.6", | |
| "pandas-stubs>=2.0.0", | |
| ] | |
| [tool.mypy] | |
| python_version = "3.11" | |
| strict = true | |
| warn_return_any = true | |
| warn_unused_configs = true | |
| disallow_untyped_defs = true | |
| disallow_incomplete_defs = true | |
| check_untyped_defs = true | |
| disallow_untyped_decorators = true | |
| no_implicit_optional = true | |
| warn_redundant_casts = true | |
| warn_unused_ignores = true | |
| warn_no_return = true | |
| warn_unreachable = true | |
| # Third-party library ignores | |
| [[tool.mypy.overrides]] | |
| module = [ | |
| "streamlit.*", | |
| "tensorflow.*", | |
| "keras.*", | |
| "sklearn.*", | |
| "scikeras.*", | |
| "pydantic.*", | |
| "pydantic_core.*", | |
| "numpy.*", | |
| ] | |
| ignore_missing_imports = true | |
| [tool.ruff] | |
| target-version = "py311" | |
| line-length = 88 | |
| [tool.ruff.lint] | |
| select = [ | |
| "E", # pycodestyle errors | |
| "W", # pycodestyle warnings | |
| "F", # pyflakes | |
| "I", # isort | |
| "B", # flake8-bugbear | |
| "C4", # flake8-comprehensions | |
| "UP", # pyupgrade | |
| "ARG", # flake8-unused-arguments | |
| "SIM", # flake8-simplify | |
| "TCH", # flake8-type-checking | |
| "PTH", # flake8-use-pathlib | |
| "PL", # pylint | |
| "RUF", # ruff-specific | |
| "S", # flake8-bandit (security) | |
| ] | |
| ignore = [ | |
| "S101", # assert used (ok in tests) | |
| "PLR0913", # too many arguments | |
| "S608", # SQL injection false positive (using parameterized queries) | |
| "S110", # try-except-pass ok for connection cleanup | |
| "SIM105", # prefer explicit try-except over contextlib.suppress | |
| "PLR2004", # magic numbers ok in game logic | |
| "S311", # standard pseudo-random generators ok for game logic | |
| "E501", # line length (handled by formatter or ignored) | |
| ] | |
| [tool.ruff.lint.per-file-ignores] | |
| "tests/*" = ["S101", "ARG001", "ARG002", "PLR2004", "PLC0415"] | |
| "debug_streamlit.py" = ["E402"] | |
| [tool.pytest.ini_options] | |
| testpaths = ["tests"] | |
| python_files = ["test_*.py"] | |
| python_functions = ["test_*"] | |
| addopts = [ | |
| "-v", | |
| "--tb=short", | |
| "--strict-markers", | |
| ] | |
| [tool.coverage.run] | |
| source = ["src"] | |
| branch = true | |
| omit = [ | |
| "tests/*", | |
| "scripts/*", | |
| ] | |
| [tool.coverage.report] | |
| exclude_lines = [ | |
| "pragma: no cover", | |
| "if TYPE_CHECKING:", | |
| "raise NotImplementedError", | |
| ] | |
| fail_under = 50 | |