A lightweight, easy to modify pipeline controller for data processing (e.g. eeg, meg, etc.).
Project description
About the Lightweight Pipeline
As the name suggests - a lightweight, easy to modify pipeline. Initially built for EEG analysis using MNE-Python and MNE-BIDS.
Main design criterion is to keep the controller part minimal.
Table of Contents
- Goals
- Usage: rough idea and trivial example
- Minimal example (to use with MNE-BIDS)
- Installation
- Contributing
- License
- Comparison
Goals
- Provide a scheme to model concrete pipeline steps after.
- Take care of a configuration file handling and saving/loading to some extend.
- Decouple the content of a pipeline, i.e. its processing logic, from the organisatorial part.
Usage: rough idea and trivial example
Start by creating a project folder containing:
steps/__init__.py: empty
steps/00_steps.py:
from lw_pipeline import Pipeline_Step
class A_First_Pipeline_Step(Pipeline_Step):
def __init__(self, config):
super().__init__("This is a description of a first step.", config)
def step(self, data):
print(f"Here data is '{data}'.")
data = self.config.variable_a
return data
class A_Second_Pipeline_Step(Pipeline_Step):
def __init__(self, config):
super().__init__("This is a description of a second step.", config)
def step(self, data):
print(f"Here data is '{data}'.")
return data
config.py:
steps_dir = "steps/"
variable_a = 1
Now run the following command in the project directory to list the steps detected
lw_pipeline -c config.py --list
while
lw_pipeline -c config.py --run
runs the pipeline entirely. Use --help for further parameter info.
You can find a similar example in examples/trivial/.
In a more interesting case, one would pass a data object, e.g. a subclass of Pipeline_Data, through the pipeline. As of now, the pipeline comes with a data container class for processing eeg/meg data utilizing MNE-BIDS.
Minimal example (to use with MNE-BIDS)
For a more interesting example demonstrating eeg/meg processing, we refer to a minimal example.
Installation
To install, clone the github repository, navigate to the folder and execute (for an editable install)
pip install -e ".[dev]"
Contributing
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.
License
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.
Comparison
- The MNE-BIDS-Pipeline provides an actual eeg/meg processing pipeline that bundles logic and content.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lw_pipeline-0.2.0.tar.gz.
File metadata
- Download URL: lw_pipeline-0.2.0.tar.gz
- Upload date:
- Size: 30.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2fef34a4d1347e8fd11e35e56b22100f8019eaa159901aaded4ed65d8e1981e
|
|
| MD5 |
7153d400da56b419d27560df6c9d95b7
|
|
| BLAKE2b-256 |
5d37b62df0dff8ebc286e1ad8a50b994955cfbe1ddee3c323a79b21d8209da45
|
Provenance
The following attestation bundles were made for lw_pipeline-0.2.0.tar.gz:
Publisher:
release.yml on jbkordass/lightweight-pipeline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lw_pipeline-0.2.0.tar.gz -
Subject digest:
a2fef34a4d1347e8fd11e35e56b22100f8019eaa159901aaded4ed65d8e1981e - Sigstore transparency entry: 1077341664
- Sigstore integration time:
-
Permalink:
jbkordass/lightweight-pipeline@c4d8b6170f2148adce0a2d50d4a41666645f5c29 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jbkordass
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c4d8b6170f2148adce0a2d50d4a41666645f5c29 -
Trigger Event:
release
-
Statement type:
File details
Details for the file lw_pipeline-0.2.0-py3-none-any.whl.
File metadata
- Download URL: lw_pipeline-0.2.0-py3-none-any.whl
- Upload date:
- Size: 34.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3e2ea397fc9c4f31bd0ae954d6d1e98bd9e5249b821c92a1f527daee0331832
|
|
| MD5 |
c088d9aabdaf9c5369d1492fe654a259
|
|
| BLAKE2b-256 |
318ce09d5ae9cd5beb34fe3018d666e624c4c5787b0ad1a97e89bd1f7ab94029
|
Provenance
The following attestation bundles were made for lw_pipeline-0.2.0-py3-none-any.whl:
Publisher:
release.yml on jbkordass/lightweight-pipeline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lw_pipeline-0.2.0-py3-none-any.whl -
Subject digest:
f3e2ea397fc9c4f31bd0ae954d6d1e98bd9e5249b821c92a1f527daee0331832 - Sigstore transparency entry: 1077341675
- Sigstore integration time:
-
Permalink:
jbkordass/lightweight-pipeline@c4d8b6170f2148adce0a2d50d4a41666645f5c29 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jbkordass
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c4d8b6170f2148adce0a2d50d4a41666645f5c29 -
Trigger Event:
release
-
Statement type: