{"id":46905167,"url":"https://github.com/jbkordass/lightweight-pipeline","last_synced_at":"2026-03-11T01:03:54.296Z","repository":{"id":285465648,"uuid":"803028330","full_name":"jbkordass/lightweight-pipeline","owner":"jbkordass","description":"A Python package to write data processing pipelines with. Initially designed for eeg/meg analysis using MNE-Python with MNE-BIDS. ","archived":false,"fork":false,"pushed_at":"2026-02-09T10:54:14.000Z","size":2636,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-09T15:45:32.257Z","etag":null,"topics":["bids","eeg","meg","mne","neuroscience"],"latest_commit_sha":null,"homepage":"https://jbkordass.github.io/lightweight-pipeline/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbkordass.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-19T22:49:49.000Z","updated_at":"2026-02-09T10:53:38.000Z","dependencies_parsed_at":"2025-04-03T10:26:02.692Z","dependency_job_id":"f0499458-4297-4c3d-b87f-2d82d69afdb0","html_url":"https://github.com/jbkordass/lightweight-pipeline","commit_stats":null,"previous_names":["rectified-evasion/lightweight-pipeline","jbkordass/lightweight-pipeline"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jbkordass/lightweight-pipeline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbkordass%2Flightweight-pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbkordass%2Flightweight-pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbkordass%2Flightweight-pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbkordass%2Flightweight-pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbkordass","download_url":"https://codeload.github.com/jbkordass/lightweight-pipeline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbkordass%2Flightweight-pipeline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30364693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bids","eeg","meg","mne","neuroscience"],"created_at":"2026-03-11T01:03:53.752Z","updated_at":"2026-03-11T01:03:54.281Z","avatar_url":"https://github.com/jbkordass.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI - Version](https://img.shields.io/pypi/v/lw-pipeline)](https://pypi.org/project/lw-pipeline/)\n\n# About the Lightweight Pipeline\nAs the name suggests - a lightweight, easy to modify pipeline. Initially built for EEG analysis using [MNE-Python](https://github.com/mne-tools/mne-python) and [MNE-BIDS](https://github.com/mne-tools/mne-bids).\n\nMain design criterion is to keep the controller part minimal.\n\n## Table of Contents\n\n- [Goals](#goals)\n- [Usage: rough idea and trivial example](#usage-rough-idea-and-trivial-example)\n- [Minimal example (to use with MNE-BIDS)](#minimal-example-to-use-with-mne-bids)\n- [Installation](#installation)\n- [Contributing](#contributing)\n- [License](#license)\n- [Comparison](#comparison)\n\n## Goals\n- Provide a scheme to model concrete pipeline steps after.\n- Take care of a configuration file handling and saving/loading to some extend.\n- Decouple the content of a pipeline, i.e. its processing logic, from the organisatorial part.\n\n\n## Usage: rough idea and trivial example\n\nStart by creating a project folder containing:\n\n`steps/__init__.py`: empty\n\n`steps/00_steps.py`:\n```python\nfrom lw_pipeline import Pipeline_Step\n\nclass A_First_Pipeline_Step(Pipeline_Step):\n    def __init__(self, config):\n        super().__init__(\"This is a description of a first step.\", config)\n\n    def step(self, data):\n        print(f\"Here data is '{data}'.\")\n        data = self.config.variable_a\n        return data\n\nclass A_Second_Pipeline_Step(Pipeline_Step):\n    def __init__(self, config):\n        super().__init__(\"This is a description of a second step.\", config)\n\n    def step(self, data):\n        print(f\"Here data is '{data}'.\")\n        return data\n```\n\n`config.py`:\n```python\nsteps_dir = \"steps/\"\n\nvariable_a = 1\n```\n\nNow run the following command in the project directory to list the steps detected\n```shell\nlw_pipeline -c config.py --list\n```\nwhile\n```shell\nlw_pipeline -c config.py --run\n```\nruns the pipeline entirely. Use `--help` for further parameter info.\nYou can find a similar example in [examples/trivial/](examples/trivial/).\n\nIn 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`.\n\n\n## Minimal example (to use with MNE-BIDS)\n\nFor a more interesting example demonstrating eeg/meg processing, we refer to a [minimal example](examples/minimal_example.md).\n\n\n## Installation\nTo install simply use the off-the-shelf version provided via [PyPI](https://pypi.org/project/lw-pipeline/)\n```shell\npip install lw_pipeline\n```\nor clone the github repository, navigate to the folder and execute (for an editable install)\n```shell\npip install -e \".[dev]\"\n```\n\n## Contributing\n\nContributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.\n\n\n## License\n\nThis project is licensed under the BSD 3-Clause License. See the [LICENSE](LICENSE) file for details.\n\n\n## Comparison\n\n- The [MNE-BIDS-Pipeline](https://github.com/mne-tools/mne-bids-pipeline) provides an actual eeg/meg processing pipeline that bundles logic and content.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbkordass%2Flightweight-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbkordass%2Flightweight-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbkordass%2Flightweight-pipeline/lists"}