You can cite this software using the following citation generated from its 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 Gecco 0.3.0 was successful (score=3/5), but there are some warnings which should be addressed: 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) 2. Warning: Documentation *SHOULD* be expressed (This is missing in the metadata) 3. Info: Reference publications *SHOULD* be expressed, if any (This is missing in the metadata) 4. Info: The funder *SHOULD* be acknowledged (This is missing in the metadata) 5. Info: A research domain *SHOULD* be expressed as a category using the NWO Research Fields vocabulary, if applicable (This is missing in the metadata) 6. Info: A research activity *SHOULD* be expressed as a category using the TaDiRaH vocabulary (This is missing in the metadata)
(log file starts at Mon May 11 03:27:18 UTC 2026)
[harvester info] --> Processing gecco (https://github.com/proycon/gecco) [Mon May 11 03:27:18 UTC 2026]
[harvester info] Git updating cached clone of https://github.com/proycon/gecco...
[harvester info] Found release v0.3.0
[harvester info] Using 'v0.3.0'
[harvester info] Git reference: v0.3.0
[harvester info] Scanning directory /tmp/codemeta-harvester.cache/gecco for harvestable resources...
[harvester info] found python setup for gecco, converting to codemeta
[harvester info] Looking for license....
[harvester info] Found license GPL-3.0-only
[harvester info] Getting contributors from git...
[harvester info] Getting top contributor from git...
[harvester info] Git top contributor Maarten van Gompel <proycon@anaproy.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: 2015-01-08T16:07:44Z+0100, date modified: 2020-07-11T13:28:04Z+0200
[harvester info] Querying Github/GitLab API (https://github.com/proycon/gecco)
[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] Found DOI https://doi.org/10.5281/zenodo.3940410
[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/#inactive
[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 (v0.3.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/#inactive
[harvester info] Looking for repostatus information in README.md in master branch...
[harvester info] Found repostatus (master branch) https://www.repostatus.org/#unsupported
[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 "gecco" --codeRepository "https://github.com/proycon/gecco" --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/gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/99-version.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/99-repostatus.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/90-authors.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/43-releasenotes.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/41-readme.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/40-gitapi.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/39-gitdate.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/32-contributors.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/29-license.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/20-python.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/11-repostatus.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/05-repostatus.gecco.codemeta.json /tmp/codemeta-harvester.cache//tmp/05-doi.gecco.codemeta.json
-- begin log --
Passed 13 files/sources but specified 0 input types! Automatically guessing types...
Detected input types: [('/tmp/codemeta-harvester.cache//tmp/99-version.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/99-repostatus.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/90-authors.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/43-releasenotes.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/41-readme.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/40-gitapi.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/39-gitdate.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/32-contributors.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/29-license.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/20-python.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/11-repostatus.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/05-repostatus.gecco.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/05-doi.gecco.codemeta.json', 'json')]
Adding to contextgraph: /tmp/turtle
Initial URI automatically generated, may be overriden later: https://tools.clariah.nl/gecco
Processing source #1 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/99-version.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] 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.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] 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.gecco.codemeta.json
Found main resource with URI https://tools.clariah.nl/gecco.topcontributor/snapshot
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] 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.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] 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.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] 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.gecco.codemeta.json
Found main resource with URI https://tools.clariah.nl/gecco/snapshot
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] overriding old http://schema.org/author (https://tools.clariah.nl/stub/H7cca8de0cc017335 -> https://tools.clariah.nl/stub/H-243e390b2555e296)
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] processed 24 new triples, total is now 31
Processing source #7 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/39-gitdate.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] overriding old http://schema.org/dateCreated (2015-01-08T15:08:28Z -> 2015-01-08T16:07:44Z+0100)
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] overriding old http://schema.org/dateModified (2022-09-07T12:27:37Z -> 2020-07-11T13:28:04Z+0200)
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] processed 2 new triples, total is now 31
Processing source #8 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/32-contributors.gecco.codemeta.json
Found main resource with URI https://tools.clariah.nl/gecco.contributors/snapshot
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] processed 8 new triples, total is now 32
Processing source #9 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/29-license.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] overriding old http://schema.org/license (http://spdx.org/licenses/GPL-3.0-only -> GPL-3.0-only)
[CODEMETA CORRECTION (https://tools.clariah.nl/gecco)] automatically converting license to spdx URI
[CODEMETA COMPOSITION (https://tools.clariah.nl/gecco)] processed 1 new triples, total is now 32
Processing source #10 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/20-python.gecco.codemeta.json
Found main resource with URI https://tools.clariah.nl/gecco/0.3.0
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/author (https://tools.clariah.nl/stub/H-243e390b2555e296 -> https://tools.clariah.nl/stub/H7cca8de0cc017335)
[CODEMETA COMPOSITION (gecco)] overriding old https://codemeta.github.io/terms/developmentStatus (https://www.repostatus.org/#inactive -> https://www.repostatus.org/#wip)
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/keywords (spelling-correction -> spelling corrector spell check nlp computational_linguistics rest)
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/keywords (python -> spelling corrector spell check nlp computational_linguistics rest)
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/keywords (nlp -> spelling corrector spell check nlp computational_linguistics rest)
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/name (gecco -> Gecco)
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/version (v0.3.0 -> 0.3.0)
[CODEMETA COMPOSITION (gecco)] processed 104 new triples, total is now 118
Processing source #11 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/11-repostatus.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (gecco)] overriding old https://codemeta.github.io/terms/developmentStatus (https://www.repostatus.org/#wip -> https://www.repostatus.org/#inactive)
[CODEMETA COMPOSITION (gecco)] processed 1 new triples, total is now 118
Processing source #12 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/05-repostatus.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (gecco)] overriding old https://codemeta.github.io/terms/developmentStatus (https://www.repostatus.org/#inactive -> https://www.repostatus.org/#unsupported)
[CODEMETA COMPOSITION (gecco)] processed 1 new triples, total is now 118
Processing source #13 of 13
Parsing json-ld file from /tmp/codemeta-harvester.cache//tmp/05-doi.gecco.codemeta.json
NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...
Injected (possibly temporary) URI https://tools.clariah.nl/gecco
[CODEMETA COMPOSITION (gecco)] overriding old http://schema.org/identifier (gecco -> )
[CODEMETA COMPOSITION (gecco)] processed 5 new triples, total is now 122
Remapping URI to (possibly) new identifier and version component: https://tools.clariah.nl/gecco -> https://tools.clariah.nl/gecco/0.3.0
[CODEMETA VALIDATION (gecco)] done
[CODEMETA ENRICHMENT (gecco)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (gecco)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (gecco)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (gecco)] automatically adding programmingLanguage Python derived from runtimePlatform Python
[CODEMETA ENRICHMENT (gecco)] adding affiliation(s) of first author as producer
VALIDATION https://tools.clariah.nl/gecco/0.3.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)
VALIDATION https://tools.clariah.nl/gecco/0.3.0 #2: Warning: Documentation *SHOULD* be expressed (This is missing in the metadata)
VALIDATION https://tools.clariah.nl/gecco/0.3.0 #3: Info: Reference publications *SHOULD* be expressed, if any (This is missing in the metadata)
VALIDATION https://tools.clariah.nl/gecco/0.3.0 #4: Info: The funder *SHOULD* be acknowledged (This is missing in the metadata)
VALIDATION https://tools.clariah.nl/gecco/0.3.0 #5: Info: A research domain *SHOULD* be expressed as a category using the NWO Research Fields vocabulary, if applicable (This is missing in the metadata)
VALIDATION https://tools.clariah.nl/gecco/0.3.0 #6: Info: A research activity *SHOULD* be expressed as a category using the TaDiRaH vocabulary (This is missing in the metadata)
-- end log --
[harvester info] Output written to /tmp/out/gecco.codemeta.json
[harvester info] Harvesting remote service URL https://webservices.cls.ru.nl/valkuil/ for gecco: 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 -O "/tmp/codemeta-harvester.cache//tmp/gecco.codemeta.json" "/tmp/out/gecco.codemeta.json" "https://webservices.cls.ru.nl/valkuil/"
-- begin log --
Passed 2 files/sources but specified 0 input types! Automatically guessing types...
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/urllib3/connection.py", line 204, in _new_conn
sock = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/usr/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 488, in _make_request
raise new_e
File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 464, in _make_request
self._validate_conn(conn)
File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 1093, in _validate_conn
conn.connect()
File "/usr/lib/python3.12/site-packages/urllib3/connection.py", line 759, in connect
self.sock = sock = self._new_conn()
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/urllib3/connection.py", line 213, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='webservices.cls.ru.nl', port=443) at 0x7ff8553dfd40>, 'Connection to webservices.cls.ru.nl timed out. (connect timeout=None)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/requests/adapters.py", line 644, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/urllib3/util/retry.py", line 535, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='webservices.cls.ru.nl', port=443): Max retries exceeded with url: /-/manifest.json (Caused by ConnectTimeoutError(<HTTPSConnection(host='webservices.cls.ru.nl', port=443) at 0x7ff8553dfd40>, 'Connection to webservices.cls.ru.nl timed out. (connect timeout=None)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/codemetapy", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/lib/python3.12/site-packages/codemeta/codemeta.py", line 339, in main
g, res, args, contextgraph = build(**args.__dict__)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/codemeta/codemeta.py", line 562, in build
repo_kind = codemeta.parsers.gitapi.get_repo_kind(inputsource)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/codemeta/parsers/gitapi.py", line 56, in get_repo_kind
response = requests.get(test_url)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/requests/adapters.py", line 665, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='webservices.cls.ru.nl', port=443): Max retries exceeded with url: /-/manifest.json (Caused by ConnectTimeoutError(<HTTPSConnection(host='webservices.cls.ru.nl', port=443) at 0x7ff8553dfd40>, 'Connection to webservices.cls.ru.nl timed out. (connect timeout=None)'))
-- end log --
[harvester error] Failed to obtain or process metadata from remote service URL https://webservices.cls.ru.nl/valkuil/ for gecco
[harvester info] <-- Finished processing gecco (https://github.com/proycon/gecco) [Mon May 11 03:29:42 UTC 2026]