Skip to main content

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

Project description

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.

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

azul_client-11.0.93.tar.gz (111.2 kB view details)

Uploaded Source

Built Distribution

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

azul_client-11.0.93-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file azul_client-11.0.93.tar.gz.

File metadata

  • Download URL: azul_client-11.0.93.tar.gz
  • Upload date:
  • Size: 111.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for azul_client-11.0.93.tar.gz
Algorithm Hash digest
SHA256 98bf7253ec623e6b1d48ccc5d5de254b2d52d31835c4e426a8d32d0ac1daec6e
MD5 f2e2a8005dfd970d6fd67198c510922a
BLAKE2b-256 997bb4a834e4c69ca03ad40e3e4b7c314a01f527df90bb0fc9fdb3a4f563e60c

See more details on using hashes here.

File details

Details for the file azul_client-11.0.93-py3-none-any.whl.

File metadata

  • Download URL: azul_client-11.0.93-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for azul_client-11.0.93-py3-none-any.whl
Algorithm Hash digest
SHA256 2fa8d3da826717cc80cae64c11baaf7711505deb2aae1667c2e81b988f205c90
MD5 1bef7b49b0543212068479538ff6b03e
BLAKE2b-256 c5517ea108f2cebb7d7915341a7a649933f5478c6054c1e2d1928e5d6f6f4697

See more details on using hashes here.

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