Goal: Make package platform-independent for faster builds and smaller footprint
Current: Package builds separately for each platform (Linux, macOS, ARM64)
Target: Single build works everywhere
Rationale:
- mojo-yaml ships pure Mojo source code (no binaries)
- No platform-specific dependencies
- No compilation during installation (just file copying)
- Build time: Reduced from 3x to 1x
- Storage: ~66% reduction on conda servers
Implementation:
build:
number: 0
noarch: generic # Add this line
script:
- mkdir -p $PREFIX/lib/mojo/toml
- cp -r src/toml/* $PREFIX/lib/mojo/toml/Blocked by: None - ready to implement
References:
Issue: Track at #TBD - Create issue when ready
Once established in modular-community, consider publishing to conda-forge for wider reach.
Benefits:
- Larger user base
- Automatic CI/CD
- Community maintenance
Requirements:
- Stable modular-community presence
- Active maintenance commitment
- conda-forge submission PR
Automate version updates across:
src/toml/__init__.mojoversion stringrecipe.yamlversion context- Git tags
Tools to evaluate:
- bump2version / bump-my-version
- GitHub Actions automation
Tracked in main README.md Future Plans section:
- Type-safe config deserialization (blocked on Mojo reflection)
- TOML 1.1 full compliance
- Enhanced error messages with suggestions
✅ Completed (2026-01-29)
- Local validation with rattler-build
- GitHub Actions automation
- Pre-commit hook integration
✅ Completed (2026-01-29)
- Standardized to
mojo_version: "=0.25.7"context variable - Using
pin_compatible()for runtime
✅ Completed (2026-01-29)
- Trailing whitespace checks
- YAML/TOML validation
- Recipe validation on changes
Last updated: 2026-01-29
Next review: When Mojo 1.0 releases (H1 2026)