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/
Metadata
Release files for fw-curation 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fw_curation-1.0.3-py3-none-any.whl | Python 3 | none | any | Details for fw_curation-1.0.3-py3-none-any.whl |
Release files / fw_curation-1.0.3-py3-none-any.whl
| Download URL | fw_curation-1.0.3-py3-none-any.whl |
|---|---|
| Size | 20.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa385494d1080822a393b27cffb8a1d1e677cc625194566f781988e441f7092a
|
|
BLAKE2b-256 checksum How to use checksums |
55b9e8e76193eeb1db9a4fe633f95d8c27c9288fdc87e250c4bf8f783cbfce62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.0 CPython/3.10.20 Linux/5.15.154+
|
Security for fw-curation 1.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.