Skip to main content

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

cherrypy_utils-1.2.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

cherrypy_utils-1.2.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

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

Hashes for cherrypy_utils-1.2.0.tar.gz
Algorithm Hash digest
SHA256 82174375abe24d6bb520a3e4707950909172b879d37e5aa6730be70d5e781302
MD5 e000043e4fd7c0e36d4677a0664348f8
BLAKE2b-256 877f5c6cf14ac64bd4bef5eb570b3fda7a7e2e969b15fd80d1ca9aa919e8de2f

See more details on using hashes here.

File details

Details for the file cherrypy_utils-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cherrypy_utils-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e5aba0f9e74f27ae3cb4a91529eacd4ac9d44f1c7f625b3ab29f7c4fb0142ec
MD5 a3fcf516b62fedfefc4d74a1b6771b4e
BLAKE2b-256 1e6c97a3468993af8c0953bc51a5557915f15be43ee63424ca6bf6e08edb3c23

See more details on using hashes here.

Supported by

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