tablassert 7.4.9__tar.gz → 7.4.10__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.
Files changed (64) hide show
  1. {tablassert-7.4.9 → tablassert-7.4.10}/CHANGELOG.md +5 -0
  2. {tablassert-7.4.9 → tablassert-7.4.10}/PKG-INFO +1 -1
  3. tablassert-7.4.10/docs/changelog.md +11 -0
  4. {tablassert-7.4.9 → tablassert-7.4.10}/pyproject.toml +1 -1
  5. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/fullmap.py +4 -4
  6. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/lib.py +2 -2
  7. {tablassert-7.4.9 → tablassert-7.4.10}/uv.lock +1 -1
  8. tablassert-7.4.9/docs/changelog.md +0 -11
  9. {tablassert-7.4.9 → tablassert-7.4.10}/.github/workflows/autotag.yml +0 -0
  10. {tablassert-7.4.9 → tablassert-7.4.10}/.github/workflows/docker.yml +0 -0
  11. {tablassert-7.4.9 → tablassert-7.4.10}/.github/workflows/docs.yml +0 -0
  12. {tablassert-7.4.9 → tablassert-7.4.10}/.github/workflows/pipy.yml +0 -0
  13. {tablassert-7.4.9 → tablassert-7.4.10}/.gitignore +0 -0
  14. {tablassert-7.4.9 → tablassert-7.4.10}/.pre-commit-config.yaml +0 -0
  15. {tablassert-7.4.9 → tablassert-7.4.10}/AGENTS.md +0 -0
  16. {tablassert-7.4.9 → tablassert-7.4.10}/CITATION.cff +0 -0
  17. {tablassert-7.4.9 → tablassert-7.4.10}/CONTRIBUTING.md +0 -0
  18. {tablassert-7.4.9 → tablassert-7.4.10}/Dockerfile +0 -0
  19. {tablassert-7.4.9 → tablassert-7.4.10}/LICENSE +0 -0
  20. {tablassert-7.4.9 → tablassert-7.4.10}/README.md +0 -0
  21. {tablassert-7.4.9 → tablassert-7.4.10}/docs/api/fullmap.md +0 -0
  22. {tablassert-7.4.9 → tablassert-7.4.10}/docs/api/lib.md +0 -0
  23. {tablassert-7.4.9 → tablassert-7.4.10}/docs/api/qc.md +0 -0
  24. {tablassert-7.4.9 → tablassert-7.4.10}/docs/api/utils.md +0 -0
  25. {tablassert-7.4.9 → tablassert-7.4.10}/docs/cli.md +0 -0
  26. {tablassert-7.4.9 → tablassert-7.4.10}/docs/configuration/advanced-example.md +0 -0
  27. {tablassert-7.4.9 → tablassert-7.4.10}/docs/configuration/graph.md +0 -0
  28. {tablassert-7.4.9 → tablassert-7.4.10}/docs/configuration/table.md +0 -0
  29. {tablassert-7.4.9 → tablassert-7.4.10}/docs/datassert.md +0 -0
  30. {tablassert-7.4.9 → tablassert-7.4.10}/docs/docker.md +0 -0
  31. {tablassert-7.4.9 → tablassert-7.4.10}/docs/examples/tutorial-data.csv +0 -0
  32. {tablassert-7.4.9 → tablassert-7.4.10}/docs/examples/tutorial-graph.yaml +0 -0
  33. {tablassert-7.4.9 → tablassert-7.4.10}/docs/examples/tutorial-table.yaml +0 -0
  34. {tablassert-7.4.9 → tablassert-7.4.10}/docs/examples.md +0 -0
  35. {tablassert-7.4.9 → tablassert-7.4.10}/docs/index.md +0 -0
  36. {tablassert-7.4.9 → tablassert-7.4.10}/docs/installation.md +0 -0
  37. {tablassert-7.4.9 → tablassert-7.4.10}/docs/tutorial.md +0 -0
  38. {tablassert-7.4.9 → tablassert-7.4.10}/llms.txt +0 -0
  39. {tablassert-7.4.9 → tablassert-7.4.10}/mkdocs.yml +0 -0
  40. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/__init__.py +0 -0
  41. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/cli.py +0 -0
  42. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/downloader.py +0 -0
  43. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/enums.py +0 -0
  44. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/ingests.py +0 -0
  45. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/log.py +0 -0
  46. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/models.py +0 -0
  47. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/nlp.py +0 -0
  48. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/progress.py +0 -0
  49. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/qc.py +0 -0
  50. {tablassert-7.4.9 → tablassert-7.4.10}/src/tablassert/utils.py +0 -0
  51. {tablassert-7.4.9 → tablassert-7.4.10}/tests/__init__.py +0 -0
  52. {tablassert-7.4.9 → tablassert-7.4.10}/tests/conftest.py +0 -0
  53. {tablassert-7.4.9 → tablassert-7.4.10}/tests/fixtures/invalid_section_missing_source.yaml +0 -0
  54. {tablassert-7.4.9 → tablassert-7.4.10}/tests/fixtures/minimal_section.yaml +0 -0
  55. {tablassert-7.4.9 → tablassert-7.4.10}/tests/fixtures/minimal_section_with_sections.yaml +0 -0
  56. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_downloader.py +0 -0
  57. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_enums.py +0 -0
  58. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_fullmap.py +0 -0
  59. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_ingests.py +0 -0
  60. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_lib.py +0 -0
  61. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_models.py +0 -0
  62. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_nlp.py +0 -0
  63. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_qc.py +0 -0
  64. {tablassert-7.4.9 → tablassert-7.4.10}/tests/test_utils.py +0 -0
