/ pyproject.toml
pyproject.toml
 1  [project]
 2  name = "aprxc"
 3  dynamic = ["version"]
 4  description = "A command-line tool to estimate the number of distinct lines in a file/stream using Chakraborty/Vinodchandran/Meel’s approximation algorithm."
 5  readme = "README.md"
 6  authors = [{name = "Fabian Neumann", email = "dev@fabianneumann.de"}]
 7  requires-python = ">=3.11"
 8  dependencies = []
 9  classifiers = [
10    "Development Status :: 4 - Beta",
11    "Intended Audience :: Developers",
12    "Intended Audience :: Science/Research",
13    "License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)",
14    "Programming Language :: Python :: 3",
15    "Programming Language :: Python :: 3.11",
16    "Programming Language :: Python :: 3.12",
17    "Topic :: Scientific/Engineering :: Mathematics",
18    "Topic :: Utilities",
19  ]
20  keywords = [
21    "algorithm",
22    "cli",
23    "computer-science",
24    "math",
25  ]
26  
27  [project.scripts]
28  aprxc = "aprxc:run"
29  
30  [project.urls]
31  Codeberg = "https://codeberg.org/fa81/aprxc"
32  GitHub = "https://github.com/hellp/aprxc"
33  
34  [build-system]
35  requires = ["hatchling"]
36  build-backend = "hatchling.build"
37  
38  [tool.hatch.build.targets.sdist]
39  exclude = [
40    "/test-data",
41    "/workspace.code-workspace",
42  ]
43  
44  [tool.hatch.version]
45  path = "aprxc.py"
46  
47  [tool.ruff.lint]
48  select = ["ALL"]
49  ignore = [   # inspired by attrs :)
50    "ANN",     # Mypy is better at this
51    "COM",     # Black takes care of our commas
52    "D",       # We prefer our own docstring style.
53    "E501",    # leave line-length enforcement to Black
54    "PLR0913", # yes, many arguments, but most have defaults
55    "SLF001",  # private members are accessed by friendly functions
56  ]