gauge-sh / tach

A Python tool to enforce dependencies, using modular architecture 🌎 Open source 🐍 Installable via pip πŸ”§ Able to be adopted incrementally - ⚑ Implemented with no runtime impact ♾️ Interoperable with your existing systems πŸ¦€ Written in rust
https://gauge.sh
MIT License
1k stars 35 forks source link

Migrate from YAML to TOML, Python to Rust for configuration #235

Closed emdoyle closed 1 month ago

emdoyle commented 1 month ago

Fixes: #123

This PR moves our configuration parsing to Rust, while maintaining the existing Python interface. This is a temporary situation while we work on porting the rest of the downstream code to Rust as well.

The primary user-facing change is that we are moving from YAML to TOML for configuration.

There is code in this PR that automatically migrates a YAML config file to TOML, in addition to the pre-existing auto-migrations for other field changes we've made. For almost all users the switchover should be automatic and transparent.

emdoyle commented 1 month ago

Planning to update docs and README in a separate PR along with the version bump. It gives us some time after merging before we have to release.