Metadata-Version: 2.1
Name: directus-python-client
Version: 0.1.2
Summary: A bunch of scripts that abstracts the Directus-REST-Api for faster development.
Author-email: Quving <vinh-ngu@hotmail.com>
Project-URL: Homepage, https://github.com/Quving/directus-python-client
Keywords: python,directus
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: requests (==2.28.1)

# Directus-Python-Client

This library aims to provide a simple and easy to use interface to the Directus API. It is written in Python and uses
the requests library.

## Motivation

Working with APIs can sometimes be a bit cumbersome. If you are not careful, boilerplates can quickly lead to code
duplication. Most of the time they come from similar workflows. Like authentication, request header configuration or
just the execution of the request itself.

## Documentation

### Authentication

```python
from directus_api import DirectusApi

# Authentication
directus_api = DirectusApi(username="username", password="password", endpoint="https://directus.example.com")
```

### Items

Retrieve Items:

```python
...

# Get all items from a collection
items = directus_api.get_items(collection="collection_name")

# Get only 42 items from a collection
items = directus_api.get_items(collection="collection_name", limit=42)

# Filter items with (match_id equals 'wzi6xmt37') only 42 items from a collection
items = directus_api.get_items(collection="collection_name", limit=42,
                               filter_dict={'match_id': {'_eq': 'wzi6xmt37'}})

print(items)
```

Create Items:

```python
...

# Create a single item or multiple items
item = directus_api.create_items(collection="collection_name", data=[{"title": "My new item"}])

```

Update Items:

```python
...

# Update a single item or multiple items. Primary key (here 'id') is required.
item = directus_api.update_items(collection="collection_name", data=[{"title": "My updated item", "id": 1}])

```

Delete Items:

```python
...
# Delete a single item by id from a collection
item = directus_api.delete_item_by_id(collection="collection_name", id=1)

# Delete all items from a collection
item = directus_api.delete_all_items_from_collection(collection="collection_name")

```

#

...

