Metadata-Version: 2.4
Name: bfabric
Version: 1.13.29
Summary: Python client for the B-Fabric API
Project-URL: Homepage, https://github.com/fgcz/bfabricPy
Project-URL: Repository, https://github.com/fgcz/bfabricPy
Author: Aleksejs Fomins, Marco Schmidt, Maria d'Errico, Witold Eryk Wolski
Author-email: Christian Panse <cp@fgcz.ethz.ch>, Leonardo Schwarz <leonardo.schwarz@fgcz.ethz.ch>
License: GPL-3.0
Requires-Python: >=3.9
Requires-Dist: eval-type-backport; python_version < '3.10'
Requires-Dist: flask>=3.0.3
Requires-Dist: loguru>=0.7
Requires-Dist: polars-lts-cpu>=0.20.25; platform_machine == 'x86_64' and platform_system == 'Darwin'
Requires-Dist: polars>=0.20.25; platform_machine != 'x86_64' or platform_system != 'Darwin'
Requires-Dist: pydantic>=2.9.2
Requires-Dist: python-dateutil>=2.9.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.26.0
Requires-Dist: rich>=13.7.1
Requires-Dist: suds>=1.1.2
Requires-Dist: zeep>=4.2.1
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: coverage; extra == 'dev'
Requires-Dist: ipython; extra == 'dev'
Requires-Dist: isort; extra == 'dev'
Requires-Dist: licensecheck; extra == 'dev'
Requires-Dist: logot[loguru,pytest]; extra == 'dev'
Requires-Dist: mkdocs; extra == 'dev'
Requires-Dist: mkdocs-material; extra == 'dev'
Requires-Dist: mkdocstrings[python]; extra == 'dev'
Requires-Dist: nox; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: uv; extra == 'dev'
Provides-Extra: doc
Requires-Dist: mkdocs; extra == 'doc'
Requires-Dist: mkdocs-material; extra == 'doc'
Requires-Dist: mkdocstrings[python]; extra == 'doc'
Provides-Extra: test
Requires-Dist: coverage; extra == 'test'
Requires-Dist: logot[loguru,pytest]; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-mock; extra == 'test'
Provides-Extra: typing
Requires-Dist: lxml-stubs; extra == 'typing'
Requires-Dist: mypy; extra == 'typing'
Requires-Dist: types-python-dateutil; extra == 'typing'
Requires-Dist: types-pyyaml; extra == 'typing'
Requires-Dist: types-requests; extra == 'typing'
Description-Content-Type: text/markdown

# bfabricPy

[![PR Checks](https://github.com/fgcz/bfabricPy/actions/workflows/run_unit_tests.yml/badge.svg)](https://github.com/fgcz/bfabricPy/actions/workflows/run_unit_tests.yml)
[![Nightly Integration Tests](https://github.com/fgcz/bfabricPy-tests/actions/workflows/nightly_tests.yml/badge.svg)](https://github.com/fgcz/bfabricPy-tests/actions/workflows/nightly_tests.yml)
[![EDBT'10](https://img.shields.io/badge/EDBT-10.1145%2F1739041.1739135-brightgreen)](https://doi.org/10.1145/1739041.1739135)
[![JIB](https://img.shields.io/badge/JIB-10.1515%2Fjib.2022.0031-brightgreen)](https://doi.org/10.1515/jib-2022-0031)
[![PyPI - bfabric](https://img.shields.io/pypi/v/bfabric?label=bfabric&logo=python&logoColor=white)](https://pypi.org/project/bfabric/)
[![PyPI - bfabric-scripts](https://img.shields.io/pypi/v/bfabric-scripts?label=bfabric-scripts&logo=python&logoColor=white)](https://pypi.org/project/bfabric-scripts/)
[![PyPI - bfabric-app-runner](https://img.shields.io/pypi/v/bfabric-app-runner?label=bfabric-app-runner&logo=python&logoColor=white)](https://pypi.org/project/bfabric-app-runner/)

## Documentation

| Package            | Link                                                                 | Change Log                                                                                                               |
| ------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| bfabric            | [https://fgcz.github.io/bfabricPy](https://fgcz.github.io/bfabricPy) | [bfabric/docs/changelog.md](https://github.com/fgcz/bfabricPy/blob/main/bfabric/docs/changelog.md)                       |
| bfabric-scripts    | [https://fgcz.github.io/bfabricPy](https://fgcz.github.io/bfabricPy) | [bfabric_scripts/docs/changelog.md](https://github.com/fgcz/bfabricPy/blob/main/bfabric_scripts/docs/changelog.md)       |
| bfabric-app-runner | https://fgcz.github.io/bfabricPy/app_runner/                         | [bfabric_app_runner/docs/changelog.md](https://github.com/fgcz/bfabricPy/blob/main/bfabric_app_runner/docs/changelog.md) |

## Introduction

This package implements a Python interface to the [B-Fabric](https://fgcz-bfabric.uzh.ch/bfabric/) system.
Several pieces of functionality are available:

- Python API:
    - General client for all B-Fabric web service operations (CRUD) and configuration management.
    - A relational API for low-boilerplate read access to the B-Fabric system.
- Scripts: Several scripts we use more or less frequently to interact with the system.
- A REST API: A REST API to interact with the B-Fabric system. This allows us to interact with B-Fabric from R
    using [bfabricShiny](https://github.com/cpanse/bfabricShiny).

## Howto cite?

Panse, Christian, Trachsel, Christian and Türker, Can. "Bridging data management platforms and visualization tools to enable ad-hoc and smart analytics in life sciences" Journal of Integrative Bioinformatics, 2022, pp. 20220031. [doi: 10.1515/jib-2022-0031](https://doi.org/10.1515/jib-2022-0031).
