Skip to main content

The official Python SDK for Dime.Scheduler

Project description

Dime.Scheduler SDK for Python

The official Python SDK for Dime.Scheduler.

Status: alpha. The domain-grouped accessor surface is in place; typed entity models are landing.

Installation

pip install dimescheduler
# or
uv add dimescheduler

Prereleases

Alpha / beta / release-candidate builds (e.g. 0.1.1b0 for 0.1.1-beta.0) ship as PyPI prereleases. To opt into them:

pip install --pre dimescheduler

Quick start

from dimescheduler import DimeSchedulerClient, Environment

with DimeSchedulerClient(api_key="MY_API_KEY", environment=Environment.Sandbox) as client:
    result = client.categories.create({
        "name": "INSTALL",
        "displayName": "Install",
        "color": "#22d3ee",
    })
    if not result.ok:
        raise RuntimeError(result.error)

By default the client targets Environment.Production. Switch to Sandbox or Test for non-prod.

API surface

Every entity hangs off a typed accessor on the client. CRUD-shaped entities expose create / update / delete / get_all:

client.categories.create(category)
client.categories.update(category)
client.categories.delete(category)
result = client.categories.get_all()

Endpoints with required parameters expose them directly:

client.appointments.get(start_date, end_date, resources=["R1", "R2"])
client.notifications.get(page=1, limit=50, sort="createdAt:desc")
client.geocoding.geocode_text("221B Baker Street", "GB")
client.optimization.field_service(request)

Every method returns a Result:

result = client.categories.get_all()
result.ok                 # bool — convenience over response.is_success
result.data               # parsed JSON body on success, else None
result.error              # parsed JSON error body on 4xx/5xx, else None
result.response           # underlying httpx.Response

The accessor names mirror the .NET and JS SDKs 1:1 (with idiomatic snake_case), so cross-language code reads the same.

Development

This package is part of the dime-scheduler/sdk monorepo. From packages/python/:

uv sync --extra dev          # install runtime + dev deps
uv run pytest                # run unit tests
uv run ruff check             # lint
./scripts/codegen.sh          # regenerate typed client from ../../spec/openapi.json

License

MIT

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

dimescheduler-0.2.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

dimescheduler-0.2.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file dimescheduler-0.2.0.tar.gz.

File metadata

  • Download URL: dimescheduler-0.2.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dimescheduler-0.2.0.tar.gz
Algorithm Hash digest
SHA256 540c977947592bf36a8dcde0a2ac77c909dd5b7682af48d3e46373b895fa2f40
MD5 eb70b2555bd7bafd3fa0e289ff53891e
BLAKE2b-256 0633c48f680cba9faf50a1c258bf200f1f02059ec2b53adcc584d92ef5238df8

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimescheduler-0.2.0.tar.gz:

Publisher: python-publish.yml on dime-scheduler/sdk

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

File details

Details for the file dimescheduler-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dimescheduler-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dimescheduler-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8626d779be4e3ee7f6e1557ddc68839f2b5a41a6e4d72a119b24e4a3240e66a7
MD5 de75c24e304a27608316994091a78a59
BLAKE2b-256 7bc6b09117cd3203956d9cb5b5b5dcecd1e2d0de5bcaa1b0802232e94a9c63f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimescheduler-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on dime-scheduler/sdk

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