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
971 stars 35 forks source link

Project configuration should be parsed in Rust #123

Closed emdoyle closed 1 month ago

emdoyle commented 2 months ago

While profiling Tach during #82 , I noticed that parse_project_config was taking ~100ms, even though it should be parsing a relatively tiny file into a relatively simple data structure. Instead of trying to improve this in Python, it makes more sense to just extract this to the Rust extension and use something like serde.

Either in the same PR or a separate one, it would also make sense to move the dump_project_config_to_yml into the Rust extension as well.

Ideally all of this can be done in a way that is minimally coupled to YML, since we may want to migrate to TOML in the future.

ranjanmangla1 commented 1 month ago

@emdoyle can I take this one?

emdoyle commented 1 month ago

@ranjanmangla1 This one is also open! Do you want me to assign this one as well as #145 ?

ranjanmangla1 commented 1 month ago

@emdoyle assign it, will love to take this one too

caelean commented 1 month ago

@ranjanmangla1 curious as to if you're still working on this one?

caelean commented 1 month ago

@ranjanmangla1 going to open this one back up for other folks