Asynchronous Client for ADCM (Arenadata Cluster Manager).
The client supports the minimum version of ADCM
2.5.0
.
Install adcm-aio-client
using pip
.
adcm-aio-client
requires Python 3.12+.
pip install adcm-aio-client
To work with clusters, you need to connect to the backend of an existing ADCM.
First, set up your credentials:
from adcm_aio_client import ADCMSession, Credentials
credentials = Credentials(username="admin", password="admin")
Second, you need to get session with ADCM backend:
async with ADCMSession(url="http://127.0.0.1:8000", credentials=credentials) as client:
clusters = await client.clusters.all()
The full list of available APIs can be found in the Guides section.
- Examples of the available API for the
Bundle
entity can be found here - Examples of the available API for the
Cluster
entity can be found here - Examples of the available API for the
Service
entity can be found here - Examples of the available API for the
Hostprovider
entity can be found here - Examples of the available API for the
Host
entity can be found here - Examples of the available API for the
Host Group
entity can be found here
To start developing ADCM AIO Client create a fork of the ADCM AIO Client repository on GitHub.
Then clone your fork with the following command replacing YOUR-USERNAME with your GitHub username:
git clone https://github.com/<YOUR-USERNAME>/adcm-aio-client.git
We use Poetry to automate testing and linting. You need installed Poetry version at least 2.0.0.
You can now install the project and its dependencies using:
poetry install
The project uses the ruff formatter to preserve the source code style. Pyright is used for static type checking.
To install the dependencies, run:
poetry install --with dev
To check the code style, run:
poetry run ruff check
To check the types, run:
poetry run pyright
To run the code auto-formatting:
poetry run ruff format
poetry run ruff check --fix
For testing, we use pytest.
To install the dependencies, run:
poetry install --with test
To run the unit tests:
poetry run pytest tests/unit
To run the integration tests:
poetry run pytest/integration