Metadata-Version: 2.4
Name: reproschema
Version: 1.1.0
Summary: Reproschema Python library
Project-URL: Homepage, https://github.com/ReproNim/reproschema-py
Author-email: Repronim developers <info@repronim.org>
Maintainer-email: Repronim developers <info@repronim.org>
License: Apache License, 2.0
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: beautifulsoup4
Requires-Dist: click
Requires-Dist: etelemetry
Requires-Dist: fhir-resources>=v8.0.0
Requires-Dist: lxml
Requires-Dist: pandas
Requires-Dist: pydantic>=2.0
Requires-Dist: pyld
Requires-Dist: pyshacl
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: requests-cache
Provides-Extra: all
Requires-Dist: codecov; extra == 'all'
Requires-Dist: packaging; extra == 'all'
Requires-Dist: pyarrow>=10.0.0; extra == 'all'
Requires-Dist: pyreadr>=0.4.9; extra == 'all'
Requires-Dist: pytest-cov; extra == 'all'
Requires-Dist: pytest-env; extra == 'all'
Requires-Dist: pytest-rerunfailures; extra == 'all'
Requires-Dist: pytest-xdist; extra == 'all'
Requires-Dist: pytest>=4.4.0; extra == 'all'
Requires-Dist: sphinx-rtd-theme; extra == 'all'
Requires-Dist: sphinx>=2.1.2; extra == 'all'
Requires-Dist: sphinxcontrib-apidoc~=0.3.0; extra == 'all'
Requires-Dist: sphinxcontrib-napoleon; extra == 'all'
Requires-Dist: sphinxcontrib-versioning; extra == 'all'
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: codecov; extra == 'dev'
Requires-Dist: packaging; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-env; extra == 'dev'
Requires-Dist: pytest-rerunfailures; extra == 'dev'
Requires-Dist: pytest-xdist; extra == 'dev'
Requires-Dist: pytest>=4.4.0; extra == 'dev'
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
Requires-Dist: sphinx>=2.1.2; extra == 'dev'
Requires-Dist: sphinxcontrib-apidoc~=0.3.0; extra == 'dev'
Requires-Dist: sphinxcontrib-napoleon; extra == 'dev'
Requires-Dist: sphinxcontrib-versioning; extra == 'dev'
Provides-Extra: doc
Requires-Dist: packaging; extra == 'doc'
Requires-Dist: sphinx-rtd-theme; extra == 'doc'
Requires-Dist: sphinx>=2.1.2; extra == 'doc'
Requires-Dist: sphinxcontrib-apidoc~=0.3.0; extra == 'doc'
Requires-Dist: sphinxcontrib-napoleon; extra == 'doc'
Requires-Dist: sphinxcontrib-versioning; extra == 'doc'
Provides-Extra: docs
Requires-Dist: packaging; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Requires-Dist: sphinx>=2.1.2; extra == 'docs'
Requires-Dist: sphinxcontrib-apidoc~=0.3.0; extra == 'docs'
Requires-Dist: sphinxcontrib-napoleon; extra == 'docs'
Requires-Dist: sphinxcontrib-versioning; extra == 'docs'
Provides-Extra: nbdc-parquet
Requires-Dist: pyarrow>=10.0.0; extra == 'nbdc-parquet'
Provides-Extra: nbdc-rds
Requires-Dist: pyreadr>=0.4.9; extra == 'nbdc-rds'
Provides-Extra: test
Requires-Dist: codecov; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-env; extra == 'test'
Requires-Dist: pytest-rerunfailures; extra == 'test'
Requires-Dist: pytest-xdist; extra == 'test'
Requires-Dist: pytest>=4.4.0; extra == 'test'
Provides-Extra: tests
Requires-Dist: codecov; extra == 'tests'
Requires-Dist: pytest-cov; extra == 'tests'
Requires-Dist: pytest-env; extra == 'tests'
Requires-Dist: pytest-rerunfailures; extra == 'tests'
Requires-Dist: pytest-xdist; extra == 'tests'
Requires-Dist: pytest>=4.4.0; extra == 'tests'
Description-Content-Type: text/markdown

![Python package](https://github.com/ReproNim/reproschema-py/actions/workflows/package.yml/badge.svg)

# Reproschema Python library and Command Line Interface (CLI)

The `reproschema-py` library provides a Python interface and a command-line tool to work with ReproSchema, a YAML-based framework for creating and managing reproducible research protocols.

For more information, see the [full documentation](https://ReproNim.github.io/reproschema-py/).

## Installation

reproschema requires Python 3.10+.

```
pip install reproschema
```

## Developer Guide

### Developer installation

Fork this repo to your own GitHub account, then clone and install your forked repo in the developer mode:

```
git clone https://github.com/<your github>/reproschema-py.git
cd reproschema-py
pip install -e .
```
#### Notes on the reproschema model
This repository uses the `pydantic` representation of the `reproschema` model, defined in [model.py](https://github.com/ReproNim/reproschema-py/blob/main/reproschema/models/model.py).
The `pydantic` model is automatically generated from the LinkML model maintained in the [ReproNim/reproschema repository](https://github.com/ReproNim/reproschema).
**All changes to the model should be made in the LinkML source in that repository.**

#### Style
This repo uses pre-commit to check styling.
- Install pre-commit with pip: `pip install pre-commit`
- In order to use it with the repository, you have to run `run pre-commit install` in the root directory the first time you use it.

When pre-commit is used, you may have to run git commit twice,
since pre-commit may make additional changes to your code for styling and will
not commit these changes by default.
