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.1.2b0.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.1.2b0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file dimescheduler-0.1.2b0.tar.gz.

File metadata

  • Download URL: dimescheduler-0.1.2b0.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.1.2b0.tar.gz
Algorithm Hash digest
SHA256 6cc3f5688bbd271b1069114393b6d06bcda7479b58f015044f5647e84f8b0462
MD5 feb72ffce13f054ac08169ae92838d88
BLAKE2b-256 4debaaafa1506c587ecd4f6f69bb1ce8e720c0baba8c8952ea94762f4a7f1253

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimescheduler-0.1.2b0.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.1.2b0-py3-none-any.whl.

File metadata

File hashes

Hashes for dimescheduler-0.1.2b0-py3-none-any.whl
Algorithm Hash digest
SHA256 45fa20a29f6a88e2e34a2d448ef058400f72d33d92418be13836f36724903fe0
MD5 37bb110db83e1260be6dc67c17df0e9b
BLAKE2b-256 fe1a3449281d93cf2dcad225bd8da7379c3d5e242d6283ef354a3db55a3bb03f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimescheduler-0.1.2b0-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