Metadata-Version: 2.1
Name: bioforklift
Version: 0.2.3
Summary: Package for handling bioinformatics data automations between data sources
License: GPL-3.0
Keywords: terra,bigquery,bioinformatics,data-integration
Author: Michal-Babins
Author-email: michal.babinski@theiagen.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: google (>=3.0.0,<4.0.0)
Requires-Dist: google-api-core (>=2.24.1,<3.0.0)
Requires-Dist: google-api-python-client (>=2.160.0,<3.0.0)
Requires-Dist: google-cloud-bigquery (>=3.29.0,<4.0.0)
Requires-Dist: google-cloud-storage (>=3.1.0,<4.0.0)
Requires-Dist: mkdocs (>=1.6.1,<2.0.0)
Requires-Dist: mkdocs-material (>=9.6.9,<10.0.0)
Requires-Dist: pandas (>=2.2.3,<3.0.0)
Requires-Dist: pandas-gbq (>=0.28.0,<0.29.0)
Requires-Dist: pyarrow (>=19.0.1,<20.0.0)
Requires-Dist: pydantic (>=2.10.6,<3.0.0)
Requires-Dist: pytest-mock (>=3.14.0,<4.0.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: sentry-sdk (>=2.33.2,<3.0.0)
Requires-Dist: sqlalchemy (>=2.0.41,<3.0.0)
Description-Content-Type: text/markdown

# bioforklift

[![Tests](https://github.com/theiagen/bioforklift/actions/workflows/pytests.yml/badge.svg)](https://github.com/theiagen/bioforklift/actions/actions/workflows/pytests.yml)
[![PyPI version](https://badge.fury.io/py/bioforklift.svg)](https://badge.fury.io/py/bioforklift)
[![Downloads](https://pepy.tech/badge/bioforklift)](https://pepy.tech/project/bioforklift)
[![Python versions](https://img.shields.io/pypi/pyversions/bioforklift.svg)](https://pypi.org/project/bioforklift/)
[![License](https://img.shields.io/pypi/l/bioforklift.svg)](https://pypi.org/project/bioforklift/)

It is highly recommend to serve the documentation locally, as the instructions here are not as thorough as the documentation.

### Getting Setup

#### Installing bioforklift

To install bioforklift, run `pip install bioforklift`

#### Using the latest unpublished version

This project uses `poetry` for project management

If you don't have poetry present, please install it with:
`pip install poetry`

Then run poetry env activate which will create your environment:
`poetry env activate`

Next, install the dependencies listed in `poetry.lock` utilizing:
`poetry install`

The dependencies will be installed based on the locked versions in the `poetry.lock` file, since I already ran `poetry install` and pushed the lock file. For more information on poetry, read here: https://python-poetry.org/docs/basic-usage/

Finally, re authorize your gcloud authentication. This obtains your credentials via a web flow and stores them in 'the well-known location for Application Default Credentials'. Now any code/SDK you run will be able to find the credentials automatically. This is a good stand-in when you want to locally test code which would normally run on a server and use a server-side credentials file. `gcloud auth application-default login`

### Overview
<img src="assets/diagrams/Forklift_Base_Architecture.png" alt="bioforklift Base Architecture" width="800" style="max-width: 100%;" />

