patrick-kidger / patrick-kidger/diffrax

Tidy-up to-dos

Open
#217 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

next
Dominant language
Python
Stars
2.1k
Forks
189
Avg merge
3d 18h
Merged PRs (30d)
1

Description

  • jaxtyping
  • remove jax.dtypes.canonicalize_dtype
  • sympy2jax
  • ruff
  • private modules
  • import foo as foo
  • abstract vars (+no more init=False)
  • pyproject.toml: no setup.py; no .isort.cfg, no .flake8; use hatchling; no MANIFEST, update release action to v2
  • Have diffrax.RESULTS return a wrapper around integers, to prevent comparisons like sol.result == 0
  • use converter and __check_init__ instead of __post_init__, e.g. for SubSaveAt.
  • make sure default arguments don't have conditionals, for the sake of IDE integration
  • typing -> collections.abc
  • remove AbstractStepSizeController.wrap_solver.
  • handle rtol and atol defaults.
  • linear and nonlinear solves (including switching to Optx norms)
  • shaped_allclose -> tree_equal
  • ruff-format
  • remove _ad.py
  • jrandom -> jr
  • pyright
  • switch path's evaluate(self, t0, t1) -> __call__(self, s0, s1)
  • Add specific testing flags and check static result + static made jump
  • check docs
  • strict=True

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the remaining unchecked items in the checklist, beginning with the path API change from evaluate(self, t0, t1) to call(self, s0, s1), the documentation check, and strict=True. Confirm the relevant project code and docs, then consider the work done when those listed items are resolved and the project checks pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.