Skip to main content

Declarative pipelines based on Filetrees

Project description

Documentation File-tree Documentation DOI Pipeline status Coverage report

Declarative pipelines based on Filetrees. A pipeline is defined by:

  • A file-tree, which defines the directory structure of the inputs and outputs of the pipeline. A tutorial on these file-trees is available here.
  • A set of recipes describing how all the pipeline outputs are produced. A tutorial on writing these recipes is available here. Fsl-pipe will stitch these recipes together to produce any user-selected output files. Resulting jobs will either run locally, run distributed using dask, or be submitted to a cluster using fsl-sub.

An example diffusion MRI pipeline using fsl-pipe with detailed comments is available here.

Installation

pip install fsl-pipe

Any bug reports and feature requests are very welcome (see issue tracker).

Setting up local test environment

This package uses uv for project management. You will need to install uv to develop this package.

First clone the repository:

git clone https://git.fmrib.ox.ac.uk/fsl/fsl-pipe.git

Then we can ask uv to set up the local envoriment.

cd fsl-pipe
uv sync

Running tests

Tests are run using the pytest framework. This will already be available in the uv virtual environment.

uv run pytest src/tests

Compiling documentation

The documentation is build using sphinx.

cd doc
uv run sphinx-build source build
open build/index.html

Contributing

Merge requests with any bug fixes or documentation updates are always welcome.

For new features, please raise an issue to allow for discussion before you spend the time implementing them.

Releasing new versions

  • Ensure CHANGELOG.md is up to date.
  • Edit the version number on pyproject.toml
  • Create a new tag for the version number
  • Push to gitlab (including tags).
    • The pipeline from the tag will automatically publish fsl-pipe to pypi.
  • Upload code on conda-forge using their automated release detection.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fsl_pipe-1.3.0.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fsl_pipe-1.3.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file fsl_pipe-1.3.0.tar.gz.

File metadata

  • Download URL: fsl_pipe-1.3.0.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.30

File hashes

Hashes for fsl_pipe-1.3.0.tar.gz
Algorithm Hash digest
SHA256 d76164966be7882bf629a73e3aa64ce1b72a1123f3d748f91de973bf4e1a61fb
MD5 9c71055d89b9da2b4dc7ee6124a95114
BLAKE2b-256 e9a145ab05fb5b074a3349b0418354dd9a62cbe7098b6591e6db1413a390109c

See more details on using hashes here.

File details

Details for the file fsl_pipe-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: fsl_pipe-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.30

File hashes

Hashes for fsl_pipe-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc35d20e576d68d30cb4585be5e8176aaf3150e4254e61e5208153d155d726a1
MD5 49d4a07703b857daa95a5bd4cf46510c
BLAKE2b-256 09faa901aed5945ac997d6b6033e7897ae0fa4ac7e7338d66f02e80ba791a76f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page