Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
87 lines (77 loc) · 2.65 KB
/
Copy pathpyproject.toml
File metadata and controls
87 lines (77 loc) · 2.65 KB
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
[build-system]
requires = ["setuptools>=69"]
build-backend = "setuptools.build_meta"
[project]
name = "autstr"
version = "4.0.0"
description = "Library for working with finitely presentable infinite structures"
readme = "README.md"
authors = [
{ name = "Faried Abu Zaid", email = "fariedaz@gmail.com" }
]
license-files = ["LICENSE"]
keywords = ["automatic structures", "automata", "model theory", "first-order logic", "MSO"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: Mathematics",
]
dependencies = [
"numpy>=1.24",
"nltk~=3.7",
"graphviz>=0.21,<0.22",
]
requires-python = ">=3.10,<3.15"
[project.urls]
Repository = "https://github.com/fariedabuzaid/AutStr"
[project.optional-dependencies]
# JAX only accelerates batched word processing (SparseDFA.accepts_batch);
# everything else runs on numpy.
jax = ["jax>=0.4.13"]
# networkx conversion for the graph packages (autstr.graphs)
graphs = ["networkx>=3.0"]
# plotting for the runtime-curve benchmark (benchmarks/runtime_curves.py)
benchmarks = ["matplotlib>=3.5"]
# everything the test suite needs (networkx for the graph classes)
# xdist: the suite is CPU-bound and its tests are independent, so `-n auto`
# is a straight division of wall time (11 min -> 4 min on 16 cores)
test = ["pytest>=7.4", "pytest-xdist>=3.5", "networkx>=3.0"]
# building the documentation: API reference from the docstrings plus the
# showcase notebooks, executed during the build (myst-nb needs a kernel)
docs = ["sphinx>=7.2", "sphinx-book-theme>=1.1", "sphinx-autodoc-typehints>=1.25",
"networkx>=3.0", "matplotlib>=3.7", "pydot>=2.0", "myst-nb>=1.1",
"ipykernel>=6.29"]
[dependency-groups]
dev = [
"pytest~=7.4.0",
"pytest-xdist~=3.5",
"pytest-cov~=4.1.0",
"pytest-mock~=3.10.0",
"pytest-asyncio>=0.22.0",
"networkx>=3.0",
"jupyter>=1.1.1,<2.0.0",
"ipykernel>=6.29.5",
"sphinx-autodoc-typehints>=1.25",
"black~=23.9.1",
"isort~=5.12.0",
"mypy~=1.11.0",
"flake8~=6.1.0",
"pre-commit~=3.2.0",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.setuptools.packages.find]
include = ["autstr*"]
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
style = "semver"
[tool.poetry-dynamic-versioning.substitution]
files = ["autstr/_version.py"]
pattern = '__version__ = ".*"'