Python Client for interacting with ContentGrid Applications
Project description
ContentGrid Application Client
This ContentGrid Client is a Python library designed to interact with ContentGrid API endpoints, specifically in the HAL response type. For ContentGrid Applications, it provides a convenient interface for performing various operations such as fetching profiles, creating entities, fetching related entities, handling content attributes, and more.
Features
- Profile Handling: Fetch profiles to retrieve HAL-forms specification about available entities and their attributes.
- Entity Operations: Create, fetch, update, and delete entities using a simple functions without needing to worry about headers and authentication.
- Content Handling: Upload and download content on content-attributes of entities.
- Error Handling: Provides basic error handling for network requests.
- Attribute validation: Provides attribute type checks for creating and updating entities. Checks wether attributes have the correct type and if all required attributes are present.
Installation
To install the ContentGrid API Client, you can use pip:
pip install contentgrid-application-client
Usage
ContentGridApplicationClient
from contentgrid-application-client import ContentGridApplicationClient
# Initialize the client with service account
client = ContentGridApplicationClient(
client_endpoint="https://b93ccecf-3466-44c0-995e-2620a8c66ac3.eu-west-1.contentgrid.cloud",
auth_uri="https://auth.eu-west-1.contentgrid.cloud/realms/cg-eade54da-3903-4554-aa5e-2982cd4126f1/protocol/openid-connect/token",
client_id="your_client_id",
client_secret="your_client_secret"
)
# Initialize the client with token
client = ContentGridApplicationClient(
client_endpoint="https://b93ccecf-3466-44c0-995e-2620a8c66ac3.eu-west-1.contentgrid.cloud",
token="your_token"
)
# Fetch profile
profile = client.get_profile()
# Create entity
attributes = {
"name": "Example Entity",
"description": "This is an example entity"
}
entity = client.create_entity("entity-name", attributes)
Testing
Installing requirements:
pip install -r requirements.txt
Running tests:
python -m pytest
Running tests with coverage:
coverage run -m pytest && coverage report -m
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file contentgrid_application_client-0.0.7.tar.gz
.
File metadata
- Download URL: contentgrid_application_client-0.0.7.tar.gz
- Upload date:
- Size: 67.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c87cc8827d3e81d745654ea4ee1b0f0cc93aeecc70ce9b70806061dccfc7a9c |
|
MD5 | 58132622b3b99728e5b7583ed843048d |
|
BLAKE2b-256 | 5bcf5d833a757e42b8d5d9f78caad1a2172799c0d8088a7cddb6182ed6ad54dc |
Provenance
The following attestation bundles were made for contentgrid_application_client-0.0.7.tar.gz
:
Publisher:
publish.yml
on xenit-eu/contentgrid-python-client
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
contentgrid_application_client-0.0.7.tar.gz
- Subject digest:
8c87cc8827d3e81d745654ea4ee1b0f0cc93aeecc70ce9b70806061dccfc7a9c
- Sigstore transparency entry: 150792449
- Sigstore integration time:
- Predicate type:
File details
Details for the file contentgrid_application_client-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: contentgrid_application_client-0.0.7-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86652a6179ed8c2b220ff1877802adaa735983f616a7cb4409e36350da777136 |
|
MD5 | e6023b3b7a1ff53125fafc58da648d7a |
|
BLAKE2b-256 | 0b76a72f3afac3febf4f945dea6f72792b2f135d87c0268cef938d55acaed769 |
Provenance
The following attestation bundles were made for contentgrid_application_client-0.0.7-py3-none-any.whl
:
Publisher:
publish.yml
on xenit-eu/contentgrid-python-client
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
contentgrid_application_client-0.0.7-py3-none-any.whl
- Subject digest:
86652a6179ed8c2b220ff1877802adaa735983f616a7cb4409e36350da777136
- Sigstore transparency entry: 150792450
- Sigstore integration time:
- Predicate type: