Reproschema Python library
Project description
Reproschema Python library and Command Line Interface (CLI)
Installation
reproschema requires Python 3.10+.
pip install reproschema
Developer installation
After you create a fork, you can clone and install repo in developer mode:
git clone https://github.com/<your github>/reproschema-py.git
cd reproschema-py
pip install -e .[dev]
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.
CLI usage
This package installs reproschema
Command Line Interface (CLI).
$ reproschema --help
$ A client to support interactions with ReproSchema
To see help for a specific command, run
reproschema COMMAND --help e.g. reproschema validate --help
Options:
--version
-l, --log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL]
Log level name [default: INFO]
--help Show this message and exit.
Commands:
convert Converts a path to a different format, jsonld,...
create
migrate Updates to a new reproschema version
redcap2reproschema Converts REDCap CSV files to Reproschema format.
reproschema2redcap Converts reproschema protocol to REDCap CSV format.
serve
validate Validates if the path has a valid reproschema format
reproschema2redcap
CLI Usage
You can use this feature directly from the command line. To convert ReproSchema protocol to REDCap CSV format, use the following command
reproschema reproschema2redcap <input_dir_path> <output_csv_filename>
<input_dir_path>
: The path to the root folder of a protocol. For example, to convert the reproschema-demo-protocol provided by ReproNim, you can use the following commands:git clone https://github.com/ReproNim/reproschema-demo-protocol.git cd reproschema-demo-protocol pwd
In this case, the output frompwd
(which shows your current directory path) should be your<input_dir_path>
.<output_csv_filename>
: The name of the output CSV file where the converted data will be saved.
Python Function Usage
You can also use the reproschema2redcap
function from the reproschema-py
package in your Python code.
from reproschema import reproschema2redcap
input_dir_path = "path-to/reproschema-demo-protocol"
output_csv_filename = "output.csv"
reproschema2redcap(input_dir_path, output_csv_filename)
redcap2reproschema
The redcap2reproschema
function is designed to process a given REDCap CSV file and YAML configuration to generate the output in the reproschema format.
Prerequisites
Before the conversion, ensure you have the following:
YAML Configuration File:
- Download templates/redcap2rs.yaml and fill it out with your protocol details.
YAML File Configuration
In the templates/redcap2rs.yaml
file, provide the following information:
- protocol_name: This is a unique identifier for your protocol. Use underscores for spaces and avoid special characters.
- protocol_display_name: The name that will appear in the application.
- protocol_description: A brief description of your protocol.
Example:
protocol_name: "My_Protocol"
protocol_display_name: "Assessment Protocol"
protocol_description: "This protocol is for assessing cognitive skills."
CLI Usage
The `redcap2reproschema`` function has been integrated into a CLI tool, use the following command:
reproschema redcap2reproschema path/to/your_redcap_data_dic.csv path/to/your_redcap2rs.yaml
Optionally you can provide a path to the output directory (defaults is the current directory) by adding option: --output-path PATH
Python Function Usage
You can also use the redcap2reproschema
function from the reproschema-py
package in your Python code.
from reproschema import redcap2reproschema
csv_path = "path-to/your_redcap_data_dic.csv"
yaml_path = "path-to/your_redcap2rs.yaml"
output_path = "path-to/directory_you_want_to_save_output"
reproschema2redcap(csv_file, yaml_file, output_path)
Notes
- The script requires an active internet connection to access the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for reproschema-0.7.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 305fb80a4c1d9369a12033668dfa778f682fe03b36670ddd4bb87165f1a8b64a |
|
MD5 | 1283d1ce6698a16475b8210dc78add51 |
|
BLAKE2b-256 | 585bb4c7f5f68bbb675420178fc1a8094c24d76ce717418287cbefff47506795 |