Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

Scan timing: clone 1.69s · analysis 0.42s · 0.6 MB · GitHub preflight 504ms

kulturpool/EDMLib

https://github.com/kulturpool/EDMLib.git · scanned 2026-05-25 08:26 UTC (1 week, 4 days ago) · 10 languages

108 findings (56 legacy + 52 scanner) 81st percentile · Python · small (2-20K LoC) Scanner says 87 (lower by 5)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 1 week, 4 days ago · v2 · 82 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 75.0 0.15 11.25
security_score 98.7 0.25 24.68
testing_score 100.0 0.20 20.00
documentation_score 50.0 0.15 7.50
practices_score 67.0 0.15 10.05
code_quality 80.0 0.10 8.00
Overall 1.00 81.5
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 240 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.

LabelLayerStatusPath
shared_files software healthy tests/conftest.py:6
xml_string software healthy tests/conftest.py:11
test_missing_edm_rights software healthy tests/parser/test_rights.py:6
test_http_edm_rights software healthy tests/parser/test_rights.py:11
test_https_edm_rights software healthy tests/parser/test_rights.py:16
test_parser_owl_sameas software healthy tests/parser/test_parser_owl_sameas.py:6
_get_bytes software healthy tests/parser/conftest.py:5
parser_files software healthy tests/parser/conftest.py:11
file_edm_record_minimal software healthy tests/parser/conftest.py:16
xml_with_lang_in_edm_type software healthy tests/parser/conftest.py:21
xml_with_xsdtypes software healthy tests/parser/conftest.py:26
ref_lit_xml software healthy tests/parser/conftest.py:31
xml_with_empty_description software healthy tests/parser/conftest.py:36
xml_with_empty_description_and_invalid_ref software healthy tests/parser/conftest.py:41
xml_with_gyear software healthy tests/parser/conftest.py:46
get_record_with_missing_edm_rights software healthy tests/parser/conftest.py:51
get_record_with_https_edm_rights software healthy tests/parser/conftest.py:56
get_record_with_http_edm_rights software healthy tests/parser/conftest.py:61
test_file_parser software healthy tests/parser/test_parser.py:7
test_validation_edm_type_with_lang_raises software healthy tests/parser/test_parser.py:18
test_string_parser software healthy tests/parser/test_parser.py:24
test_serialization_lit_ref software healthy tests/parser/test_parser.py:32
test_xml_datatypes_parsing software healthy tests/parser/test_parser.py:46
test_parser_empty_element software healthy tests/parser/test_parser.py:52
test_parser_empty_element_and_invalid_ref software healthy tests/parser/test_parser.py:62
test_gyear_serialization_cycle software healthy tests/parser/test_xml_to_py_to_rdf.py:4
test_parse_edm_xml software healthy tests/parser/test_aggregation_uri_validation.py:5
test_construct_programmatically software healthy tests/parser/test_aggregation_uri_validation.py:9
test_parse_as_graph software healthy tests/parser/test_aggregation_uri_validation.py:31
example_graphs software healthy tests/parser/functional/tests.py:7
process software healthy tests/parser/functional/manual_test.py:12
test_for_valid_statements software healthy tests/edm/test_rights.py:37
test_for_invalid_statements software healthy tests/edm/test_rights.py:49
test_normalize_statement software healthy tests/edm/test_rights.py:180
core_files software healthy tests/edm/conftest.py:7
cho_id_mismatch software healthy tests/edm/conftest.py:12
invalid_uri software healthy tests/edm/conftest.py:36
valid_uri software healthy tests/edm/conftest.py:54
test_providedcho_minimal_success software healthy tests/edm/test_edm_providedCHO.py:7
test_providedcho_missing_identifier_raises software healthy tests/edm/test_edm_providedCHO.py:22
test_providedcho_empty_identifier_raises software healthy tests/edm/test_edm_providedCHO.py:36
record_input_data software healthy tests/edm/test_generic_tests.py:8
web_resource_input_data software healthy tests/edm/test_generic_tests.py:14
test_provided_cho software healthy tests/edm/test_generic_tests.py:19
test_aggregation software healthy tests/edm/test_generic_tests.py:25
test_webresource software healthy tests/edm/test_generic_tests.py:31
test_record_init software healthy tests/edm/test_generic_tests.py:35
test_validation_cho_and_aggregation_id software healthy tests/edm/test_edm_classes.py:18
test_validation_skos_pref_label software healthy tests/edm/test_edm_classes.py:25
test_validation_skos_pref_label_single_lang_tag_in_List_ok software healthy tests/edm/test_edm_classes.py:38

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
README.md software healthy README.md
pyproject.toml software healthy pyproject.toml
.gitlab-ci.yml software healthy .gitlab-ci.yml
compose.yml software healthy .devcontainer/compose.yml
devcontainer.json software healthy .devcontainer/devcontainer.json
Dockerfile software healthy .devcontainer/Dockerfile
__init__.py software healthy tests/__init__.py
conftest.py software healthy tests/conftest.py
test_rights.py software healthy tests/parser/test_rights.py
__init__.py software healthy tests/parser/__init__.py
test_parser_owl_sameas.py software healthy tests/parser/test_parser_owl_sameas.py
conftest.py software healthy tests/parser/conftest.py
test_parser.py software healthy tests/parser/test_parser.py
test_xml_to_py_to_rdf.py software healthy tests/parser/test_xml_to_py_to_rdf.py
test_aggregation_uri_validation.py software healthy tests/parser/test_aggregation_uri_validation.py
restored_1.json software healthy tests/parser/functional/restored_1.json
schema.json software healthy tests/parser/functional/schema.json
test_1.json software healthy tests/parser/functional/test_1.json
tests.py software healthy tests/parser/functional/tests.py
manual_test.py software healthy tests/parser/functional/manual_test.py
test_rights.py software healthy tests/edm/test_rights.py
record-input-data.json software healthy tests/edm/record-input-data.json
__init__.py software healthy tests/edm/__init__.py
conftest.py software healthy tests/edm/conftest.py
test_edm_providedCHO.py software healthy tests/edm/test_edm_providedCHO.py
test_generic_tests.py software healthy tests/edm/test_generic_tests.py
test_edm_classes.py software healthy tests/edm/test_edm_classes.py
test_record.py software healthy tests/edm/test_record.py
test_value_types.py software healthy tests/edm/test_value_types.py
test_uri.py software healthy tests/edm/test_uri.py
test_uri_ref.py software healthy tests/edm/test_uri_ref.py
web-resource-input-data.json software healthy tests/edm/web-resource-input-data.json
cho-id-mismatch.json software healthy tests/edm/conftest-files/cho-id-mismatch.json
validate.py software warning examples/validate.py
__init__.py software healthy examples/__init__.py
parse_rdf_xml.py software warning examples/parse_rdf_xml.py
parse_jsonld.py software warning examples/parse_jsonld.py
full.json software healthy examples/full.json
minimal.json software healthy examples/minimal.json
serialize_to_json_ld.py software warning examples/serialize_to_json_ld.py
parser.py software healthy edmlib/parser.py
__init__.py software healthy edmlib/__init__.py
shared_types.py software healthy edmlib/shared_types.py
enums.py software healthy edmlib/edm/enums.py
__init__.py software healthy edmlib/edm/__init__.py
value_types.py software healthy edmlib/edm/value_types.py
exceptions.py software healthy edmlib/edm/exceptions.py
base.py software healthy edmlib/edm/base.py
record.py software healthy edmlib/edm/record.py
jsonld_cached_documentloader.py software healthy edmlib/edm/jsonld_cached_documentloader.py

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
TestSanitizeUrlQuotation software healthy tests/edm/test_uri.py:13
EDM_Parser software healthy edmlib/parser.py:112
MANDATE software healthy edmlib/shared_types.py:5
CARDINALITY software healthy edmlib/shared_types.py:17
EDM_Namespace software healthy edmlib/edm/enums.py:11
XSD_Types software healthy edmlib/edm/enums.py:78
MANDATE software healthy edmlib/edm/enums.py:176
CARDINALITY software healthy edmlib/edm/enums.py:192
Ref software healthy edmlib/edm/value_types.py:9
Lit software healthy edmlib/edm/value_types.py:38
InvalidRefException software healthy edmlib/edm/exceptions.py:4
EDM_BaseClass software healthy edmlib/edm/base.py:9
EDM_Record software healthy edmlib/edm/record.py:38
SKOS_Concept software healthy edmlib/edm/classes/context.py:7
EDM_Agent software healthy edmlib/edm/classes/context.py:272
EDM_TimeSpan software healthy edmlib/edm/classes/context.py:690
CC_License software healthy edmlib/edm/classes/context.py:874
EDM_Place software healthy edmlib/edm/classes/context.py:921
ORE_Aggregation software healthy edmlib/edm/classes/core.py:12
EDM_ProvidedCHO software healthy edmlib/edm/classes/core.py:294
EDM_WebResource software healthy edmlib/edm/classes/core.py:1303
SVCS_Service software healthy edmlib/edm/classes/service.py:7
UsageArea software healthy edmlib/edm/validation/3d_vocabularies.py:6
DigitalSourceType software healthy edmlib/edm/validation/3d_vocabularies.py:28
ModelType software healthy edmlib/edm/validation/3d_vocabularies.py:41

