Skip to main content

Base Authentication Library for VOLTTRON

Project description

volttron-lib-auth

Prototype authentication classes for volttron authentication, authorization and auth service.

Prerequisites

  • Python 3.8
  • Poetry

Python

volttron-lib-auth requires Python 3.8 or above.

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 and Virtual Environment Setup

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:

poetry shell

Git Setup

  1. To use git to manage version control, create a new git repository in your local agent project.
git init
  1. 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'.

  2. 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'.

Publishing to PyPi

Publishing your Agent 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.

Optional Configurations

Precommit

Install pre-commit hooks:

pre-commit install

To run pre-commit on all your files, run this command:

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

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 agent 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 agent project directory>/docs/build/html/index.html

This will open the documentation landing page in your default browsert (e.g. Chrome, Firefox).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

volttron_lib_auth-2.0.0rc8.tar.gz (102.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

volttron_lib_auth-2.0.0rc8-py3-none-any.whl (105.7 kB view details)

Uploaded Python 3

File details

Details for the file volttron_lib_auth-2.0.0rc8.tar.gz.

File metadata

  • Download URL: volttron_lib_auth-2.0.0rc8.tar.gz
  • Upload date:
  • Size: 102.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.10.20 Linux/6.8.0-1059-azure

File hashes

Hashes for volttron_lib_auth-2.0.0rc8.tar.gz
Algorithm Hash digest
SHA256 184c8acb774499a8ec4f1909702b3e0d0e53f7320124ea7878a681ebfc8e92c5
MD5 8bae6c87ae8cd2738def1aeae70d9867
BLAKE2b-256 de5379787b4fb212142c22149c8a9d9c3b91f3b4df466a2329bbf34db42dd167

See more details on using hashes here.

File details

Details for the file volttron_lib_auth-2.0.0rc8-py3-none-any.whl.

File metadata

  • Download URL: volttron_lib_auth-2.0.0rc8-py3-none-any.whl
  • Upload date:
  • Size: 105.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.10.20 Linux/6.8.0-1059-azure

File hashes

Hashes for volttron_lib_auth-2.0.0rc8-py3-none-any.whl
Algorithm Hash digest
SHA256 b5ef3e9f84d3fb134b2164d8fb9196f423109a5a295d9e5bf4361a9a4b4ea43e
MD5 3843f03eff202aed6cb75f3255fd7406
BLAKE2b-256 dee0f3a8f5c9185ea19601a8da93ef6b8b46b0288fca165a77c7c1ce1bb1a959

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page