Fake Driver supported and maintained by the Volttron team.
Project description
volttron-lib-fake-driver
This project contains Drivers supported and maintained by the Volttron team.
Prerequisites
- Python 3.8
- Poetry 1.2
Python
To install Python 3.8, we recommend using pyenv
.
# install pyenv
git clone https://github.com/pyenv/pyenv ~/.pyenv
# setup pyenv (you should also put these three lines in .bashrc or similar)
export PATH="${HOME}/.pyenv/bin:${PATH}"
export PYENV_ROOT="${HOME}/.pyenv"
eval "$(pyenv init -)"
# install Python 3.8
pyenv install 3.8.10
# make it available globally
pyenv global system 3.8.10
Poetry
This project uses poetry
to install and manage dependencies. To install poetry,
follow these instructions.
Installation
With pip
:
python3.8 -m pip install volttron-lib-fake-driver
# Develop mode
python3.8 -m pip install --editable volttron-lib-fake-driver
Development
Environment
Set the environment to be in your project directory:
poetry config virtualenvs.in-project true
If you want to install all your dependencies, including dependencies to help with developing your agent, run this command:
poetry install
If you want to install only the dependencies needed to run your agent, run this command:
poetry install --no-dev
Activate the virtual environment:
# using Poetry
poetry shell
# using 'source' command
source "$(poetry env info --path)/bin/activate"
Source Control
- To use git to manage version control, create a new git repository in your local agent project.
git init
-
Then create a new repo in your Github or Gitlab account. Copy the URL that points to that new repo in your Github or Gitlab account. This will be known as our 'remote'.
-
Add the remote (i.e. the new repo URL from your Github or Gitlab account) to your local repository. Run the following command:
git remote add origin <my github/gitlab URL>
When you push to your repo, note that the default branch is called 'main'.
Optional Configurations
Precommit
Note: Ensure that you have created the virtual environment using Poetry
Install pre-commit hooks:
poetry run pre-commit install
To run pre-commit on all your files, run this command:
poetry run pre-commit run --all-files
If you have precommit installed and you want to ignore running the commit hooks
every time you run a commit, include the --no-verify
flag in your commit. The following
is an example:
git commit -m "Some message" --no-verify
Publishing to PyPi
Publishing your Driver module to PyPi is automated through the continuous integration workflow provided in ~/.github/workflows/publish_to_pypi.yml
.
You can update that Github Workflow with your credentials to ensure that publishing to PyPi will succeed. The default behavior of
that workflow is to publish to PyPi when a release has been published. If you want to change this behavior, you can modify the
workflow to publish to PyPi based on whatever desired event; see Github Workflows docs
on how to change the events that trigger a workflow.
Documentation
To build the docs, navigate to the 'docs' directory and build the documentation:
cd docs
make html
After the documentation is built, view the documentation in html form in your browser.
The html files will be located in ~<path to project directory>/docs/build/html
.
PROTIP: To open the landing page of your documentation directly from the command line, run the following command:
open <path to project directory>/docs/build/html/index.html
This will open the documentation landing page in your default browsert (e.g. Chrome, Firefox).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for volttron_lib_fake_driver-0.1.1a0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9b4257cd398ce72b484276592c93ff2cd7bf8522ac7446007ce8a34d6429185 |
|
MD5 | 20b4560f2be56e2f3629d014b841c5ea |
|
BLAKE2b-256 | 34b3f4997aa6a2484c3c67a0ee37e5ebe61ef0b5d022a68309e531f5130134b3 |
Hashes for volttron_lib_fake_driver-0.1.1a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8124b181d56032dad8f6a2300a05b6fdb07b341f1091d886233ac7be7c20fb27 |
|
MD5 | 8fe3b5de544023784941e2a9a552b487 |
|
BLAKE2b-256 | cdf0bf49faa9e5f2e10776f44ad7d278178fdf892452353584488c3eb925f534 |