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?
- Merge your changes to
masterbranch - Create a new release using
https://github.com/madedotcom/pygyver/releases
- Merge your changes to
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.