Skip to main content

Datagraphs python client

Project description

DataGraphs Python Client

Python client library for DataGraphs.

Installation

uv add pydatagraphs

or

pip install pydatagraphs

Quick starts

from datagraphs import Client

# Connect to a project
client = Client(
    project_name="my-project",
    api_key="your-api-key",
)

# Check the API is reachable
print(client.status())

# Retrieve all entities of a given type
products = client.get("Product")

# Query with filters and pagination
results = client.query(q="Acme", page_size=50)
from datagraphs import Client

# Connect to a project
client = Client(
    project_name="my-project",
    api_key="your-api-key",
    client_id="your-client-id",
    client_secret="your-client-secret"
)

# Read the project schema and dataset configurations
schema = client.get_schema()
datasets = client.get_datasets()

# Update the project schema and dataset configurations
client.apply_schema(schema)
client.apply_datasets(datasets)
import json
from datagraphs import Client, Gateway, Schema, Dataset

# Connect to a project
client = Client(
    project_name="my-project",
    api_key="your-api-key",
    client_id="your-client-id",
    client_secret="your-client-secret"
)
gateway = Gateway(client)

# Load / dump data via the Gateway
gateway.dump_data("./backup")
gateway.load_data(from_dir_path="./backup")

# Load / dump project via the Gateway
schema_output_path = "./schemas/"
datasets_output_path = "./datasets/"
gateway.dump_project(schema_output_path, datasets_output_path)

with open("./schemas/myproject-model-v1.0.json") as f:
    schema_data = json.load(f)
with open("./datasets/myproject-datasets-v1.0.json") as f:
    datasets_data = json.load(f)
schema = Schema.create_from(schema_data)
datasets = [Dataset.create_from(d) for d in datasets_data]
gateway.load_project(schema, datasets)

For full API documentation, please see here

Authentication

For read-only access, an API key is sufficient. For write operations, supply OAuth credentials as well:

client = Client(
    project_name="my-project",
    api_key="your-api-key",
    client_id="your-client-id",
    client_secret="your-client-secret",
)

Key classes

Class Description
Client HTTP client for the DataGraphs REST API
Gateway Higher-level wrapper class for deploying projects and bulk export/load of data
Schema In-memory representation of a project's domain model
Dataset Represents a dataset within a project

Development

Install uv, then:

uv sync                                          # create virtualenv & install deps
uv run pytest tests -v                            # unit tests
uv run pytest tests_integration -v                # integration tests
uv run pytest tests -v --capture=tee-sys          # capturing stdout/stderr
uv run pytest --cov=src --cov-report=html         # coverage report
uvx ruff check .                                  # lint

License

MIT — Copyright (c) 2026 Data Language

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

pydatagraphs-0.4.11.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydatagraphs-0.4.11-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file pydatagraphs-0.4.11.tar.gz.

File metadata

  • Download URL: pydatagraphs-0.4.11.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pydatagraphs-0.4.11.tar.gz
Algorithm Hash digest
SHA256 a443efc40d1a7b4ffe18672e86b3cef221c403b51c43dc6fce99ebcaca132ee7
MD5 3c506adb7cb3f0fe8750956f95f04e5b
BLAKE2b-256 c0a1fc3f1495c8cc47101f4e57ae83c1b8269aa8e218c03edfdadacf9f623c99

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydatagraphs-0.4.11.tar.gz:

Publisher: release.yml on datalanguage/datagraphs-client-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydatagraphs-0.4.11-py3-none-any.whl.

File metadata

  • Download URL: pydatagraphs-0.4.11-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pydatagraphs-0.4.11-py3-none-any.whl
Algorithm Hash digest
SHA256 286a90e515412048ce8e420e67472a6263988d25e6c54795f9913fbb5b2a7c51
MD5 d596051e6ed97ec3571c194f50d88855
BLAKE2b-256 717e81e5ee2e1f73dec30bf715dd797d7c47bfa07980a526079af9e94a2979d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydatagraphs-0.4.11-py3-none-any.whl:

Publisher: release.yml on datalanguage/datagraphs-client-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page