Skip to content

Releases: jaffe-fly/ydt

v0.4.1

Choose a tag to compare

@jaffe-fly jaffe-fly released this 10 Sep 04:19

Fixed

  • Speed up ydt --help, subcommand help, and ydt --version startup.
  • Lazy-load package-level public API exports so heavy dependencies load only when used.
  • Avoid importing image, dataset, visualization, model, albumentations, and scipy modules during CLI help rendering.

Validation

  • ydt --help: ~6.0s -> ~1.0s in the tested Windows conda environment.
  • conda run -n card ydt --help: ~10.2s -> ~3.1s.
  • ydt --version: ~0.22s.
  • pytest tests -q: 41 passed.
  • python -m build: succeeded.

v0.4.0

Choose a tag to compare

@jaffe-fly jaffe-fly released this 26 Nov 10:10

Release v0.4.0
Add crop command and enhance dataset synthesis
New Features:

  • Add crop command for extracting objects from images

    • Model mode: use YOLO inference to detect and crop objects
    • Dataset mode: use label files to crop from dataset
    • Support class filtering, padding, and size filters
    • New file: ydt/image/crop.py
  • Enhance dataset synthesis with balanced sampling

    • Add --balanced-sampling for even class distribution
    • Auto-detect class inference mode (folder/filename)
    • Use mask contours for accurate OBB polygons
    • Improve annotation transformation logic

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@jaffe-fly jaffe-fly released this 25 Nov 10:50

Release v0.3.0

New Features:

  • Dataset extract command (extract by class, images-only, labels-only modes)
  • Dataset analyze command (comprehensive dataset statistics and visualization)
  • Dataset resize command (batch resize YOLO datasets with auto structure detection)
  • Colored logging output with colorlog integration

Major Fixes:

  • Fix Windows encoding issues in subprocess and file operations (UTF-8)
  • Fix IMAGE_EXTENSIONS export bug in all (was object, now string)
  • Fix dataset merge duplicate handling for same-name different-extension files
  • Fix image crop single file support

CLI Improvements:

  • resize: add --split for dataset mode, support upscaling small images
  • visualize: replace --train/--val with --split, auto-detect single file
  • synthesize: add annotation_format support (obb/hbb), fix memory issue
  • Remove viz-hsv command (keep underlying code)

Breaking Changes:

  • Dataset merge: removed handle_duplicates parameter (always rename)
  • Extract: use class IDs instead of class names for precision")

v0.2.7

Choose a tag to compare

@jaffe-fly jaffe-fly released this 11 Nov 10:03

Release v0.2.7 - Dataset Synthesize Enhancements

This release adds powerful enhancements to the dataset synthesize command:

New Features:

  • Class name validation via --data-yaml parameter

    • Ensures target filenames match class names from data.yaml
    • Example: For class 'bn', files should be named like 'bn_back.jpg'
    • Provides clear error messages for validation failures
  • Custom rotation range via --rotation-range parameter

    • Limit rotation angles to specific ranges
    • Format: --rotation-range=-20,20 (comma-separated min,max)
    • Default: -90,90 degrees
    • Use equals sign (=) for negative values

Improvements:

  • Enhanced logging showing matched class names
  • Optimized ruff configuration for better code quality
  • All 317 linting issues resolved
  • Improved documentation and help messages

v0.2.6

Choose a tag to compare

@jaffe-fly jaffe-fly released this 11 Nov 07:49

Release v0.2.6 - Test Suite and CI/CD Improvements

This release focuses on improving test coverage and CI/CD reliability.

Fixed:

  • All test suite failures related to label path generation
  • E2E test marker registration to prevent pytest warnings
  • CLI tests to work with uv virtual environment
  • GitHub Actions workflow issues (artifacts v3->v4, Windows shell)

Changed:

  • Simplified CI/CD by using ruff exclusively for all code quality checks
  • Replaced black and mypy with ruff format and ruff check for faster execution
  • Formatted all Python files with black for consistency

v0.2.5

Choose a tag to compare

@jaffe-fly jaffe-fly released this 10 Nov 09:29

What's New in v0.2.5

New Features

Single File Processing Support

All image processing commands now support single file input in addition to directory input:

All commands maintain full backward compatibility with directory input.

Bug Fixes

Logging System Improvements

  • Fixed duplicate log messages in CLI commands
  • Improved logger hierarchy to prevent handler duplication
  • Child loggers now properly inherit from parent logger via propagation
  • Cleaner console output with single log entries

Documentation

  • Updated `README.md` and `README_CN.md` with single file examples
  • Added comprehensive `CHANGELOG.md` for v0.2.5
  • Updated command-line help messages

Technical Details

  • Modified `ydt/image/slice.py` to detect and handle single file input
  • Modified `ydt/image/augment.py` to support single image augmentation with automatic label detection
  • Modified `ydt/cli/main.py` to handle single file mode for crop-coords
  • Refactored `ydt/core/logger.py` to prevent duplicate handlers

v0.2.0

Choose a tag to compare

@jaffe-fly jaffe-fly released this 07 Nov 15:40
Release version 0.2.0