Metadata-Version: 2.4
Name: upshacl
Version: 0.1.0
Summary: Incremental SHACL validation support with reduced graph extraction over Virtuoso.
Keywords: rdf,shacl,virtuoso,validation,incremental
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: rdflib>=7.1.4
Requires-Dist: SPARQLWrapper>=2.0.0
Requires-Dist: pyshacl>=0.31.0
Requires-Dist: shacl-path-query-generator>=0.1.4
Provides-Extra: dev
Requires-Dist: build>=1.2.0; extra == "dev"
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: twine>=5.0.0; extra == "dev"

# UpSHACLAST

```python
from upshacl import GraphSource, UpShaclConfig, run_upshacl

result = run_upshacl(
    data_graph=GraphSource(file_path="data/my_data.ttl"),
    shapes_graph=GraphSource(graph_uri="http://example.org/shapes"),
    insert_graph=GraphSource(file_path="data/insert.ttl"),
    delete_graph=GraphSource(file_path="data/delete.ttl"),
    config=UpShaclConfig(
        query_endpoint="http://localhost:8890/sparql",
        update_endpoint="http://localhost:8890/sparql",
        username="dba",
        password="dba",
        docker_container_name="new_virtuoso",
        data_dir_in_docker="/data",
        storage_dir="/mnt/data/zete",
    ),
)

result.export_reduced_graph("results/reduced_graph.ttl")
result.export_reduced_report("results/reduced_report.ttl")
```

Install locally with:

```bash
pip install -e .
```

After publishing to PyPI:

```bash
pip install upshacl
```

Publish workflow:

```bash
python -m pip install -U build twine
python -m build
python -m twine check dist/*
python -m twine upload dist/*
```
