Collection of utility functions and modules for cherrypy web servers
Project description
Overview
This is a generic utility library full of helper functions relating to cherrypy webservice routines. Included are handlers for:
- authentication (authentication.py)
- sqlalchemy with cherrypy (cherrypy_sqlalchemy_utils.py & database.py)
- json parsing and constructing orm entities from json (json_utils.py)
- timestamp (ISO and posix epoch) parsing (timestamp.py)
- url construction and parsing from parts (similar to os.path.join) (url_utils.py)
- ldap login utilities (login/ldap_auth.py & login/models.py)
Usage
To use this package in your project as a dependency (using pipenv), you can add it as a package with the following definition:
[packages]
cherrypy_utils = { git = "${USERNAME}:${PASSWORD}@git.mindmodeling.org:ian.davis/CherrypyUtils.git" }
You will need to export appropriate environment variables for USERNAME and PASSWORD. See this page for more info: https://pipenv.pypa.io/en/latest/advanced/#injecting-credentials-into-pipfiles-via-environment-variables Alternatively, if you save your username/password in git config, pipenv will intelligently use that if you provide the http link instead:
[packages]
cherrypy_utils = { git = "https://git.mindmodeling.org/ian.davis/CherrypyUtils.git" }
Development
This package is developed using Pipenv for package management, which makes dealing with pip packages easier. Check out more here: https://pipenv.pypa.io/en/latest/install/#using-installed-packages
It also uses pyenv to manage multiple different installed versions of python. Currently, this package targets python 3.6.8.
The package uses the black formatter and enforces a strict formatting policy, automatic formatting on save is required.
GCP Deployment
https://packaging.python.org/en/latest/tutorials/packaging-projects/ https://cloud.google.com/artifact-registry/docs/python/authentication#keyring https://cloud.google.com/artifact-registry/docs/python/manage-packages
gcloud artifacts print-settings python --project=afrl-il2-sbx-rh-mm-lab-i9sv --repository=online-experiment-python-utilities --location=us-central1
Setup requires pip packages:
hatchling
keyring
keyrings.google-artifactregistry-auth
Build and deploy using deploy_package_gcp.py Documentation on hatch: https://hatch.pypa.io/dev/
pip install keyring
pip install keyrings.google-artifactregistry-auth
keyring --list-backends
gcloud artifacts print-settings python --project=afrl-il2-sbx-rh-mm-lab-i9sv --repository=online-experiment-python-utilities --location=us-central1
gcloud auth login
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
Built Distribution
File details
Details for the file cherrypy_utils-1.2.0.tar.gz
.
File metadata
- Download URL: cherrypy_utils-1.2.0.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82174375abe24d6bb520a3e4707950909172b879d37e5aa6730be70d5e781302 |
|
MD5 | e000043e4fd7c0e36d4677a0664348f8 |
|
BLAKE2b-256 | 877f5c6cf14ac64bd4bef5eb570b3fda7a7e2e969b15fd80d1ca9aa919e8de2f |
File details
Details for the file cherrypy_utils-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: cherrypy_utils-1.2.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e5aba0f9e74f27ae3cb4a91529eacd4ac9d44f1c7f625b3ab29f7c4fb0142ec |
|
MD5 | a3fcf516b62fedfefc4d74a1b6771b4e |
|
BLAKE2b-256 | 1e6c97a3468993af8c0953bc51a5557915f15be43ee63424ca6bf6e08edb3c23 |