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.1.0.tar.gz (6.2 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cherrypy_utils-1.1.0.tar.gz
  • Upload date:
  • Size: 6.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for cherrypy_utils-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e42ef1df94a2ff8990147d388f9e9ab5cfaa54740ae5a22d2a18000fbb2fc88d
MD5 9b4b991c24552ad94d30877eb4d5771a
BLAKE2b-256 0cd7af904542b4b23f25bdec989a55dbc59d156af1bb15872b09a47e0fe393d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cherrypy_utils-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f98a842fc52892a48b090216ae66e262f1c23a8a191b58ad81d7d671ca92e7e5
MD5 51bb475581fa55d33f7a495793db99eb
BLAKE2b-256 7bc2a6d08c1c263debcc3398610bf797cc9943b7c98f1999f659cfdb27dd13ef

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