Skip to main content

A module containing helpers and shared code related to identity systems within UIS, University of Cambridge.

Project description

Identity Lib

This Python package contains shared code related to Identity systems within UIS. It's primary purpose is to encourage code-reuse and to allow for client systems to make use of the same data structures and logic that is contained within our emergent identity APIs.

Use

Install ucam-identitylib using pip:

pip install ucam-identitylib

The module can then be used as identitylib:

from identitylib.identifiers import Identifier

identifier = Identifier.from_string('wgd23@v1.person.identifiers.cam.ac.uk')
print(identifier)

Developer quickstart

This project contains a dockerized testing environment which wraps tox.

Tests can be run using the ./test.sh command:

# Run all PyTest tests and Flake8 checks
$ ./test.sh

# Run PyTest and Flake8 and recreate test environments
$ ./test.sh --recreate

# Run just PyTest
$ ./test.sh -e py3

# Run a single test file within PyTest
$ ./test.sh -e py3 -- tests/test_identifiers.py

# Run a single test file within PyTest with verbose logging
$ ./test.sh -e py3 -- tests/test_identifiers.py -vvv

Pulling latest specs from source repositories

Local copies of the OpenAPI specs used to generate the library should be pulled in to this repo so the specific specs used in each build are under revision control. This can be done using the provided script:

$ ./pull-specs.sh

# If an access token required for https clones from gitlab repositories
# then this can be specified using:
$ ./pull-specs.sh --token "ACCESS_TOKEN_HERE"

# You may need to first set the $USER environment variable to match the GitLab account name.

Generating the identitylib

The identitylib is generated during the docker build process. To create a local copy of the identitylib distribution use the build script:

$ ./build-local.sh

This will create a new folder /dist in the current directory with the wheel and tar package for identitylib.

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

ucam-identitylib-1.0.16.tar.gz (330.8 kB view details)

Uploaded Source

Built Distribution

ucam_identitylib-1.0.16-py3-none-any.whl (801.1 kB view details)

Uploaded Python 3

File details

Details for the file ucam-identitylib-1.0.16.tar.gz.

File metadata

  • Download URL: ucam-identitylib-1.0.16.tar.gz
  • Upload date:
  • Size: 330.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for ucam-identitylib-1.0.16.tar.gz
Algorithm Hash digest
SHA256 fd879e88e2bb2ffeb14a45813cda6e199749164c9f894f1a554203769e0feea8
MD5 36101a1c89cd5c04cb814b9973a7000f
BLAKE2b-256 57d1707f84f4e204b4d744bf10d9c83ade3cf30ce4504548b695ed54ce3096d6

See more details on using hashes here.

File details

Details for the file ucam_identitylib-1.0.16-py3-none-any.whl.

File metadata

File hashes

Hashes for ucam_identitylib-1.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 9e16ad9df6df393dad6ff5cb75df1d1476be91085b3deab77732ac73e6d9296b
MD5 212ca24083c2e9b5d6cae9ba4014a5ea
BLAKE2b-256 1648baf7a341a99f766e4f3d109c0620d5fbe1b42b5ee5e24d3a67292f236cac

See more details on using hashes here.

Supported by

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