Metadata-Version: 2.1
Name: snakebids
Version: 0.4.0
Summary: BIDS integration into snakemake workflows
Home-page: https://github.com/akhanf/snakebids
License: MIT
Author: Ali Khan
Author-email: alik@robarts.ca
Requires-Python: >=3.7,<3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: PyYAML (>=5.3.1,<6.0.0)
Requires-Dist: colorama (>=0.4.4,<0.5.0)
Requires-Dist: cookiecutter (>=1.7.2,<2.0.0)
Requires-Dist: progress (>=1.6,<2.0)
Requires-Dist: pybids (>=0.14.0,<0.15.0)
Requires-Dist: snakemake (>=5.28.0)
Requires-Dist: typing-extensions (>=3.10.0,<4.0.0)
Project-URL: Documentation, https://snakebids.readthedocs.io/
Project-URL: Repository, https://github.com/akhanf/snakebids
Description-Content-Type: text/x-rst


snakebids
=========
.. image:: https://readthedocs.org/projects/snakebids/badge/?version=latest
  :target: https://snakebids.readthedocs.io/en/latest/?badge=latest
  :alt: Documentation Status

Snakemake + BIDS

This package allows you to build BIDS Apps using Snakemake. It offers:


* Flexible data grabbing with PyBIDS, configurable solely by config file entries
* Helper function for creating BIDS paths inside Snakemake workflows/rules
* Command-line invocation of snakemake workflows with BIDS App compliance
* Configurable argument parsing specified using the Snakemake workflow config
* Execution either as command-line BIDS apps or via snakemake executable

Contributing
============

Clone the git repository. Snakebids dependencies are managed with Poetry, which you'll need installed on your machine. You can find instructions on the `poetry website <https://python-poetry.org/docs/master/#installation>`_. Then, setup the development environment with the following commands::

  poetry install
  poetry run poe setup

Snakebids uses `poethepoet <https://github.com/nat-n/poethepoet>`_ as a task runner. You can see what commands are available by running::

    poetry run poe

If you wish, you can also run ``poe [[command]]`` directly by installing ``poethepoet`` on your system. Follow the install instructions at the link above.

Tests are done with ``pytest`` and can be run via::

  poetry run pytest

Snakebids uses pre-commit hooks (installed via the ``poe setup`` command above) to lint and format code (we use `black <https://github.com/psf/black>`_, `isort <https://github.com/PyCQA/isort>`_, `pylint <https://pylint.org/>`_ and `flake8 <https://flake8.pycqa.org/en/latest/>`_). By default, these hooks are run on every commit. Please be sure they all pass before making a PR.

