Hi folks,
We're looking at integrating tough into uv, by way of sigstore-rust (which has various crates, some of which depend on tough for TUF operations against the Sigstore root of trust).
As part of that integration, we're looking for ways to reduce our dependency tree/de-proliferate our transitive deps. We're currently avoiding a dependency on chrono entirely, but tough introduces it.
So, the request: would you all consider (optionally) replacing your dependency on chrono with jiff? This has some direct advantages on your end (a smaller and more misuse-resistant API), but admittedly it's primarily an advantage for us as a downstream 😅. I can see at least two possible routes here, although others may exist:
- Remove
chrono entirely and replace it with jiff. This shouldn't be externally disruptive (FWICT, your usage of chrono is entirely internal), but it does mean changing every downstream's dependencies.
- Keep
chrono as a default-but-optional dependency, while allowing downstreams to opt into a jiff via a separate optional feature. This would allow uv (and other interested downstreams) to selecitvely opt into jiff while not disturbing the default resolution.
Please let me know if either of these sounds interesting or appealing to you all! I'm happy to implement whatever works best.
Hi folks,
We're looking at integrating
toughinto uv, by way ofsigstore-rust(which has various crates, some of which depend on tough for TUF operations against the Sigstore root of trust).As part of that integration, we're looking for ways to reduce our dependency tree/de-proliferate our transitive deps. We're currently avoiding a dependency on
chronoentirely, but tough introduces it.So, the request: would you all consider (optionally) replacing your dependency on
chronowithjiff? This has some direct advantages on your end (a smaller and more misuse-resistant API), but admittedly it's primarily an advantage for us as a downstream 😅. I can see at least two possible routes here, although others may exist:chronoentirely and replace it withjiff. This shouldn't be externally disruptive (FWICT, your usage ofchronois entirely internal), but it does mean changing every downstream's dependencies.chronoas a default-but-optional dependency, while allowing downstreams to opt into ajiffvia a separate optional feature. This would allow uv (and other interested downstreams) to selecitvely opt intojiffwhile not disturbing the default resolution.Please let me know if either of these sounds interesting or appealing to you all! I'm happy to implement whatever works best.