Releases: infimalabs/layoutc
Releases · infimalabs/layoutc
v0.2.2
What's Changed
Documentation Improvements
- Copy-Paste Ready Examples: All Python examples now work with
pip install -e .and can be copied directly intopython3or piped viapbpaste | python3 - Real Tournament Data: All examples use the included tournament layout files for immediate testing
- Comprehensive Workflow Examples: Added practical examples showing JSON→PNG→TSV conversions and multi-layout atlas creation
- Improved User Experience: Clear copy-paste instructions for Windows, macOS, and Linux
Full Changelog: v0.2.1...v0.2.2
layoutc v0.2.1
layoutc v0.2.1
This is a documentation cleanup release that fixes inaccuracies in the documentation.
🐛 Documentation Fixes
- Removed non-existent API references: Cleaned up documentation that incorrectly referenced a
validate=Falseparameter that doesn't exist in the actual API - Simplified validation explanations: Streamlined coordinate validation error messages in the README for clarity
- Entity documentation cleanup: Updated entity documentation to accurately reflect the actual API without mentioning unsupported parameters
📋 Installation
pip install layoutc🎯 Usage
Command Line
# Auto-detection based on file extension
layoutc input.json output.png
layoutc arena.json atlas.pngPython API
from layoutc.codec import Codec
from layoutc.entity import Entity
# Create codec and work with entities
codec = Codec()
# Load and save using codec methods
with open('input.json', 'rb') as f:
codec.load(f)
with open('output.png', 'wb') as f:
codec.dump(f)This release ensures the documentation accurately reflects the actual API functionality.
layoutc v0.2.0
layoutc v0.2.0
This major release brings significant improvements for production readiness and ease of use.
🚀 New Features
- Auto-detection for JSON/PNG formats: No need to specify output format explicitly - layoutc automatically detects the format based on file extension
- Atlas limit validation: Added proper error handling with
AtlasLimitExceededErrorwhen trying to create atlas groups exceeding the 255 limit - Enhanced CLI interface: Improved command-line experience with better error messages and help text
🔧 Improvements
- Pure Python package: Removed all Rust components for simpler installation and maintenance
- Comprehensive documentation: Updated README with detailed usage examples, installation instructions, and technical details
- Better package metadata: Enhanced PyPI metadata with proper description, license, and project URLs
- Improved test coverage: Added comprehensive tests for validation, error handling, and edge cases
🐛 Bug Fixes
- Fixed circular import issues in entity modules using
TYPE_CHECKING - Resolved auto-detection problems by ensuring entity subclasses are properly registered
- Clean import structure to avoid side-effect loading issues
📦 Package & Distribution
- Version bumped to 0.2.0
- Published to PyPI with complete README as project description
- Added MIT license file
- Improved build system with modern SPDX license format
🔄 Breaking Changes
- Removed Rust binaries and Cargo.toml
- Cleaned up import structure (internal changes, API remains compatible)
📋 Installation
pip install layoutc🎯 Usage
Command Line
# Auto-detection based on file extension
layoutc input.json output.png
layoutc arena.json atlas.pngPython API
from layoutc.codec import Codec
from layoutc.entity import Entity
# Create codec and work with entities
codec = Codec()
# Load and save using codec methods
with open('input.json', 'rb') as f:
codec.load(f)
with open('output.png', 'wb') as f:
codec.dump(f)This release makes layoutc production-ready with robust error handling, comprehensive documentation, and a clean, intuitive interface.