Release Notes
0.0.3 [2026-01-08]
Enhancements:
- Added support for CSV rows representing groups that can be combined into lists
- Improved namespace handling with automatic sanitization of metadata keys
- Added CSV validation to detect empty rows and invalid files before processing
- Added automatic project ID injection to CSV and YAML mapper when not present
- Enhanced file search functionality to handle file parent relationships more efficiently
Fixes:
- Fixed handling of "bare" containers by adding them to
dtype_dict - Fixed no YAML map runs by ensuring proper default column handling
- Fixed leading zeros preservation in container labels by forcing string types
- Fixed file endpoint queries by implementing two-stage file search strategy
- Fixed metadata upload to respect empty string values vs missing values
- Fixed namespace default behavior to use CSV filename when not specified
- Fixed
project.idhandling to use project ID instead of label for faster queries
Maintenance:
- Updated
pythonfrom3.8to3.12 - Updated
urllib3from2.0.4to2.6.3(security patch) - Updated
fw-clientfromfw-core-client1.1.2tofw-client2.1.4 - Updated
flywheel-sdkfrom16.19.2to21.3.0 - Updated
flywheel-gear-toolkitfrom0.6.12to0.6.18 - Updated
numpyfrom1.24.4/1.25.2to1.26.4 - Migrated from Poetry to Hatchling build system
- Migrated from
black/isorttorufffor linting and formatting - Updated CI configuration to use
qa-ci/gear.ymlwithpython3.12 - Refactored Dockerfile to use multi-stage builds with
flywheel/pythonbase image - Added
.gitignorefile for better repository management - Updated pre-commit hooks to use SSE branch and added new linters
Documentation:
- Enhanced README with more detailed explanations of gear functionality
- Improved YAML map documentation with clearer explanations
- Fixed markdown formatting and typos throughout documentation
0.0.2 [2023-08-14]
Enhancements:
- Added CSV file ingestion capability to import tabular data into Flywheel metadata
- Added YAML mapping configuration to specify custom column-to-metadata mappings
- Added configurable namespace option for organizing imported metadata under
container.info.<namespace> - Added support for identifying containers using group ID, project label, subject label, session label, acquisition label, analysis label, and file name
- Added FLOFI (Flywheel Locator and Finder) utility for efficient container search and retrieval
- Added search query optimization to improve performance on large datasets
- Added support for nested metadata structures using dot notation
- Added ability to upload metadata to multiple hierarchy levels from single spreadsheet
- Added
fw-core-clientandpandasdependencies for API interactions and data processing
Maintenance:
- Added CI/CD configuration with
.gitlab-ci.ymlfor automated testing and quality checks - Added pre-commit hooks for code quality enforcement including
gearcheck,poetry_export,docker_build,yamllint,black,isort, andpytest - Added
.dockerignorefile to optimize Docker build context - Added merge request template with checklist for release notes, changelog, tests, and test data
- Configured
python3.8as base runtime environment - Added
pytest,pytest-cov, andpytest-mockas development dependencies - Updated
flywheel-gear-toolkitto^0.6andflywheel-sdkto^16.8.0
Documentation:
- Added comprehensive README with gear overview, usage instructions, and workflow diagrams
- Added CONTRIBUTING guide with instructions for dependency management, testing, and release process
- Added FAQ placeholder for common questions and troubleshooting
- Added LICENSE file with MIT license
- Added detailed docstrings and inline documentation throughout codebase