Metadata-Version: 2.5
Name: iirds
Version: 0.1.0
Summary: Read and write iiRDS packages. The seed of a community SDK, held in stewardship for the iiRDS ecosystem.
Project-URL: Homepage, https://github.com/dev365code/iirds
Project-URL: Validator, https://github.com/dev365code/iirds-validate
Author-email: Wooyong Lee <zero8004paz@gmail.com>
License: Apache-2.0
License-File: LICENSE
Keywords: iirds,intelligent-information,rdf,technical-documentation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Requires-Dist: rdflib>=6
Provides-Extra: dev
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Description-Content-Type: text/markdown

# iirds

Read and write [iiRDS](https://iirds.org) packages in Python.

```sh
pip install iirds
```

```python
import iirds

with iirds.open("machine-docs.iirds") as pkg:
    print(pkg.version, pkg.variant)      # "1.3" "unrestricted"
    graph = pkg.graph                    # rdflib.Graph of META-INF/metadata.rdf
    data = pkg.read("content/topic1.xhtml")

iirds.pack("my-package-directory/")     # → my-package-directory.iirds,
                                         #   mimetype first and stored,
                                         #   byte-identical on every run
```

Deliberately small: open a container, get the metadata as an RDF graph, read
files, write a conformant container back. **It does not validate** — that is
[iirds-validate](https://github.com/dev365code/iirds-validate)'s job (185
rules, offline, CI-friendly), and keeping the two apart keeps this library at
one dependency (rdflib).

Two things the `pack()` half gets right that generic ZIP tooling gets wrong:
the `mimetype` entry is first and stored uncompressed, and packing the same
directory twice produces byte-identical output (honouring
`SOURCE_DATE_EPOCH`), so "this archive came from that directory" is checkable
with a hash instead of taken on trust.

## Stewardship

The `iirds` name on PyPI belongs to the standard's community more than to any
one project. **Should the iiRDS Consortium want this name for an official
SDK, it will be transferred on request** — until then it does real work
rather than squatting. `iirds-sdk` is an alias of this package and travels
under the same pledge.

This is an unofficial project, not affiliated with or endorsed by the iiRDS
Consortium or tekom Deutschland e.V. "iiRDS" is used descriptively, to name
the standard these functions read and write.

## API stability

0.x: the surface will grow (query helpers, JSON-LD, writing metadata — in
that rough order); what is published is intended not to break. The API is
small on purpose — additions are cheap, retractions are not.

## Licence

Apache-2.0, © 2026 Wooyong Lee. Contributions need a `Signed-off-by` line
(DCO); see the workflow in `.github/`.
