Skip to main content

Utils and common libraries for Python

Project description

Contributor Covenant

SwissKnife

Hey! Welcome to SwissKnife, a set of tools and functionalities built by the Data Engineering team at @uDATech.

This library is born from an urge of having a common repo to gather some functions that are widely used accross our tools.

Suggestions and contributions are more than welcome, always respecting our Code of Conduct.

Installation guide

This repo is available to download via PyPI and it has different sets of functionalities that can be independently installed:

  • Basic set:

    • Packages included:
      • info
    pip install UDASwissKnife
    
  • Extended set:

    • Packages included:
      • avro
      • gcloud
    pip install UDASwissKnife[avro,gcloud]
    
  • Complete set:

    • Includes both Basic and Extended sets
    pip install UDASwissKnife[all]
    

Using the modules

info

The main goal of this module is to identify the environment in which we are currently working. This is done thanks to an environment variable $ENV which contains the name of the working environment. The accepted case insensitive values of this working environment are:

The object SwissKnife.info.CURRENT_ENVIRONMENT, which is of type ExecutionEnvironment, an enum that contains the following entries:

  • PRO
  • PRE
  • TEST
  • DEV (default)

Then, it's possible to know the working environment using a set of methods which return a boolean indicating whether we are in that environment or not:

  • is_pro()
  • is_pre()
  • is_test()
  • is_dev()

It's also possible to obtain the working environment using object SwissKnife.info.CURRENT_ENVIRONMENT.

Why is there a Dockerfile?

The one and only purpose of the Dockerfile is to execute the tests defined in the project. By building and running the Docker image, tests results will be printed in the terminal. If it's needed to save the result in a file, run:

sudo docker run swissknife:latest > nosetests.xml

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

UDASwissKnife-0.12.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

UDASwissKnife-0.12.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file UDASwissKnife-0.12.0.tar.gz.

File metadata

  • Download URL: UDASwissKnife-0.12.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.7.9 Linux/5.8.0-48-generic

File hashes

Hashes for UDASwissKnife-0.12.0.tar.gz
Algorithm Hash digest
SHA256 7bd2e7c666de0b8ef8cd5ea873ed21543e77dc31d35fa9d3fbecd6ad6267edd5
MD5 8882becc8107d125b253b04af2e2d823
BLAKE2b-256 d48670c83904fb41eb922bacb920014c91b8e2643eada003d069bd0e98ca6bd1

See more details on using hashes here.

File details

Details for the file UDASwissKnife-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: UDASwissKnife-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.7.9 Linux/5.8.0-48-generic

File hashes

Hashes for UDASwissKnife-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47a4df5925f5c49d2a6e1e554c9092807aa4a3c2a928f6f46be894a190f73edb
MD5 bcc244f8ca92f43fb00643d208cb2242
BLAKE2b-256 4b4c71518e6c0cb2448d3d6500bf6169e28a90fc7d8538158f9dffc2c3752faf

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