Flywheel Curation tools
Project description
fw-curation
fw-curation is a python package maintained by Flywheel
It provides a set of utilities for writing SDK scripts to perform curation.
Features
- Validation and Curation: Perform highly configurable curation tasks on a given container or file
- Traversal Control: Walk the Flywheel Hierarchy depth-first or breadth-first, with configurable stop levels, custom callback functions, and the ability to exclude analyses and/or files
- Multiprocessing Support: Parallel processing with configurable worker count and shared data between workers
- Aggregated Logging: Customizable output logging in CSV or JSON format
Installation
Basic Installation
pip install fw-curation
With Optional Dependencies
Install specific extras for additional functionality:
# Install with SDK support
pip install fw-curation[sdk]
Available extras:
sdk: Flywheel SDK integration
Quick Start
Create a simple HierarchyCurator script:
from fw_curation.curator import HierarchyCurator
from fw_curation.walker import Walker
import flywheel
import logging
log = logging.getLogger(__name__)
class Curator(HierarchyCurator):
def curate_acquisition(self, acq):
log.info(f'Processing acquisition: {acq.label}')
if __name__ == '__main__':
# Connect to Flywheel
fw = flywheel.Client(<YOUR_API_KEY>)
# Get your project
project = fw.lookup('example/test')
# Create a walker starting from the project
walker = Walker.from_container(project)
# Create and run the curator
curator = Curator()
curator.curate(walker)
Documentation
Comprehensive documentation is available at: https://flywheel-io.gitlab.io/scientific-solutions/lib/fw-curation/
- Getting Started - Tutorial with practical examples
- Curator - Curating Flywheel containers and files
- Walker - Traversing the Flywheel Hierarchy
- Reporters - Logging to CSV or JSON output
- Config - Configuring the Curator, Walker, and Reporters
- Multiprocessing - Running in multi-processing mode
- Examples - Additional practical examples
- API Reference - Complete API documentation
- Migration Guide - Migrating from flywheel-gear-toolkit
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on contributing.
License
fw-curation is released under the
MIT License.
Support
- Documentation: https://flywheel-io.gitlab.io/scientific-solutions/lib/fw-curation/
- Issues: GitLab Issue Tracker
- Flywheel Docs: https://docs.flywheel.io/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 fw_curation-1.0.2-py3-none-any.whl.
File metadata
- Download URL: fw_curation-1.0.2-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.10.19 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6c8cf4a3fc62e1f2426b0db97f3758d691f0c2346171e1722a3ce8dd8f902ab
|
|
| MD5 |
b87e426efaf6500e9fe0cecea6ec2702
|
|
| BLAKE2b-256 |
eab4334b5cb4d890a7248d7035892ebab94ccd15ddf3e442b126524e6d1ed039
|