Metadata-Version: 2.4
Name: ua-clarity-tools
Version: 1.2.0
Summary: 
License-File: LICENSE
Author: Your Name
Author-email: you@example.com
Requires-Python: >=3.14,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: beautifulsoup4 (>=4.15.0,<5.0.0)
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
Requires-Dist: requests (>=2.34.2,<3.0.0)
Requires-Dist: ua-clarity-api (>=1.1.6,<2.0.0)
Description-Content-Type: text/markdown

# UA-Lims-Tools

Provides 2 sets of tools for use with clarity and it's endpoints: ClarityTools
and StepTools.

## Motivation

To create a set of tools to assist in script writing for Clarity.

## Features

Use ClarityTools as a means of interfacing with Clarity and it's endpoints.

* get_samples will get all samples from a list of uris passed in.

* get_arts_from_samples will get all artifact uris for the list of uris passed.

* get_udfs will find all the udfs that should be attached to target.

* set_reagent_label will set the reagent_label for all artifacts passed.

* step_router will route a list of artifact_uris to a specified step.Use StepTools as a way of interacting with a Clarity step.*

* get_artifacts will return all artifacts from the step.

* get_process_data will retrieve the process data for the current step.

* get_artifact_map creates a mapping of input artifacts to output artifacts.

* set_artifact_udf sets the udfs of all analytes in the step.

* get_artifacts_previous_step will map the current steps artifact uris to an ancestor artifact from the step passed to it.

* get_assays will find the assays within the current protocol.## Code Example

python
from ua_lims_tools import ua_lims_tools
clarity_api = ua_lims_tools.ClarityApi()
step_api = ua_lims_tools.StepTools()

## Installation

bash
pip install ua-lims-tools

## Tests

From the root of the repo run:
python -m unittest ua_clarity_tools.tests.test_ua_clarity_tools

## How to Use

Examples of syntax for each method

python
clarity_api = ua_lims_tools.ClarityApi()
samples = clarity_api.get_samples(uris)

* get_samples gets the samples from the passed in uris.
* Arguments: uris is a list of sample endpoints to get.
* Returns: a list of Sample dataclass objects with gotten sample's data.

## Credits

[sterns1](https://github.com/sterns1)
[raflopjr](https://github.com/raflopjr)
[RyanJohannesBland](https://github.com/RyanJohannesBland)

## LicenseMIT
