Skip to content

Draft: Resolve "Codebase Overhaul"

Simon Fabian Lauber requested to merge feature/35-codebase-overhaul into develop

This is a though one.

  1. I partially used monkeytype to generate type hints from the testcases.
  2. Additionally, the type hints have been reviewed and improved, e.g. using Literals.
  3. Variable names have been refactored to PEP8 standard, like Ring to ring.
  4. Classes, methods and functions have been equipped to recognise the old variables Ring using @handle_legacy_kwargs and @properties.
  5. TrackableBaseClass has been introduced to identify trackable methods. Maybe some more classes need this feature, if they are intended to be tracked, but have no .track method yet.
  6. Imports were generally cleaned. This concerns mainly __future__ and builtins imports. Further, we now use global instead of local imports for readability.

Known issues:

  • Type hints for GPU are generally missing, as I cant download cupy without GPU.
  • References to bmath still without type hints, requires full rewrite of bmath.py.
  • Type hints may be incomplete and need to be extended on demand.
  • There are 98 open TODOs in this branch, several concerning potential bugs that I came across.

Closes #35.

Edited by Simon Fabian Lauber

Merge request reports

Loading