LabelLayerStatusPath
.devcontainer software healthy .devcontainer
tests software healthy tests
parser software healthy tests/parser
functional software healthy tests/parser/functional
edm software healthy tests/edm
conftest-files software healthy tests/edm/conftest-files
examples software healthy examples
edmlib software healthy edmlib
edm software healthy edmlib/edm
classes software healthy edmlib/edm/classes
validation software healthy edmlib/edm/validation
.github software healthy .github
workflows software healthy .github/workflows

LabelLayerStatusPath
image::.devcontainer/Dockerfile hardware healthy .devcontainer/Dockerfile
edmlib-devcontainer hardware healthy .devcontainer/compose.yml

LabelLayerStatusPath
gha::publish-to-pypi cicd healthy .github/workflows/publish-to-pypi.yml
gitlab-ci cicd healthy .gitlab-ci.yml

LabelLayerStatusPath
PYPI_TOKEN cicd healthy
GITLAB_PACKAGING_REGISTRY_TOKEN cicd healthy

LabelLayerStatusPath
repobility-clone-ptzwh7lc software healthy /tmp/repobility-clone-ptzwh7lc

LabelLayerStatusPath
192.0.2.1 network healthy tests/edm/conftest.py

LabelLayerStatusPath
port:15001 network healthy tests/edm/conftest-files/cho-id-mismatch.json

LabelLayerStatusPath
vps::aws hardware healthy edmlib/edm/classes/core.py

LabelLayerStatusPath
publish cicd healthy .github/workflows/publish-to-pypi.yml
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/6eb8cbf3-dacf-4c7a-894e-f278de8ac11c/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/6eb8cbf3-dacf-4c7a-894e-f278de8ac11c/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.