Metadata-Version: 2.1
Name: armada-client
Version: 0.2.2
Summary: Armada gRPC API python client
Author-email: G-Research Open Source Software <armada@armadaproject.io>
License: Apache Software License
Requires-Python: <3.9,>=3.7
Description-Content-Type: text/markdown
Requires-Dist: grpcio (>=1.46.3)
Requires-Dist: grpcio-tools (>=1.46.3)
Requires-Dist: mypy-protobuf (>=3.2.0)
Provides-Extra: docs
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: sphinx-jekyll-builder ; extra == 'docs'
Requires-Dist: sphinx-toolbox (==3.2.0b1) ; extra == 'docs'
Provides-Extra: format
Requires-Dist: black (>=22.3.0) ; extra == 'format'
Requires-Dist: flake8 (>=4.0.1) ; extra == 'format'
Requires-Dist: pylint (>=2.13.8) ; extra == 'format'
Requires-Dist: mypy (>=0.971) ; extra == 'format'
Provides-Extra: test
Requires-Dist: pytest (>=7.1.2) ; extra == 'test'

# Armada Python Client
<hr />

The Armada Python client wraps the gRPC services defined in `submit.proto` and `events.proto`.

It supports the following Armada features:
- submitting, cancelling, and re-prioritising jobs, and
- watching for job events.

## Installation

> **These instructions are intended for end-users.** If you wish to develop against armada_client, please see our **[documentation on contributing](CONTRIBUTING.md )**

### PyPI

The Armada python client is available from [armada_client](https://pypi.org/project/armada-client/). It can be installed
with `pip install armada-client`. Documentation and examples of how to use the python can be found on the
[Armada libraries webpage](https://armadaproject.io/libraries). 

### Build from Git
Building from Git is a multi-step process unlike many other Python projects. This project extensively uses generated
code, which is not committed into the repository.

Before beginning, ensure you have:
- A working docker client, or docker-compatible client available under `docker`.
- Network access to fetch docker images and go dependencies.

To generate all needed code, and install the python client:
1) From the root of the repository, run `make python`
2) Install the client using `pip install client/python`. It's strongly recommended you do this inside a virtualenv.
