-
Notifications
You must be signed in to change notification settings - Fork 52
/
pyproject.toml
116 lines (101 loc) · 3.2 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[project]
# -- Metadata --------------------------------------------------------------------------------------
name = "ScraperFC"
version = "3.1.1"
description = "Package for scraping soccer data from a variety of sources."
readme = "README.md"
license = {file = "LICENSE"}
requires-python = ">= 3.9"
keywords = [
"webscraping", "scraping", "soccer", "football", "soccer data", "football data",
"English Premier League", "La Liga", "Bundesliga", "Serie A", "Ligue 1", "Champions League",
"World Cup"
]
authors = [
{email = "[email protected]"},
{name = "Owen Seymour"}
]
classifiers = [
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent"
]
dependencies = [
"botasaurus", "bs4", "cloudscraper", "datetime", "lxml", "numpy", "pandas", "requests",
"selenium", "tqdm"
]
[project.optional-dependencies]
test = ["pytest", "pytest-cov", "pytest-instafail"]
docs = ["sphinx", "furo"]
build = ["build", "setuptools", "wheel"]
publish = ["publish",]
typecheck = ["mypy",]
lint_format = ["ruff",]
[project.urls]
repository = "https://github.com/oseymour/ScraperFC/"
documentation = "https://scraperfc.readthedocs.io/en/latest/"
# -- Build system ----------------------------------------------------------------------------------
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
# -- Pytest and pytest coverage --------------------------------------------------------------------
[tool.pytest]
norecursedirs = ["docs", "*.egg-info", ".git", ".tox"]
[tool.coverage.run]
branch = true
omit = ["*oddsportal.py"]
[tool.coverage.report]
show_missing = true
# -- Linting ---------------------------------------------------------------------------------------
[tool.ruff]
exclude = ["*oddsportal.py"]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
# -- Typechecking ----------------------------------------------------------------------------------
[tool.mypy]
exclude = ["/oddsportal\\.py$"]
ignore_missing_imports = true
disallow_untyped_defs = true
# -- Tox environments ------------------------------------------------------------------------------
[tool.tox]
legacy_tox_ini = """
[tox]
isolated_build = true
envlist = py39, py312
[testenv]
deps =
pytest
pytest-cov
pytest-instafail
commands =
python -m pip list
pytest ./test/ --cov=ScraperFC -s --durations=20 --instafail
[testenv:docs]
deps =
furo
sphinx
commands = sphinx-build -n -W --keep-going -b html ./docs/source/ ./docs/build/
[testenv:build]
skip_install = true
deps =
build
commands = python -m build
[testenv:lint]
skip_install = true
deps = ruff
commands = ruff check ./src/ScraperFC
[testenv:typecheck]
skip_install = true
deps =
mypy
pandas-stubs
types-beautifulsoup4
types-openpyxl
types-python-dateutil
types-requests
types-tqdm
commands = python -m mypy ./src/
"""