Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Azul Client

Azul client is a near complete client for Azul's RestAPI.

Interact with Azul using your terminal instead of clicking in the UI a thousand times!

Tested on ubuntu 22.04.

Install

pip install azul-client

Setup

Azul Client requires a config file located at ~/.azul.ini

A default config will be generated on first run.

You will need to adjust the config options as appropriate.

[default]
azul_url = http://localhost
oidc_url = http://keycloak/.well-known/openid-configuration
auth_type = callback
auth_scopes =
auth_client_id = azul-web
auth_client_secret =
azul_verify_ssl = True
auth_token = {}
auth_token_time = 0
max_timeout = 300.0
oidc_timeout = 10.0

Root CA

If you have extra Root CAs, you will need to make httpx aware of them or it will complain.

Ubuntu - export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

Red Hat - export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt

Alternatively you can point to a certificate directory

export SSL_CERT_DIR=/etc/ssl/certs

This can be added to your ~/.bashrc to prevent you from having to do it for every terminal session.

Usage

For usage guidance refer to the API and CLI documentation.

Integration test suite

The integration test suite is in the tests/integration folder.

The setUpModule method in the file tests/integration/__init__.py creates all files in azul that need to be available for querying and uploading child/dataless. It also waits for those uploaded files to be available in Azul which means during tests you can assume those files exist.

It also exports the sha256's of the files it uploaded to ensure the tests can import those sha256's for their testing.

NOTE - the first time you run the test suite particularly if you've added new files to the module it may be slow. But all subsequent runs will be much faster.

Dependency management

Dependencies are managed in the pyproject.toml and debian.txt file.

Version pinning is achieved using the uv.lock file. Because the uv.lock file is configured to use a private UV registry, external developers using UV will need to delete the existing uv.lock file and update the project configuration to point to the publicly available PyPI registry instead.

To add new dependencies it's recommended to use uv with the command uv add <new-package> or for a dev package uv add --dev <new-dev-package>

The tool used for linting and managing styling is ruff and it is configured via pyproject.toml

The debian.txt file manages the debian dependencies that need to be installed on development systems and docker images.

Sometimes the debian.txt file is insufficient and in this case the Dockerfile may need to be modified directly to install complex dependencies.

Metadata

Release files for azul-client 13.0.107.dev3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azul-client 13.0.107.dev3
File Size Uploaded Provenance Actions
azul_client-13.0.107.dev3.tar.gz 125.1 kB Without provenance Details for azul_client-13.0.107.dev3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for azul-client 13.0.107.dev3
File Interpreter ABI Platform Actions
azul_client-13.0.107.dev3-py3-none-any.whl Python 3 none any Details for azul_client-13.0.107.dev3-py3-none-any.whl

Total release size: 161.9 kB

Release files / azul_client-13.0.107.dev3.tar.gz

Download URL azul_client-13.0.107.dev3.tar.gz
Size 125.1 kB
Tags Source
SHA-256 checksum
How to use checksums
138288ba3f553d05a8a9054abb55f0a2f578a4d58431470532aaacc3e4e9ab4f
BLAKE2b-256 checksum
How to use checksums
7c44d07174283a7d8e73b3614d2300f811176a297dfd533a6ea1869d1f1af322
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / azul_client-13.0.107.dev3-py3-none-any.whl

Download URL azul_client-13.0.107.dev3-py3-none-any.whl
Size 36.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed89916a7f9e3b177c714ef22db7c1be7737eeca58ed5f11ccfdcd0dad0993de
BLAKE2b-256 checksum
How to use checksums
f663f82dfad9e5a7441c86ac8e8f0fb0fc2c0cbc0ae4199e76421bed6d7677ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for azul-client 13.0.107.dev3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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