NODA Self-host client API Library.
NODA Self-host python client is a simple, yet efficient library to interface with the NODA HTTP API exposed through NODA Self-host.
You can find the latest, most up to date, documentation at our doc site.
Assuming that you have Python 3.7 or higher and virtualenv
installed, set up your environment and install the required dependencies like this:
$ git clone https://github.com/self-host/selfhost-python-client.git
$ cd selfhost-python-client
$ virtualenv venv
...
$ . venv/bin/activate
$ python -m pip install -r requirements/requirements.txt
After installing self-host python client, auth credentials can be setup by either providing the credentials as input parameters to the client in code or by exporting specific environment variables.
$ export SELF_HOST_BASE_URL="my-base-url"
$ export SELF_HOST_USERNAME="my-username"
$ export SELF_HOST_PASSWORD="my-password"
Then, from a Python interpreter (Input parameters can be omitted if above step is used):
>>> from selfhost_client import SelfHostClient
>>> client = SelfHostClient(base_url='my-base-url', username='my-username', password='my-password')
>>> users = client.get_users()
You can run tests in all supported Python versions using tox
. By default,
it will run all of the unit tests, linters and coverage. Note that this requires that you have all supported
versions of Python installed, otherwise you must pass -e
.
$ tox
$ tox -e py37,py38
Required dependencies:
pip install -r requirements/requirements.txt
Dev dependencies:
pip install -r requirements/dev.txt
If a dependency is to be added to the project, add it to the appropriate .in file and run:
pip-compile requirements/path-to-file.in
If you would like to sync your local virtual environment with the generated and locked requirements of the project, run:
pip-sync requirements/path-to-file.in requirements/another-file.in
Navigate to the root of the project and run:
tox
Show the list of tox commands available to run individually:
tox -a
tox -e py37,py38,py39,py310
tox -e lint
tox -e cov
tox -e build
Must have built the project prior to running this command.
Running the following command will by default publish the build to TestPyPi:
tox -e publish
If you want to release it to be publically accessible in PyPi, use:
tox -e publish -- --repository pypi
It is recommended that every developer working on this project activate pre-commit hooks.
pre-commit install
tox -e build-docs
This will create a docs/_build/html folder with an index.html file that can be opened in a browser.