Metadata-Version: 2.1
Name: flowbio
Version: 0.3.2
Summary: A client for the Flow API.
Home-page: https://github.com/goodwright/flowbio
Author: Sam Ireland
Author-email: sam@goodwright.com
License: MIT
Keywords: nextflow bioinformatics pipeline
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: !=2.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: tqdm
Requires-Dist: kirjava
Requires-Dist: requests

flowbio
=======

A client for the Flow API.

.. code-block:: python
    
    import flowbio

    client = flowbio.Client()
    client.login("your_username", "your_password")

    # Upload standard data
    data = client.upload_data("/path/to/file.fa", progress=True, retries=5)
    print(data)

    # Upload sample
    sample = client.upload_sample(
        "My Sample Name",
        "/path/to/reads1.fastq.gz",
        "/path/to/reads2.fastq.gz", # optional
        progress=True,
        retries=5,
        metadata={
            "category": "RNA-Seq",
            "strandedness": "unstranded",
        }
    )
    print(sample)

    # Upload multiplexed
    multiplexed = client.upload_multiplexed(
        "/path/to/reads.fastq.gz",
        progress=True,
        retries=5,
    )
    print(multiplexed)

    # Upload annotation
    annotation = client.upload_annotation(
        "/path/to/annotation.csv",
        progress=True,
        retries=5,
    )
    print(annotation)

    # Run pipeline
    execution = client.run_pipeline(
        "RNA-Seq",
        "3.8.1",
        "23.04.3",
        params={"param1": "param2"},
        data_params={"fasta": 123456789},
    )


