Skip to main content

Utils for Gen3 Commons management

Project description

gen3utils

Utils for Gen3 commons management. Gen3utils includes a CLI and is intended to be used as an external facing tool for validating configuration, generating release notes, posting deployment changes, logging parser information, and more.

Install with pip

pip install gen3utils

manifest.json validation

Validate one or more manifest.json files:

gen3utils validate_manifest cdis-manifest/*/manifest.json

The validation settings can be updated by modifying this file.

etlMapping.yaml validation

Validate an etlMapping.yaml file against the dictionary URL specified in a manifest.json file:

gen3utils validate_etl_mapping etlMapping.yaml manifest.json

Portal Configuration (gitops.json) validation

Validate a gitops.json file against the dictionary URL specified in a manifest.json file and an etlMapping.yaml file. Adds a comment to a pull request listing all the errors encountered when validating against etlMapping.yaml

gen3utils validate_portal_config etlMapping.yaml manifest.json gitops.json <username>/<repository> <pull request number>

To run without making a pull request comment

gen3utils validate_portal_config etlMapping.yaml manifest.json gitops.json

Comment on a PR with any deployment changes when updating manifest services

The command requires the name of the repository, the pull request number and a GITHUB_TOKEN environment variable containing a token with read and write access to the repository. It also comments a warning if a service is pinned on a branch.

pip install gen3utils
gen3utils post-deployment-changes <username>/<repository> <pull request number>

Log parser for CTDS log pipeline

pip install gen3utils
gen3utils s3log --help
gen3utils s3log [OPTIONS] BUCKET PREFIX SCRIPT

Run SCRIPT in Gen3 logs under S3 BUCKET:PREFIX. The SCRIPT should be importable defining a method like this:

def handle_row(obj, line):
    if 1 + 1 == 2:
        return line

For example, to process logs in bucket my-commons-logs at prefix my-logs with a gen3utils/script.py file:

pip install gen3utils
gen3utils s3log my-commons-logs my-logs gen3utils.script

Running tests locally

poetry install -vv
poetry run pytest -vv ./tests

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

gen3utils-0.10.6.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

gen3utils-0.10.6-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file gen3utils-0.10.6.tar.gz.

File metadata

  • Download URL: gen3utils-0.10.6.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.20 Linux/6.8.0-1014-azure

File hashes

Hashes for gen3utils-0.10.6.tar.gz
Algorithm Hash digest
SHA256 407fd63ca4925fd5941d3e6c2b7de7be0a22a73a6d030608c807a6f8f597a32c
MD5 89b8af657d7b28f8b1721aad156c19a2
BLAKE2b-256 1873f3fc6852f5f333297792e33161789294d6871c220f39595dccff1f056fbf

See more details on using hashes here.

File details

Details for the file gen3utils-0.10.6-py3-none-any.whl.

File metadata

  • Download URL: gen3utils-0.10.6-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.20 Linux/6.8.0-1014-azure

File hashes

Hashes for gen3utils-0.10.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7494a5ce0624139e1555f3c2eac7b570baa457d0f533b7ce3b0fb3e3a0ff0fa7
MD5 d509c5d2673b984ae42a72bcb232c024
BLAKE2b-256 86e13f492251ab03a22e2f59ebbf35e7571aa6c1f6d5a2b03f883538c0d70b88

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