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.3.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

cherrypy_utils-1.3.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file cherrypy_utils-1.3.0.tar.gz.

File metadata

  • Download URL: cherrypy_utils-1.3.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for cherrypy_utils-1.3.0.tar.gz
Algorithm Hash digest
SHA256 b8c120fa0561b009cb0a62c7cbe3bbfcae90212c382cd67a6a033265389f5bb8
MD5 fa14fdf280d4a2fe2a0df2a4bc8f4f93
BLAKE2b-256 90c578d83c782301a297750d550d05b0d3ce836ff855bbed640bdb55ea99a8f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cherrypy_utils-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77c0b4489be270a9317c3046cd9caf48b175546f1520f6da34cdf3c14c2a8ca4
MD5 1f6919150153833ac65101b1ad3e5c25
BLAKE2b-256 5e0b7720940050cbd163e8bb6330555069dfc63f756ea5d9a73d69f9f945579c

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