socr / pyproject.toml
scfive's picture
Upload 203 files
d6ea71e verified
[tool.poetry]
name = "socceraction"
version = "1.5.3"
description = "Convert soccer event stream data to the SPADL format and value on-the-ball player actions"
authors = ["Tom Decroos <[email protected]>", "Pieter Robberechts <[email protected]>"]
license = "MIT"
readme = 'README.md'
homepage = "https://github.com/ML-KULeuven/socceraction"
repository = "https://github.com/ML-KULeuven/socceraction"
documentation = "https://socceraction.readthedocs.io"
keywords = ["soccer", "football", "sports analytics"]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent"
]
[tool.poetry.urls]
Changelog = "https://github.com/ML-KULeuven/socceraction/releases"
[tool.poetry.dependencies]
python = ">=3.9,<3.13"
pandas = "^2.1.1"
numpy = "^1.26.0"
scikit-learn = "^1.3.1"
lxml = "^4.9.3"
pandera = "^0.17.2"
statsbombpy = {version = "^1.11.0", optional = true}
xgboost = {version = "^2.0.0", optional = true}
tables = {version="^3.8.0", optional = true}
kloppy = {version=">=3.15.0", optional = true}
[tool.poetry.extras]
statsbomb = ["statsbombpy"]
xgboost = ["xgboost"]
hdf = ["tables"]
kloppy = ["kloppy"]
[tool.poetry.group.test.dependencies]
pytest = "^7.4.2"
pytest-mock = "^3.11.1"
pytest-cov = "^4.1.0"
coverage = {version = "^7.3.1", extras = ["toml"]}
codecov = "^2.1.13"
[tool.poetry.group.dev.dependencies]
pygments = "^2.16.1"
bumpversion = "^0.6.0"
darglint = "^1.8.1"
ruff = "*"
mypy = "*"
pep8-naming = "^0.13.3"
pre-commit = "^3.4.0"
pre-commit-hooks = "^4.3.0"
pyupgrade = "^3.13.0"
[tool.poetry.group.docs.dependencies]
sphinx = "^7.2.6"
furo = "^2023.9.10"
sphinx-autobuild = "^2021.3.14"
sphinx-autodoc-typehints = "^1.24.0"
[tool.pytest.ini_options]
filterwarnings = "ignore::DeprecationWarning:tables.*:"
[tool.coverage.paths]
source = ["socceraction", "*/site-packages"]
[tool.coverage.run]
branch = true
source = ["socceraction"]
relative_files = true
[tool.coverage.report]
show_missing = true
[tool.ruff]
src = ["src", "tests"]
line-length = 99
target-version = 'py38'
[tool.ruff.lint]
select = [
"ANN", # flake8-annotations
"B", # flake8-bugbear
"C", # pylint conventions
"D", # pydocstyle
"E", # pycodestyle errors
"W", # pylint warnings
"F", # pyflakes
"I", # isort
]
ignore = [
# ambiguous variable names (e.g., l -> 1)
"E741",
# missing type annotation for self in method
"ANN101",
# whitespace before ':'
"E203",
# line 79 characters
"E501",
# no explicit stacklevel argument found.
"B028"
]
[tool.ruff.lint.per-file-ignores]
"socceraction/__init__.py"=["D205","D400"]
# "socceraction/xthreat.py"=["DAR000"]
"tests/**"=["D100","D101","D102","D103","S101"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.lint.pydocstyle]
convention = 'numpy'
[tool.ruff.lint.isort]
known-first-party = ["soccerdata", "tests"]
[tool.mypy]
check_untyped_defs = true
disallow_any_generics = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
ignore_missing_imports = true
no_implicit_optional = true
[[tool.mypy.overrides]]
module = ["test.*"]
disallow_untyped_defs = true
[[tool.mypy.overrides]]
module = ["nox.*", "pytest", "pytest_mock", "_pytest.*"]
ignore_missing_imports = true
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"