Skip to main content

decidalo_client.py

License: MIT Python Versions (officially) supported Pypi status badge

Unittests status badge Coverage status badge Linting status badge Formatting status badge

An async Python client for the decidalo V3 Import API.

[!IMPORTANT] This is a community project and is not an official decidalo client. It is not affiliated with or endorsed by decidalo GmbH.

Installation

pip install decidalo_client

Usage

import asyncio
from decidalo_client import DecidaloClient, DecidaloAPIError, DecidaloAuthenticationError

async def main() -> None:
    async with DecidaloClient(api_key="your-api-key") as client:
        # Get all users
        users = await client.get_users()
        for user in users:
            print(f"{user.displayName} ({user.email})")

        # Get all projects
        projects = await client.get_all_projects()
        for project in projects:
            print(f"{project.properties.name.value}")

if __name__ == "__main__":
    asyncio.run(main())

Error Handling

import asyncio
from decidalo_client import DecidaloClient, DecidaloAPIError, DecidaloAuthenticationError

async def main() -> None:
    async with DecidaloClient(api_key="your-api-key") as client:
        try:
            users = await client.get_users()
        except DecidaloAuthenticationError as e:
            print(f"Authentication failed: {e.message}")
        except DecidaloAPIError as e:
            print(f"API error {e.status_code}: {e.message}")

if __name__ == "__main__":
    asyncio.run(main())

Features

  • Async HTTP client built on aiohttp
  • Type-safe request/response models using pydantic
  • All major API endpoints:
    • Users - Get users, import users (sync/async), check import status
    • Teams - Get teams, import teams (sync/async), check import status
    • Companies - Get companies, import companies
    • Projects - Get projects, get all projects, import projects, check existence
    • Bookings - Get bookings, get bookings by project, import bookings
    • Absences - Get absences, import absences
    • Resource Requests - Get resource requests, import resource requests
    • Roles - Import roles
    • Working Time Patterns - Get working time patterns, import working time patterns

Development

Clone the repository and install the development environment:

git clone https://github.com/Hochfrequenz/decidalo_client.py.git
cd decidalo_client.py
tox -e dev

To regenerate the Pydantic models from the OpenAPI spec:

tox -e codegen

For detailed information on the development setup (tox configuration, IDE setup, etc.), see the Hochfrequenz Python Template Repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decidalo_client-0.0.1.tar.gz (50.9 kB view details)

Uploaded Source

Built Distribution

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

decidalo_client-0.0.1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file decidalo_client-0.0.1.tar.gz.

File metadata

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

File hashes

Hashes for decidalo_client-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b8ae536082aecfab36df2dabfb1b30fb3f819bf67c1fffd7df6f913fec315221
MD5 05f98561c6043279ce4cbecc06bc165b
BLAKE2b-256 85290696079ad5ddd8d6a09676ebff6f0a5298301bcee5c20f23a1d04dbf94d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for decidalo_client-0.0.1.tar.gz:

Publisher: python-publish.yml on Hochfrequenz/decidalo_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 decidalo_client-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for decidalo_client-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fe43e91960bce27c19093d4f748bb585beb53874322e6c1752015230ce900d01
MD5 6dd32f2c716afc715443adc23fcc6149
BLAKE2b-256 8043ec02617d4257cfe2c697f9e14202e02e8a989548170dcb8a9a7cb501609a

See more details on using hashes here.

Provenance

The following attestation bundles were made for decidalo_client-0.0.1-py3-none-any.whl:

Publisher: python-publish.yml on Hochfrequenz/decidalo_client.py

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

Release history Release notifications | RSS feed

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.2

2 files

This release

0.0.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page