Skip to main content

PyGyver

PyGyver is a user-friendly python package for data integration and manipulation.

Named after MacGyver, title character in the TV series MacGyver, and Python, the main language used in the repository.

Installation

PyPi

PyGyver is available on PyPi.

pip install pygyver

Setup

Most APIs requires access token files to authentificate and perform tasks such as creating or deleting objects. Those files need to be generated prior to using pygyver and stored in the environment you are executing your code against. The package make use of environment variables, and some of the below might need be supplied in your environment:

# Access token path
GOOGLE_APPLICATION_CREDENTIALS=path_to_google_access_token.json
FACEBOOK_APPLICATION_CREDENTIALS=path_to_facebook_access_token.json

# Default values
BIGQUERY_PROJECT=your-gcs-project
GCS_PROJECT=your-gcs-project
GCS_BUCKET=your-gcs-bucket

# Optional
PROJECT_ROOT=path_to_where_your_code_lives

Modules

PyGyver is structured around several modules available in the etl folder. Here is a summary table of those modules:

Module name Descrition Documentation
dw Perform task against the Google Cloud BigQuery API dw.md
facebook Perform task against the Facebook Marketing API facebook.md
gooddata Perform task against the GoodData API -
gs Perform task against the Google Sheet API -
lib Store utilities used by other modules -
pipeline Utility to build data pipelines via YAML definition pipeline.md
prep Data transformation - ML pipelines -
storage Perform task against the AWS S3 and Google Cloud Storage API storage.md
toolkit Sets of tools for data manipulation -

In order to load BigQueryExecutor from the dw module, you can run:

from pygyver.etl.dw import BigQueryExecutor

Contributing

To get started...

Step 1

  • 👯 Clone this repo to your local machine using git@github.com:madedotcom/pygyver.git

Step 2

  • HACK AWAY! 🔨🔨🔨

The team follows TDD to develop new features on pygyver. Tests can be found in pygyver/tests.

Step 3

  • 🔃 Create a new pull request and request review from team members. Where applicable, a test should be added with the code change.

FAQ

  • How to release a new version to PyPi?
    1. Merge your changes to master branch
    2. Create a new release using https://github.com/madedotcom/pygyver/releases

Metadata

Release files for pygyver 0.1.1.42

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygyver 0.1.1.42
File Size Uploaded Provenance Actions
pygyver-0.1.1.42.tar.gz 63.4 kB Without provenance Details for pygyver-0.1.1.42.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pygyver 0.1.1.42
File Interpreter ABI Platform Actions
pygyver-0.1.1.42-py3-none-any.whl Python 3 none any Details for pygyver-0.1.1.42-py3-none-any.whl

Total release size: 115.4 kB

Release files / pygyver-0.1.1.42.tar.gz

Download URL pygyver-0.1.1.42.tar.gz
Size 63.4 kB
Tags Source
SHA-256 checksum
How to use checksums
036e837607c2a6952927fdf54bae24b50cd034aaf4b85945a0300e7ba546320d
BLAKE2b-256 checksum
How to use checksums
e6c0cb05b7eef1faeda980138bf515390099bff1ac59fbc9c8e1a819da00d2f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / pygyver-0.1.1.42-py3-none-any.whl

Download URL pygyver-0.1.1.42-py3-none-any.whl
Size 52.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96dcaf42fffe80c01bafedf46d7978d2f8470c44b3075fa79de7333f580f9555
BLAKE2b-256 checksum
How to use checksums
d9c221a405f78613c98419bfa0adac0d90e91d2d5c7f267d7b2f730cb7e7b096
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Security for pygyver 0.1.1.42

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1.42 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page