Skip to content

Latest commit

 

History

History
123 lines (81 loc) · 2.94 KB

README.md

File metadata and controls

123 lines (81 loc) · 2.94 KB

ADCM AIO Client

Asynchronous Client for ADCM (Arenadata Cluster Manager).

The client supports the minimum version of ADCM 2.5.0.

Introduction

Install adcm-aio-client using pip.

adcm-aio-client requires Python 3.12+.

pip install adcm-aio-client

QuickStarts

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.

Guides

  • 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

Contributing

Development

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

Linting

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

Testing

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