@@ -2,6 +2,11 @@
2
2
 
3
3
  All notable changes to this project are documented in this file.
4
4
 
5
+ ## 7.4.10 - 2026-05-29
6
+
7
+ ### Changes
8
+ - Enforced explicit `biolink:` namespace prefix on predicates and qualifiers emitted by `compile_subgraph()` in `lib.py`. Both `self.statement.predicate` and `x.qualifier` (in the qualifier loop) are now prefixed via `add("biolink:", ...)`, ensuring all output edges carry fully-qualified Biolink CURIEs rather than bare predicate/qualifier names.
9
+
5
10
  ## 7.4.9 - 2026-05-26
6
11
 
7
12
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tablassert
3
- Version: 7.4.9
3
+ Version: 7.4.10
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,11 @@
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.10 - 2026-05-29
8
+
9
+ ### Changes
10
+
11
+ - Enforced explicit `biolink:` namespace prefix on predicates and qualifiers emitted by `compile_subgraph()` in `lib.py`. Both `self.statement.predicate` and `x.qualifier` (in the qualifier loop) are now prefixed via `add("biolink:", ...)`, ensuring all output edges carry fully-qualified Biolink CURIEs rather than bare predicate/qualifier names.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tablassert"
3
- version = "7.4.9"
3
+ version = "7.4.10"
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" }
@@ -150,15 +150,15 @@ def log_unmatched(
150
150
  ) -> None:
151
151
  # * Log Unmatched Entities
152
152
  level_one: pl.LazyFrame = terms.filter(pl.col("nlp level") == 1)
153
- antimatches: pl.LazyFrame = level_one.join(matches.lazy().select("term"), left_on="term", right_on="term", how="anti")
153
+ antimatches: pl.LazyFrame = level_one.join(
154
+ matches.lazy().select("term"), left_on="term", right_on="term", how="anti"
155
+ )
154
156
 
155
157
  # ! Collection Point: Requires Eager
156
158
  unnmatched: pl.DataFrame = antimatches.select("term").unique().collect()
157
159
  if unnmatched.height > 0:
158
160
  for term in unnmatched.get_column("term").to_list():
159
- logger.info(
160
- f"FAILED | STORE: {section_hash} | CONFIG: {config_file} | COL: {col} | VALUE: {term!r}"
161
- )
161
+ logger.info(f"FAILED | STORE: {section_hash} | CONFIG: {config_file} | COL: {col} | VALUE: {term!r}")
162
162
 
163
163
 
164
164
  def resolve(
@@ -342,8 +342,8 @@ class Tcode(Section):
342
342
  [op for x in self.annotations for op in self.encoding(x, x.annotation)] if self.annotations else None,
343
343
  self.node(self.statement.subject, "subject", conns),
344
344
  self.node(self.statement.object, "object", conns),
345
- (value, ("predicate", self.statement.predicate)),
346
- [op for x in self.statement.qualifiers for op in self.node(x, x.qualifier, conns)]
345
+ (value, ("predicate", add("biolink:", self.statement.predicate))),
346
+ [op for x in self.statement.qualifiers for op in self.node(x, add("biolink:", x.qualifier), conns)]
347
347
  if self.statement.qualifiers
348
348
  else None,
349
349
  (value, ("syntax", self.syntax)),
@@ -2360,7 +2360,7 @@ wheels = [
2360
2360
 
2361
2361
  [[package]]
2362
2362
  name = "tablassert"
2363
- version = "7.4.9"
2363
+ version = "7.4.10"
2364
2364
  source = { editable = "." }
2365
2365
  dependencies = [
2366
2366
  { name = "cyclopts" },
@@ -1,11 +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.9 - 2026-05-26
8
-
9
- ### Bug Fixes
10
-
11
- - Fixed `OSError: Too many open files` during subgraph build at large scales (700+ sections). `with_mesh()` and `with_captions()` in `lib.py` opened a `sqlite_utils.Database` per section but never closed the underlying SQLite connection, leaving FD release to GC. In the tight sequential `compile_subgraph` loop the leaked FDs accumulated past the OS soft limit, causing the next `to_store()` → `df.write_parquet()` (which polars 1.39 routes through `sink_parquet`) to fail opening its target `.storassert/*.parquet`. Both functions now wrap their query bodies in `try:` / `finally: db.conn.close()`.
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