NODA EnergyView client API Library.
EVClient is a simple, yet efficient library to interface with the HTTP API exposed through NODA EnergyView.
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/noda/evclient.git
$ cd evclient
$ virtualenv venv
...
$ . venv/bin/activate
$ python -m pip install -r requirements/requirements.txt
After installing evclient, 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 EV_DOMAIN="my-domain"
$ export EV_API_KEY="my-api-key"
Then, from a Python interpreter (Input parameters can be omitted if above step is used):
>>> from evclient import EVClient
>>> client = EVClient(domain='my-domain', api_key='my-api-key')
>>> nodes = client.get_nodes()
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.