Skip to content

arenadata/adcm-aio-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Releases

No releases published

Packages

No packages published

Languages