tablassert 7.5.2__tar.gz → 8.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tablassert-8.0.1/PKG-INFO +122 -0
- tablassert-8.0.1/README.md +70 -0
- {tablassert-7.5.2 → tablassert-8.0.1}/pyproject.toml +70 -27
- tablassert-8.0.1/rust/Cargo.lock +677 -0
- tablassert-8.0.1/rust/Cargo.toml +51 -0
- tablassert-8.0.1/rust/examples/count_tables.rs +47 -0
- tablassert-8.0.1/rust/src/fullmap.rs +4505 -0
- tablassert-8.0.1/rust/src/json.rs +118 -0
- tablassert-8.0.1/rust/src/lib.rs +83 -0
- tablassert-8.0.1/rust/src/ndjson.rs +254 -0
- tablassert-8.0.1/rust/src/uuid.rs +146 -0
- tablassert-8.0.1/rust/tests/build_golden.rs +641 -0
- tablassert-8.0.1/src/tablassert/__init__.py +30 -0
- tablassert-8.0.1/src/tablassert/_lazy.py +46 -0
- tablassert-8.0.1/src/tablassert/agent.py +2631 -0
- tablassert-8.0.1/src/tablassert/biolink.py +310 -0
- tablassert-8.0.1/src/tablassert/cli.py +692 -0
- tablassert-8.0.1/src/tablassert/coerce.py +362 -0
- tablassert-8.0.1/src/tablassert/enums.py +69 -0
- tablassert-8.0.1/src/tablassert/errors.py +80 -0
- tablassert-8.0.1/src/tablassert/fullmap.py +597 -0
- tablassert-8.0.1/src/tablassert/ingests.py +90 -0
- tablassert-8.0.1/src/tablassert/lib.py +1199 -0
- tablassert-8.0.1/src/tablassert/log.py +29 -0
- tablassert-8.0.1/src/tablassert/models.py +418 -0
- tablassert-8.0.1/src/tablassert/nlp.py +50 -0
- tablassert-8.0.1/src/tablassert/progress.py +266 -0
- tablassert-8.0.1/src/tablassert/qc.py +211 -0
- tablassert-8.0.1/src/tablassert/rig.py +275 -0
- tablassert-8.0.1/src/tablassert/rs.pyi +19 -0
- tablassert-8.0.1/src/tablassert/utils.py +18 -0
- tablassert-7.5.2/.github/workflows/docker.yml +0 -35
- tablassert-7.5.2/.github/workflows/docs.yml +0 -25
- tablassert-7.5.2/.github/workflows/pipy.yml +0 -22
- tablassert-7.5.2/.gitignore +0 -27
- tablassert-7.5.2/.pre-commit-config.yaml +0 -21
- tablassert-7.5.2/AGENTS.md +0 -57
- tablassert-7.5.2/CHANGELOG.md +0 -307
- tablassert-7.5.2/CITATION.cff +0 -34
- tablassert-7.5.2/CONTRIBUTING.md +0 -263
- tablassert-7.5.2/Dockerfile +0 -8
- tablassert-7.5.2/PKG-INFO +0 -149
- tablassert-7.5.2/README.md +0 -93
- tablassert-7.5.2/docs/api/fullmap.md +0 -238
- tablassert-7.5.2/docs/api/lib.md +0 -248
- tablassert-7.5.2/docs/api/qc.md +0 -232
- tablassert-7.5.2/docs/api/utils.md +0 -215
- tablassert-7.5.2/docs/changelog.md +0 -13
- tablassert-7.5.2/docs/cli.md +0 -142
- tablassert-7.5.2/docs/configuration/advanced-example.md +0 -425
- tablassert-7.5.2/docs/configuration/graph.md +0 -186
- tablassert-7.5.2/docs/configuration/table.md +0 -536
- tablassert-7.5.2/docs/datassert.md +0 -106
- tablassert-7.5.2/docs/docker.md +0 -92
- tablassert-7.5.2/docs/examples/tutorial-data.csv +0 -5
- tablassert-7.5.2/docs/examples/tutorial-graph.yaml +0 -9
- tablassert-7.5.2/docs/examples/tutorial-table.yaml +0 -40
- tablassert-7.5.2/docs/examples.md +0 -357
- tablassert-7.5.2/docs/index.md +0 -85
- tablassert-7.5.2/docs/installation.md +0 -230
- tablassert-7.5.2/docs/tutorial.md +0 -192
- tablassert-7.5.2/llms.txt +0 -48
- tablassert-7.5.2/mkdocs.yml +0 -20
- tablassert-7.5.2/src/tablassert/__init__.py +0 -0
- tablassert-7.5.2/src/tablassert/cli.py +0 -165
- tablassert-7.5.2/src/tablassert/downloader.py +0 -243
- tablassert-7.5.2/src/tablassert/enums.py +0 -523
- tablassert-7.5.2/src/tablassert/fullmap.py +0 -237
- tablassert-7.5.2/src/tablassert/ingests.py +0 -50
- tablassert-7.5.2/src/tablassert/lib.py +0 -580
- tablassert-7.5.2/src/tablassert/log.py +0 -24
- tablassert-7.5.2/src/tablassert/models.py +0 -348
- tablassert-7.5.2/src/tablassert/nlp.py +0 -28
- tablassert-7.5.2/src/tablassert/progress.py +0 -133
- tablassert-7.5.2/src/tablassert/qc.py +0 -213
- tablassert-7.5.2/src/tablassert/utils.py +0 -44
- tablassert-7.5.2/tests/__init__.py +0 -0
- tablassert-7.5.2/tests/conftest.py +0 -28
- tablassert-7.5.2/tests/fixtures/invalid_section_missing_source.yaml +0 -15
- tablassert-7.5.2/tests/fixtures/minimal_section.yaml +0 -20
- tablassert-7.5.2/tests/fixtures/minimal_section_with_sections.yaml +0 -41
- tablassert-7.5.2/tests/test_downloader.py +0 -238
- tablassert-7.5.2/tests/test_enums.py +0 -179
- tablassert-7.5.2/tests/test_fullmap.py +0 -59
- tablassert-7.5.2/tests/test_ingests.py +0 -111
- tablassert-7.5.2/tests/test_lib.py +0 -522
- tablassert-7.5.2/tests/test_models.py +0 -282
- tablassert-7.5.2/tests/test_nlp.py +0 -64
- tablassert-7.5.2/tests/test_progress.py +0 -48
- tablassert-7.5.2/tests/test_qc.py +0 -217
- tablassert-7.5.2/tests/test_utils.py +0 -80
- tablassert-7.5.2/uv.lock +0 -2854
- {tablassert-7.5.2 → tablassert-8.0.1}/LICENSE +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tablassert
|
|
3
|
+
Version: 8.0.1
|
|
4
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
5
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
6
|
+
Classifier: Intended Audience :: Science/Research
|
|
7
|
+
Classifier: Intended Audience :: Healthcare Industry
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
10
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
12
|
+
Classifier: Topic :: Database
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
18
|
+
Classifier: Programming Language :: Rust
|
|
19
|
+
Classifier: Framework :: Pydantic
|
|
20
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
21
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
22
|
+
Classifier: Environment :: Console
|
|
23
|
+
Requires-Dist: biolink-model>=4.4.3
|
|
24
|
+
Requires-Dist: loguru>=0.7.3
|
|
25
|
+
Requires-Dist: polars>=1.39.0
|
|
26
|
+
Requires-Dist: rapidfuzz>=3.14.3
|
|
27
|
+
Requires-Dist: pydantic>=2.12.5
|
|
28
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
29
|
+
Requires-Dist: cyclopts>=1.0.0
|
|
30
|
+
Requires-Dist: rich>=13.0.0
|
|
31
|
+
Requires-Dist: fastexcel>=0.20.2
|
|
32
|
+
Requires-Dist: smolagents>=1.26.0 ; extra == 'agent'
|
|
33
|
+
Requires-Dist: dspy>=3.2.1 ; extra == 'agent'
|
|
34
|
+
Requires-Dist: litellm>=1.93.0 ; extra == 'agent'
|
|
35
|
+
Requires-Dist: scikit-learn>=1.8.0 ; extra == 'qc'
|
|
36
|
+
Requires-Dist: sentence-transformers>=5.3.0 ; extra == 'qc'
|
|
37
|
+
Requires-Dist: polars[rtcompat]>=1.40.1 ; extra == 'rt'
|
|
38
|
+
Provides-Extra: agent
|
|
39
|
+
Provides-Extra: qc
|
|
40
|
+
Provides-Extra: rt
|
|
41
|
+
License-File: LICENSE
|
|
42
|
+
Summary: Extract knowledge assertions from tabular data into NCATS Translator-compliant KGX NDJSON — declaratively, with entity resolution and quality control built in.
|
|
43
|
+
Keywords: knowledge graph,bioinformatics,entity resolution,ner,ncats translator,kgx,yaml configuration,table mining,declarative pipeline,data quality control,tablassert
|
|
44
|
+
Author-email: Skye Lane Goetz <sgoetz@isbscience.org>
|
|
45
|
+
License-Expression: Apache-2.0
|
|
46
|
+
Requires-Python: >=3.11
|
|
47
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
48
|
+
Project-URL: Documentation, https://skyeav.github.io/Tablassert/
|
|
49
|
+
Project-URL: Homepage, https://github.com/SkyeAv/Tablassert
|
|
50
|
+
Project-URL: Source, https://github.com/SkyeAv/Tablassert
|
|
51
|
+
|
|
52
|
+
# Tablassert
|
|
53
|
+
|
|
54
|
+
[](https://pypi.org/project/tablassert/)
|
|
55
|
+
[](https://pypi.org/project/tablassert/)
|
|
56
|
+
[](https://github.com/SkyeAv/Tablassert/blob/main/LICENSE)
|
|
57
|
+
[](https://skyeav.github.io/Tablassert/)
|
|
58
|
+
|
|
59
|
+
Extract knowledge assertions from tabular data into NCATS Translator-compliant KGX NDJSON — declaratively, with entity resolution built in and optional quality control.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pip install tablassert
|
|
63
|
+
tablassert build-kg config.yaml
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**[Full Documentation](https://skyeav.github.io/Tablassert/)** — installation guides, tutorials, configuration reference, and API docs.
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
pip install tablassert
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The base install builds knowledge graphs from CSV/TSV/Excel sources. Optional extras (`rt`, `qc`,
|
|
75
|
+
`agent`) add CPU-compatible Polars, the three-stage QC audit, and the autonomous agent — see the
|
|
76
|
+
[Installation guide](https://skyeav.github.io/Tablassert/installation/) for the full matrix. QC is opt-in
|
|
77
|
+
at build time (`build-kg --qc`); see the [CLI Reference](https://skyeav.github.io/Tablassert/cli/) for the
|
|
78
|
+
complete flag reference.
|
|
79
|
+
|
|
80
|
+
## Quick Demo
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
from pathlib import Path
|
|
84
|
+
from tablassert.lib import resolve_many
|
|
85
|
+
|
|
86
|
+
results = resolve_many(col="gene", entities=["TP53", "BRCA1"], fullmap=Path("/path/to/fullmap"), taxon="9606")
|
|
87
|
+
# [{"original_gene": "TP53", "gene": "HGNC:11998", "gene_name": "TP53", ...}, ...]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Point `resolve_many()` at a fullmap database to resolve any iterable of entity strings to CURIEs — no
|
|
91
|
+
LazyFrame setup or NLP preprocessing required. See the
|
|
92
|
+
[Batch Resolution API](https://skyeav.github.io/Tablassert/api/lib/) for the full reference; for
|
|
93
|
+
YAML-configured pipeline builds use `tablassert build-kg config.yaml`.
|
|
94
|
+
|
|
95
|
+
## Key Features
|
|
96
|
+
|
|
97
|
+
Declarative YAML configs, built-in entity resolution, optional three-stage QC, and KGX-compliant NDJSON
|
|
98
|
+
output — with lazy Polars pipelines over an embedded redb resolution database. See the
|
|
99
|
+
[documentation](https://skyeav.github.io/Tablassert/) for the full feature overview and use-case gallery.
|
|
100
|
+
|
|
101
|
+
## Developing
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
uv sync --group dev --extra qc
|
|
105
|
+
uv run maturin develop --manifest-path rust/Cargo.toml
|
|
106
|
+
make check
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
See **[CONTRIBUTING.md](CONTRIBUTING.md)** for the full development loop, quality gates, and pull request guidelines.
|
|
110
|
+
|
|
111
|
+
## License
|
|
112
|
+
|
|
113
|
+
[Apache License 2.0](LICENSE)
|
|
114
|
+
|
|
115
|
+
## Contributors
|
|
116
|
+
|
|
117
|
+
[Skye Lane Goetz](mailto:sgoetz@isbscience.org) — Institute for Systems Biology
|
|
118
|
+
|
|
119
|
+
[Gwênlyn Glusman](mailto:gglusman@isbscience.org) — Institute for Systems Biology
|
|
120
|
+
|
|
121
|
+
Jared C. Roach — Institute for Systems Biology
|
|
122
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Tablassert
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/tablassert/)
|
|
4
|
+
[](https://pypi.org/project/tablassert/)
|
|
5
|
+
[](https://github.com/SkyeAv/Tablassert/blob/main/LICENSE)
|
|
6
|
+
[](https://skyeav.github.io/Tablassert/)
|
|
7
|
+
|
|
8
|
+
Extract knowledge assertions from tabular data into NCATS Translator-compliant KGX NDJSON — declaratively, with entity resolution built in and optional quality control.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install tablassert
|
|
12
|
+
tablassert build-kg config.yaml
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**[Full Documentation](https://skyeav.github.io/Tablassert/)** — installation guides, tutorials, configuration reference, and API docs.
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pip install tablassert
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The base install builds knowledge graphs from CSV/TSV/Excel sources. Optional extras (`rt`, `qc`,
|
|
24
|
+
`agent`) add CPU-compatible Polars, the three-stage QC audit, and the autonomous agent — see the
|
|
25
|
+
[Installation guide](https://skyeav.github.io/Tablassert/installation/) for the full matrix. QC is opt-in
|
|
26
|
+
at build time (`build-kg --qc`); see the [CLI Reference](https://skyeav.github.io/Tablassert/cli/) for the
|
|
27
|
+
complete flag reference.
|
|
28
|
+
|
|
29
|
+
## Quick Demo
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from pathlib import Path
|
|
33
|
+
from tablassert.lib import resolve_many
|
|
34
|
+
|
|
35
|
+
results = resolve_many(col="gene", entities=["TP53", "BRCA1"], fullmap=Path("/path/to/fullmap"), taxon="9606")
|
|
36
|
+
# [{"original_gene": "TP53", "gene": "HGNC:11998", "gene_name": "TP53", ...}, ...]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Point `resolve_many()` at a fullmap database to resolve any iterable of entity strings to CURIEs — no
|
|
40
|
+
LazyFrame setup or NLP preprocessing required. See the
|
|
41
|
+
[Batch Resolution API](https://skyeav.github.io/Tablassert/api/lib/) for the full reference; for
|
|
42
|
+
YAML-configured pipeline builds use `tablassert build-kg config.yaml`.
|
|
43
|
+
|
|
44
|
+
## Key Features
|
|
45
|
+
|
|
46
|
+
Declarative YAML configs, built-in entity resolution, optional three-stage QC, and KGX-compliant NDJSON
|
|
47
|
+
output — with lazy Polars pipelines over an embedded redb resolution database. See the
|
|
48
|
+
[documentation](https://skyeav.github.io/Tablassert/) for the full feature overview and use-case gallery.
|
|
49
|
+
|
|
50
|
+
## Developing
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
uv sync --group dev --extra qc
|
|
54
|
+
uv run maturin develop --manifest-path rust/Cargo.toml
|
|
55
|
+
make check
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
See **[CONTRIBUTING.md](CONTRIBUTING.md)** for the full development loop, quality gates, and pull request guidelines.
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
[Apache License 2.0](LICENSE)
|
|
63
|
+
|
|
64
|
+
## Contributors
|
|
65
|
+
|
|
66
|
+
[Skye Lane Goetz](mailto:sgoetz@isbscience.org) — Institute for Systems Biology
|
|
67
|
+
|
|
68
|
+
[Gwênlyn Glusman](mailto:gglusman@isbscience.org) — Institute for Systems Biology
|
|
69
|
+
|
|
70
|
+
Jared C. Roach — Institute for Systems Biology
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tablassert"
|
|
3
|
-
version = "
|
|
3
|
+
version = "8.0.1"
|
|
4
4
|
description = "Extract knowledge assertions from tabular data into NCATS Translator-compliant KGX NDJSON — declaratively, with entity resolution and quality control built in."
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Skye Lane Goetz", email = "sgoetz@isbscience.org" }
|
|
@@ -20,6 +20,7 @@ keywords = [
|
|
|
20
20
|
]
|
|
21
21
|
readme = "README.md"
|
|
22
22
|
license = "Apache-2.0"
|
|
23
|
+
license-files = ["LICENSE"]
|
|
23
24
|
classifiers = [
|
|
24
25
|
"License :: OSI Approved :: Apache Software License",
|
|
25
26
|
"Development Status :: 5 - Production/Stable",
|
|
@@ -28,38 +29,30 @@ classifiers = [
|
|
|
28
29
|
"Intended Audience :: Developers",
|
|
29
30
|
"Topic :: Scientific/Engineering :: Bio-Informatics",
|
|
30
31
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
32
|
+
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
33
|
+
"Topic :: Database",
|
|
31
34
|
"Programming Language :: Python :: 3.11",
|
|
32
35
|
"Programming Language :: Python :: 3.12",
|
|
33
36
|
"Programming Language :: Python :: 3.13",
|
|
34
37
|
"Programming Language :: Python :: 3.14",
|
|
38
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
39
|
+
"Programming Language :: Rust",
|
|
35
40
|
"Framework :: Pydantic",
|
|
36
|
-
"Operating System ::
|
|
41
|
+
"Operating System :: POSIX :: Linux",
|
|
42
|
+
"Operating System :: MacOS :: MacOS X",
|
|
37
43
|
"Environment :: Console",
|
|
38
44
|
]
|
|
39
45
|
requires-python = ">=3.11"
|
|
40
46
|
dependencies = [
|
|
41
|
-
"
|
|
42
|
-
"fastexcel>=0.19.0",
|
|
43
|
-
"httpx>=0.28.1",
|
|
44
|
-
"lazy-loader>=0.5",
|
|
47
|
+
"biolink-model>=4.4.3",
|
|
45
48
|
"loguru>=0.7.3",
|
|
46
|
-
"optimum-onnx>=0.1.0",
|
|
47
|
-
"orjson>=3.11.7",
|
|
48
|
-
"playwright>=1.58.0,<1.59",
|
|
49
49
|
"polars>=1.39.0",
|
|
50
|
-
"
|
|
51
|
-
"pyarrow>=23.0.1",
|
|
50
|
+
"rapidfuzz>=3.14.3",
|
|
52
51
|
"pydantic>=2.12.5",
|
|
53
|
-
"pyexcel>=0.7.4",
|
|
54
52
|
"pyyaml>=6.0.3",
|
|
55
|
-
"rapidfuzz>=3.14.3",
|
|
56
|
-
"scikit-learn>=1.8.0",
|
|
57
|
-
"sentence-transformers>=5.3.0",
|
|
58
|
-
"sqlite-utils>=3.39",
|
|
59
53
|
"cyclopts>=1.0.0",
|
|
60
54
|
"rich>=13.0.0",
|
|
61
|
-
"
|
|
62
|
-
"diskcache>=5.6.3",
|
|
55
|
+
"fastexcel>=0.20.2",
|
|
63
56
|
]
|
|
64
57
|
|
|
65
58
|
[project.urls]
|
|
@@ -68,11 +61,15 @@ Source = "https://github.com/SkyeAv/Tablassert"
|
|
|
68
61
|
Documentation = "https://skyeav.github.io/Tablassert/"
|
|
69
62
|
|
|
70
63
|
[build-system]
|
|
71
|
-
requires = ["
|
|
72
|
-
build-backend = "
|
|
64
|
+
requires = ["maturin>=1.10,<2.0"]
|
|
65
|
+
build-backend = "maturin"
|
|
73
66
|
|
|
74
|
-
[tool.
|
|
75
|
-
|
|
67
|
+
[tool.maturin]
|
|
68
|
+
python-source = "src"
|
|
69
|
+
module-name = "tablassert.rs"
|
|
70
|
+
bindings = "pyo3"
|
|
71
|
+
manifest-path = "rust/Cargo.toml"
|
|
72
|
+
features = ["extension-module"]
|
|
76
73
|
|
|
77
74
|
[project.scripts]
|
|
78
75
|
tablassert = "tablassert.cli:APP"
|
|
@@ -82,15 +79,20 @@ rt = [
|
|
|
82
79
|
"polars[rtcompat]>=1.40.1",
|
|
83
80
|
]
|
|
84
81
|
qc = [
|
|
85
|
-
"
|
|
82
|
+
"scikit-learn>=1.8.0",
|
|
83
|
+
"sentence-transformers>=5.3.0",
|
|
86
84
|
]
|
|
87
|
-
|
|
88
|
-
"
|
|
85
|
+
agent = [
|
|
86
|
+
"smolagents>=1.26.0",
|
|
87
|
+
"dspy>=3.2.1",
|
|
88
|
+
"litellm>=1.93.0",
|
|
89
89
|
]
|
|
90
90
|
|
|
91
91
|
[dependency-groups]
|
|
92
92
|
dev = [
|
|
93
93
|
"mkdocs>=1.6.1",
|
|
94
|
+
"mkdocs-material>=9.6.0",
|
|
95
|
+
"maturin>=1.10,<2.0",
|
|
94
96
|
"pre-commit>=4.5.1",
|
|
95
97
|
"pyright>=1.1.411",
|
|
96
98
|
"pytest>=9.0.2",
|
|
@@ -100,14 +102,55 @@ dev = [
|
|
|
100
102
|
|
|
101
103
|
[tool.pytest.ini_options]
|
|
102
104
|
testpaths = ["tests"]
|
|
103
|
-
|
|
105
|
+
addopts = "--cov=tablassert --cov-report=term-missing"
|
|
106
|
+
markers = ["network: requires internet"]
|
|
107
|
+
|
|
108
|
+
[tool.coverage.run]
|
|
109
|
+
source = ["src/tablassert"]
|
|
104
110
|
|
|
105
111
|
[tool.ruff]
|
|
106
|
-
line-length =
|
|
112
|
+
line-length = 150
|
|
107
113
|
indent-width = 4
|
|
108
114
|
target-version = "py311"
|
|
109
115
|
|
|
116
|
+
[tool.ruff.lint]
|
|
117
|
+
select = [
|
|
118
|
+
"E4", # pycodestyle E4xx
|
|
119
|
+
"E7", # pycodestyle E7xx
|
|
120
|
+
"E9", # pycodestyle E9xx
|
|
121
|
+
"F", # pyflakes
|
|
122
|
+
"RUF100", # stale noqa
|
|
123
|
+
"B", # flake8-bugbear
|
|
124
|
+
"SIM", # flake8-simplify
|
|
125
|
+
"C4", # flake8-comprehensions
|
|
126
|
+
"PT", # flake8-pytest-style
|
|
127
|
+
"RUF", # ruff-specific
|
|
128
|
+
"TID", # flake8-tidy-imports
|
|
129
|
+
"I", # isort
|
|
130
|
+
"PIE", # flake8-pie
|
|
131
|
+
"RET", # flake8-return
|
|
132
|
+
"UP", # pyupgrade
|
|
133
|
+
]
|
|
134
|
+
ignore = [
|
|
135
|
+
"UP042", # keep enum/str-conversion behavior as-is
|
|
136
|
+
]
|
|
137
|
+
|
|
138
|
+
[tool.ruff.lint.isort]
|
|
139
|
+
# Align isort with `format.skip-magic-trailing-comma = true` (avoids the ruff incompatibility warning).
|
|
140
|
+
split-on-trailing-comma = false
|
|
141
|
+
|
|
110
142
|
[tool.ruff.format]
|
|
111
143
|
quote-style = "double"
|
|
112
144
|
indent-style = "space"
|
|
113
145
|
skip-magic-trailing-comma = true
|
|
146
|
+
|
|
147
|
+
[tool.pyright]
|
|
148
|
+
include = ["src", "tests"]
|
|
149
|
+
pythonVersion = "3.11"
|
|
150
|
+
strictListInference = true
|
|
151
|
+
strictDictionaryInference = true
|
|
152
|
+
strictSetInference = true
|
|
153
|
+
reportMissingTypeStubs = false
|
|
154
|
+
reportUnusedImport = true
|
|
155
|
+
reportUnusedVariable = true
|
|
156
|
+
reportDuplicateImport = true
|