Metadata-Version: 2.1
Name: ark-client-certic
Version: 0.2.0
Summary: Ark Python client library
License: CECILL-C
Author: Mickaël Desfrênes
Author-email: mickael.desfrenes@unicaen.fr
Requires-Python: >=3.9
Classifier: License :: CeCILL-C Free Software License Agreement (CECILL-C)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: requests (>=2.31.0,<3.0.0)
Description-Content-Type: text/markdown

# Ark Python client

Basic usage:

```
from ark_client import Client, ClientError
api = Client(YOUR_APP_ID, YOUR_SECRET_KEY, "https://ark.provider.tld/api/v1/")

ark_name = api.create(
    "http://somewhere.tld/some-resource/", {
        "who": "someone", 
        "what": "something", 
        "where": "somewhere" 
    }
)

ark_infos = api.read(ark_name)

api.update(ark_name, "http://somewhereelse.tld/some-resource/")

try:
    api.read("doesnot/exist")
except ClientError as e:
    print(e.response.status_code)  # response contains a Python/Requests response object
```

Batch mode:

```
batch = api.batch()
batch.read(ark_name)
batch.create("http://somewhere.tld/some-resource/")
batch.update(anothe_ark_name,"http://somewhere.tld/some-other-resource/")
for item in batch.commit():
    print("{}: {}".format(item["ark_name"], item["ark_location"]))

```

In batch mode, method chaining is available:

```
api.batch()
   .read(some_ark_name)
   .read(some_other_ark_name)
   .update(yet_another_name, "http://somewhereelse.tld/")
   .commit()
```

