-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
97 lines (82 loc) · 2.46 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "irspy"
requires-python = ">=3.8"
description = "Python library to parse `IRS 990 Forms`"
authors = [{ name = "Nodar Okroshiashvili" }]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
keywords = [
"irs",
"irs990",
"irspython",
"irs form 990",
"990 data",
"irs form 990 data",
"irspy",
]
readme = "README.md"
license = { text = "MIT License" }
dynamic = ["version"]
dependencies = ["selectolax>=0.3.21,<0.4"]
[project.urls]
GitHub = "https://github.com/Okroshiashvili/irspy"
Documentation = "https://github.com/Okroshiashvili/irspy#readme"
Issues = "https://github.com/Okroshiashvili/irspy/issues"
[tool.hatch.version]
path = "src/irspy/__about__.py"
[tool.hatch.build.targets.wheel]
packages = ["src/irspy"]
[tool.check-wheel-contents]
toplevel = ["irspy"]
### PIXI ###
[tool.pixi.project]
channels = ["https://fast.prefix.dev/conda-forge"]
platforms = ["osx-arm64", "linux-64", "win-64", "osx-64"]
[tool.pixi.environments]
default = { solve-group = "default" }
[tool.pixi.pypi-dependencies]
irspy = { path = ".", editable = true }
### Tasks ###
[tool.pixi.tasks]
ruff_sort = "ruff check src/irspy/ tests/ --fix --select I"
ruff_lint = "ruff check src/irspy/ tests/ --fix"
ruff_fmt = "ruff format src/irspy/ tests/"
pylint_lint = "pylint src/irspy/ tests/"
type_check = "mypy src/irspy/ tests/"
coverage_test = "coverage run -m pytest tests/"
coverage_report = "coverage html -d coverages"
# Main Tasks
lint = { depends_on = [
"ruff_sort",
"ruff_lint",
"ruff_fmt",
"pylint_lint",
"type_check",
] }
test = { depends_on = ["coverage_test", "coverage_report"] }
build = "hatch clean && hatch build"
publish = "hatch publish "
### Pixi Dependencies ###
[tool.pixi.dependencies]
python = ">=3.8,<4"
pip = ">=24.2,<25"
ruff = ">=0.6.4,<0.7"
pylint = ">=3.2.7,<4"
mypy = ">=1.11.2,<2"
pytest = ">=8.3.2,<9"
check-wheel-contents = ">=0.6.0,<0.7"
coverage = ">=7.6.1,<8"