tablassert 7.4.2__tar.gz → 7.4.4__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-7.4.2 → tablassert-7.4.4}/CHANGELOG.md +11 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/PKG-INFO +1 -1
- tablassert-7.4.4/docs/changelog.md +14 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/pyproject.toml +1 -1
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/lib.py +3 -3
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/models.py +3 -2
- {tablassert-7.4.2 → tablassert-7.4.4}/uv.lock +1 -1
- tablassert-7.4.2/docs/changelog.md +0 -20
- {tablassert-7.4.2 → tablassert-7.4.4}/.github/workflows/autotag.yml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/.github/workflows/docker.yml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/.github/workflows/docs.yml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/.github/workflows/pipy.yml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/.gitignore +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/.pre-commit-config.yaml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/AGENTS.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/CITATION.cff +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/CONTRIBUTING.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/Dockerfile +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/LICENSE +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/README.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/api/fullmap.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/api/lib.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/api/qc.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/api/utils.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/cli.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/configuration/advanced-example.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/configuration/graph.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/configuration/table.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/datassert.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/docker.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/examples/tutorial-data.csv +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/examples/tutorial-graph.yaml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/examples/tutorial-table.yaml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/examples.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/index.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/installation.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/docs/tutorial.md +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/llms.txt +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/mkdocs.yml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/__init__.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/cli.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/downloader.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/enums.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/fullmap.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/ingests.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/log.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/nlp.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/progress.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/qc.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/src/tablassert/utils.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/__init__.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/conftest.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/fixtures/invalid_section_missing_source.yaml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/fixtures/minimal_section.yaml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/fixtures/minimal_section_with_sections.yaml +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_downloader.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_enums.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_fullmap.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_ingests.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_lib.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_models.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_nlp.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_qc.py +0 -0
- {tablassert-7.4.2 → tablassert-7.4.4}/tests/test_utils.py +0 -0
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## 7.4.4 - 2026-05-11
|
|
6
|
+
|
|
7
|
+
### Changes
|
|
8
|
+
- Relaxed `BaseSource.is_real_url` validator in `models.py` to only raise on 4xx responses from `httpx.head()`. Servers that return 5xx or other non-2xx statuses to `HEAD` requests no longer fail config validation, since the URL itself is still well-formed and reachable.
|
|
9
|
+
- Increased `is_real_url` `httpx.head()` timeout from 3.0s to 5.0s to reduce spurious validation failures against slow upstreams.
|
|
10
|
+
|
|
11
|
+
## 7.4.3 - 2026-05-11
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
- Fixed `compile_graph()` in `lib.py` stripping the final version segment from output paths. `Path(f"./{name}_{version}")` treated the trailing `.N` of a semver version (e.g. `.3` in `7.4.3`) as a suffix, so `with_suffix(".edges.ndjson.temp")` replaced the version segment instead of appending. Base path now carries a `.tmp` sentinel suffix (`Path(f"./{name}_{version}.tmp")`) that `with_suffix()` replaces, preserving the full version in emitted filenames. Temp suffixes also shortened from `.temp` to `.tmp` for consistency.
|
|
15
|
+
|
|
5
16
|
## 7.4.2 - 2026-05-07
|
|
6
17
|
|
|
7
18
|
### Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tablassert
|
|
3
|
-
Version: 7.4.
|
|
3
|
+
Version: 7.4.4
|
|
4
4
|
Summary: Extract knowledge assertions from tabular data into NCATS Translator-compliant KGX NDJSON — declaratively, with entity resolution and quality control built in.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SkyeAv/Tablassert
|
|
6
6
|
Project-URL: Source, https://github.com/SkyeAv/Tablassert
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
The canonical release history lives in the repository root at [`CHANGELOG.md`](https://github.com/SkyeAv/Tablassert/blob/main/CHANGELOG.md).
|
|
4
|
+
|
|
5
|
+
## Current Release Notes
|
|
6
|
+
|
|
7
|
+
## 7.4.4 - 2026-05-11
|
|
8
|
+
|
|
9
|
+
### Changes
|
|
10
|
+
|
|
11
|
+
- Relaxed the `url` field validator in `BaseSource` to only fail on 4xx responses from `httpx.head()`. Sources whose servers return 5xx or other non-2xx statuses to `HEAD` requests now pass config validation, since the URL itself is still well-formed.
|
|
12
|
+
- Increased the `httpx.head()` timeout in the `url` validator from 3.0s to 5.0s to tolerate slower upstreams.
|
|
13
|
+
|
|
14
|
+
For older releases and the full project history, open the root `CHANGELOG.md` in the repository.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tablassert"
|
|
3
|
-
version = "7.4.
|
|
3
|
+
version = "7.4.4"
|
|
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" }
|
|
@@ -443,13 +443,13 @@ def dedup_stream(p_in: Path, is_edges: bool) -> None:
|
|
|
443
443
|
|
|
444
444
|
def compile_graph(subgraphs: list[Path], name: str, version: str, fmt: str = "mixed", precision: int = 4) -> None:
|
|
445
445
|
# ? Aggregates Parquets For NDJSON KGX Export Using Lazy Scan
|
|
446
|
-
p: Path = Path(f"./{name}_{version}")
|
|
446
|
+
p: Path = Path(f"./{name}_{version}.tmp")
|
|
447
447
|
|
|
448
|
-
e: Path = p.with_suffix(".edges.ndjson.
|
|
448
|
+
e: Path = p.with_suffix(".edges.ndjson.tmp") # ! For Labeling
|
|
449
449
|
if e.exists():
|
|
450
450
|
e.unlink()
|
|
451
451
|
|
|
452
|
-
n: Path = p.with_suffix(".nodes.ndjson.
|
|
452
|
+
n: Path = p.with_suffix(".nodes.ndjson.tmp")
|
|
453
453
|
if n.exists():
|
|
454
454
|
n.unlink()
|
|
455
455
|
|
|
@@ -78,12 +78,13 @@ class BaseSource(TablaBase):
|
|
|
78
78
|
|
|
79
79
|
@field_validator("url", mode="after")
|
|
80
80
|
@classmethod
|
|
81
|
-
def is_real_url(cls, url: HttpUrl, timeout: float =
|
|
81
|
+
def is_real_url(cls, url: HttpUrl, timeout: float = 5.0) -> HttpUrl:
|
|
82
82
|
s: str = str(url)
|
|
83
83
|
|
|
84
84
|
try:
|
|
85
85
|
r: Any = httpx.head(s, timeout=timeout, follow_redirects=True)
|
|
86
|
-
r.
|
|
86
|
+
if 400 <= r.status_code < 500:
|
|
87
|
+
r.raise_for_status()
|
|
87
88
|
except Exception as e:
|
|
88
89
|
msg: str = f"12 | not a real url {s} | {e}"
|
|
89
90
|
raise ValueError(msg)
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
The canonical release history lives in the repository root at [`CHANGELOG.md`](https://github.com/SkyeAv/Tablassert/blob/main/CHANGELOG.md).
|
|
4
|
-
|
|
5
|
-
## Current Release Notes
|
|
6
|
-
|
|
7
|
-
## 7.4.2 - 2026-05-07
|
|
8
|
-
|
|
9
|
-
### Changes
|
|
10
|
-
|
|
11
|
-
- Added Pydantic field and model validators to `models.py` that catch misconfigurations at parse time: unreachable `url` fields, mutually exclusive `rows`/`row_slice`, mismatched `Reindex` comparator types, non–Excel-style column letters under `method: column`, Polars-incompatible `regex`/`remove` patterns, and `annotation` name normalization (underscores → spaces).
|
|
12
|
-
- Changed `rows` and `row_slice` element type from `NonNegativeInt` to `PositiveInt`.
|
|
13
|
-
|
|
14
|
-
## 7.4.1 - 2026-05-05
|
|
15
|
-
|
|
16
|
-
### Bug Fixes
|
|
17
|
-
|
|
18
|
-
- Fixed crash in the BUILDING TCODE progress display caused by `format_section_oneline()` calling `.value` on `Tcode.status`, which is a plain string under `use_enum_values=True`.
|
|
19
|
-
|
|
20
|
-
For older releases and the full project history, open the root `CHANGELOG.md` in the repository.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|