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-clientrequires Python 3.12+.
pip install adcm-aio-clientTo 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
Bundleentity can be found here - Examples of the available API for the
Clusterentity can be found here - Examples of the available API for the
Serviceentity can be found here - Examples of the available API for the
Hostproviderentity can be found here - Examples of the available API for the
Hostentity can be found here - Examples of the available API for the
Host Groupentity 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.gitWe 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 installThe 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 devTo check the code style, run:
poetry run ruff checkTo check the types, run:
poetry run pyrightTo run the code auto-formatting:
poetry run ruff format
poetry run ruff check --fixFor testing, we use pytest.
To install the dependencies, run:
poetry install --with testTo run the unit tests:
poetry run pytest tests/unitTo run the integration tests:
poetry run pytest tests/integration