Please use one of the above reference publications to cite the software, if you want to cite the software directly, you can use the following citation generated from the metadata:
Please consult the CLARIAH Software Metadata Requirements at https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md for an in-depth explanation of any found problems Validation of text-fabric 13.1.0 was successful (score=4/5), but there are some remarks which you may or may not want to address: 1. Info: Software source code *SHOULD* link to a continuous integration service that builds the software and runs the software's tests (This is missing in the metadata)
(log file starts at Sat Feb 7 03:30:53 UTC 2026)
[harvester info] --> Processing textfabric (https://github.com/annotation/text-fabric) [Sat Feb 7 03:30:53 UTC 2026]
[harvester info] Git updating cached clone of https://github.com/annotation/text-fabric...
[harvester info] Found release v13.1.0
[harvester info] Using 'v13.1.0'
[harvester info] Git reference: v13.1.0
[harvester info] Scanning directory /tmp/codemeta-harvester.cache/textfabric for harvestable resources...
[harvester info] found codemeta-harvest.json for textfabric (md5sum 01ac8cb475bb6947ec5a67a1d95cec7d); values in here take precendence over (override) those in later detection stages
[harvester info] found python setup for textfabric, converting to codemeta
[harvester info] Looking for license....
[harvester info] Found license MIT
[harvester info] Getting contributors from git...
[harvester info] Getting top contributor from git...
[harvester info] Git top contributor Dirk Roorda <dirk.roorda@dans.knaw.nl> will be assigned as author (and maintainer) if none are found in the metadata
[harvester info] Extracting last and first commit date from git log....
[harvester info] Date created: 2017-10-19T14:44:47Z+0200, date modified: 2026-01-15T13:07:36Z+0100
[harvester info] Querying Github/GitLab API (https://github.com/annotation/text-fabric)
[harvester info] Adding URL for found README: README.md
[harvester info] Found releaseNotes
[harvester info] Querying Zenodo API for DOI (access token provided)...
[harvester info] Looking for TRL information in README.md...
[harvester info] Looking for repostatus information in README.md...
[harvester info] Found repostatus https://www.repostatus.org/#active
[harvester info] Looking for continuous integration information in README.md...
[harvester info] Looking for documentation links in README.md...
[harvester info] Falling back to git tag (v13.1.0) if no version number is specified...
[harvester info] Inferring repostatus information from git activity (used only as a fallback if not explicitly provided)...
[harvester info] Inferred repostatus https://www.repostatus.org/#active
[harvester info] Looking for repostatus information in README.md in master branch...
[harvester info] Found repostatus (master branch) https://www.repostatus.org/#active
[harvester info] Reconciliating: codemetapy --baseuri https://tools.clariah.nl --baseuri https://tools.clariah.nl --includecontext --addcontext https://w3id.org/nwo-research-fields --addcontext https://w3id.org/research-technology-readiness-levels --addcontextgraph https://vocabs.dariah.eu/rest/v1/tadirah/data?format=text/turtle --trl --identifier "textfabric" --codeRepository "https://github.com/annotation/text-fabric" --validate /etc/software.ttl --released --enrich --textv "Please consult the CLARIAH Software Metadata Requirements at https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md for an in-depth explanation of any found problems" -O /tmp/out/textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/99-version.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/99-repostatus.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/90-authors.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/43-releasenotes.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/41-readme.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/40-gitapi.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/39-gitdate.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/32-contributors.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/29-license.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/20-python.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/11-repostatus.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/10-harvest.textfabric.codemeta.json /tmp/codemeta-harvester.cache//tmp/05-repostatus.textfabric.codemeta.json
-- begin log --
/usr/lib/python3.12/site-packages/pyshacl/extras/__init__.py:6: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
Passed 13 files/sources but specified 0 input types! Automatically guessing types...
Detected input types: [('/tmp/codemeta-harvester.cache//tmp/99-version.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/99-repostatus.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/90-authors.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/43-releasenotes.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/41-readme.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/40-gitapi.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/39-gitdate.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/32-contributors.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/29-license.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/20-python.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/11-repostatus.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/10-harvest.textfabric.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/05-repostatus.textfabric.codemeta.json', 'json')]
Adding to contextgraph: /tmp/turtle
Initial URI automatically generated, may be overriden later: https://tools.clariah.nl/textfabric
Processing source #1 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/99-version.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 1 new triples, total is now 2
Processing source #2 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/99-repostatus.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 1 new triples, total is now 3
Processing source #3 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/90-authors.textfabric.codemeta.json
Found main resource with URI https://tools.clariah.nl/textfabric.topcontributor/snapshot
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 8 new triples, total is now 10
Processing source #4 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/43-releasenotes.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 2 new triples, total is now 12
Processing source #5 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/41-readme.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 1 new triples, total is now 13
Processing source #6 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/40-gitapi.textfabric.codemeta.json
Found main resource with URI https://tools.clariah.nl/text-fabric/snapshot
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 27 new triples, total is now 39
Processing source #7 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/39-gitdate.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] overriding old http://schema.org/dateCreated (2016-11-14T20:00:34Z -> 2017-10-19T14:44:47Z+0200)
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] overriding old http://schema.org/dateModified (2026-02-03T07:53:26Z -> 2026-01-15T13:07:36Z+0100)
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 2 new triples, total is now 39
Processing source #8 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/32-contributors.textfabric.codemeta.json
Found main resource with URI https://tools.clariah.nl/textfabric.contributors/snapshot
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 32 new triples, total is now 66
Processing source #9 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/29-license.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] overriding old http://schema.org/license (http://spdx.org/licenses/MIT -> MIT)
[CODEMETA CORRECTION (https://tools.clariah.nl/textfabric)] automatically converting license to spdx URI
[CODEMETA COMPOSITION (https://tools.clariah.nl/textfabric)] processed 1 new triples, total is now 66
Processing source #10 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/20-python.textfabric.codemeta.json
Found main resource with URI https://tools.clariah.nl/text-fabric/13.1.0
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/author (https://tools.clariah.nl/stub/H-243e4cb2ff8263cd -> https://tools.clariah.nl/stub/H-159f4e8f3ed48f07)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/description (File format, model, API, and apps for manipulating text and its annotated features -> Processor and browser for annotated text corpora)
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/developmentStatus (https://www.repostatus.org/#active -> https://www.repostatus.org/#wip)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (greek-bible -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (search-algorithm -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (etcbc-data -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (annotation -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (sanskrit-language -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (sumerian -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (bhsa -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (etcbc -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (search-engine -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (hebrew-bible -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/keywords (text-fabric -> akkadian)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/version (v13.1.0 -> 13.1.0)
[CODEMETA COMPOSITION (text-fabric)] processed 140 new triples, total is now 180
Processing source #11 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/11-repostatus.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/developmentStatus (https://www.repostatus.org/#wip -> https://www.repostatus.org/#active)
[CODEMETA COMPOSITION (text-fabric)] processed 1 new triples, total is now 180
Processing source #12 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/10-harvest.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA 2 TO 3] Updating targetProduct -> isSourceCodeOf
[CODEMETA 2 TO 3] Updating targetProduct -> isSourceCodeOf
[CODEMETA 2 TO 3] Updating targetProduct -> isSourceCodeOf
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/author (https://tools.clariah.nl/stub/H-159f4e8f3ed48f07 -> https://tools.clariah.nl/stub/H-76ec4261035f2e43)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/producer (https://tools.clariah.nl/org/annotation -> https://huc.knaw.nl)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/applicationCategory (Text Processing > Markup -> https://vocabs.dariah.eu/tadirah/structuralAnalysis)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/applicationCategory (Religion -> https://vocabs.dariah.eu/tadirah/structuralAnalysis)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/applicationCategory (Scientific/Engineering > Information Analysis -> https://vocabs.dariah.eu/tadirah/structuralAnalysis)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/applicationCategory (Text Processing > Linguistic -> https://vocabs.dariah.eu/tadirah/structuralAnalysis)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/applicationCategory (Text Processing > Filters -> https://vocabs.dariah.eu/tadirah/structuralAnalysis)
[CODEMETA COMPOSITION (text-fabric)] overriding old http://schema.org/applicationCategory (Sociology > History -> https://vocabs.dariah.eu/tadirah/structuralAnalysis)
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/isSourceCodeOf (https://tools.clariah.nl/commandlineapplication/tf-nbconvert/13.1.0 -> https://tools.clariah.nl/stub/H-49996e73afc96f86)
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/isSourceCodeOf (https://tools.clariah.nl/commandlineapplication/tf-make/13.1.0 -> https://tools.clariah.nl/stub/H-49996e73afc96f86)
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/isSourceCodeOf (https://tools.clariah.nl/commandlineapplication/tf-zipall/13.1.0 -> https://tools.clariah.nl/stub/H-49996e73afc96f86)
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/isSourceCodeOf (https://tools.clariah.nl/commandlineapplication/tf/13.1.0 -> https://tools.clariah.nl/stub/H-49996e73afc96f86)
[CODEMETA COMPOSITION (text-fabric)] overriding old https://codemeta.github.io/terms/isSourceCodeOf (https://tools.clariah.nl/commandlineapplication/tf-zip/13.1.0 -> https://tools.clariah.nl/stub/H-49996e73afc96f86)
[CODEMETA COMPOSITION (text-fabric)] processed 288 new triples, total is now 455
Processing source #13 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/05-repostatus.textfabric.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/textfabric
[CODEMETA COMPOSITION (text-fabric)] processed 1 new triples, total is now 455
Remapping URI to (possibly) new identifier and version component: https://tools.clariah.nl/textfabric -> https://tools.clariah.nl/textfabric/13.1.0
[CODEMETA VALIDATION (textfabric)] done
[CODEMETA ENRICHMENT (textfabric)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (textfabric)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (textfabric)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (textfabric)] considering first author as maintainer
VALIDATION https://tools.clariah.nl/textfabric/13.1.0 #1: Info: Software source code *SHOULD* link to a continuous integration service that builds the software and runs the software's tests (This is missing in the metadata)
-- end log --
[harvester info] Output written to /tmp/out/textfabric.codemeta.json
[harvester info] <-- Finished processing textfabric (https://github.com/annotation/text-fabric) [Sat Feb 7 03:31:18 UTC 2026]