Skip to main content

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.

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.1.tar.gz (23.8 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.1-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fsl_pipe-1.3.1.tar.gz
Algorithm Hash digest
SHA256 cdc7456f4bfcff89b0b3a86bab647dc286fb7497b70c95b9fafde14af152db09
MD5 6943ff7df31d98d84ad52b93bf4b76bb
BLAKE2b-256 afa22bb315e617f8524e1ed7e7c059f47a671910eca8f69d54d5c9f4dd654853

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fsl_pipe-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9d032d8df0aa6bcf494a17a23b2fece0e334c60416c52eaab1acc9c781cdcc7b
MD5 5ca277b640b304e957e7941804cf2c44
BLAKE2b-256 681445bd6b2cec0a465fd0afd5b7e958e6772ff592da840aaa51a553a1a1be05

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page