jrxFive/python-nomad
The project "python-nomad" is a client library designed to interact with HashiCorp Nomad, a popular cluster manager and scheduler. This library provides a Python interface to communicate with Nomad's HTTP API, enabling users to manage and automate Nomad operations programmatically. It supports various connection configurations including HTTP and HTTPS with options for SSL certificate verification, self-signed certificates, and client certificates for secure communication. The library also supports environment variables for configuration, aligning with Nomad CLI tools and other libraries for seamless integration. The library offers comprehensive coverage of Nomad's API, including management of jobs, allocations, nodes, evaluations, deployments, namespaces, ACLs, and more. It provides Pythonic access to these resources with support for common operations such as querying, creating, updating, and deleting Nomad entities. The project includes detailed documentation and examples demonstrating how to instantiate the client, configure security settings, and perform typical tasks like checking job existence, retrieving job allocations, and deregistering jobs. Development and testing are facilitated through virtual environments, Vagrant, and VirtualBox setups, with instructions for running tests against a local Nomad agent. The project is actively maintained with continuous integration workflows for testing and publishing, and it tracks code coverage to ensure quality. It is distributed via PyPI, making it easy to install and update. Overall, python-nomad is a robust and well-documented Python client library that simplifies interaction with HashiCorp Nomad, enabling developers and operators to automate cluster management and workload scheduling tasks efficiently.