Great work on craftax! I have a few suggestions regarding dependencies, aiming to keep the project lean, maintainable, and robust against future compatibility issues.
gymnax is not maintained anymore and is incompatible with jax>=0.6.0. I understand craftax uses a similar API but I don't think this justifies a dependency.
optax and distrax are listed as dependencies but aren't used. Could you remove those to lighten the project?
flax is a significant dependency but only flax.struct is used. Have you considered alternatives to flax.struct?
chex is used only 7 times throughout the codebase for chex.PRNGKey and chex.Array. The recommended way from jax official documentation is to directly use jax.Array for both PRNG keys and Arrays. I suggest we remove the chex dependency in favor of jax.Array.
Minimizing dependencies generally enhances stability and simplifies maintenance, helping to avoid situations like the craftax incompatibility with jax>=0.6.0.
Great work on
craftax! I have a few suggestions regarding dependencies, aiming to keep the project lean, maintainable, and robust against future compatibility issues.gymnaxis not maintained anymore and is incompatible withjax>=0.6.0. I understandcraftaxuses a similar API but I don't think this justifies a dependency.optaxanddistraxare listed as dependencies but aren't used. Could you remove those to lighten the project?flaxis a significant dependency but onlyflax.structis used. Have you considered alternatives toflax.struct?chexis used only 7 times throughout the codebase forchex.PRNGKeyandchex.Array. The recommended way fromjaxofficial documentation is to directly usejax.Arrayfor both PRNG keys and Arrays. I suggest we remove the chex dependency in favor ofjax.Array.Minimizing dependencies generally enhances stability and simplifies maintenance, helping to avoid situations like the
craftaxincompatibility withjax>=0.6.0.