Skip to content

Reduce dependencies #40

@maxencefaldor

Description

@maxencefaldor

Great work on craftax! I have a few suggestions regarding dependencies, aiming to keep the project lean, maintainable, and robust against future compatibility issues.

  1. 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.
  2. optax and distrax are listed as dependencies but aren't used. Could you remove those to lighten the project?
  3. flax is a significant dependency but only flax.struct is used. Have you considered alternatives to flax.struct?
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions