Metadata-Version: 2.1
Name: serialized-data-interface
Version: 0.2.0
Summary: Serialized Data Interface for Juju Operators
Home-page: https://github.com/canonical/serialized-data-interface/
License: Apache-2.0
Author: Dominik Fleischmann
Author-email: dominik.fleischmann@canonical.com
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: jsonschema (==3.2)
Requires-Dist: ops (==1.1)
Requires-Dist: pyyaml (==5.3)
Requires-Dist: requests (==2.25)
Project-URL: Repository, https://github.com/canonical/serialized-data-interface/
Description-Content-Type: text/markdown

# Serialized Interface Library

https://pypi.org/project/serialized-data-interface/

This libraries enables its user to create serialized and validated Juju Operator interfaces.

An interface Schema will be defined through YAML e.g:

```
type: object
properties:
  service:
    type: string
  port:
    type: number
  access-key:
    type: string
  secret-key:
    type: string
```

When our charms interchange data, this library will validate the data through the schema on both ends.

# Real World Example

**** Minio with Provider Interface: https://github.com/DomFleischmann/charm-minio/tree/argo-relation
* Argo Controller with Requirer Interface: https://github.com/DomFleischmann/argo-operators/tree/operator-v2.3.0/operators/argo-controller

# TODO

* Currently only provides data to App relations, should also support unit relations.

