Release version 2.0
This MR aims at finalizing the package to proceed with its public release, as a clean 2.0 version.
Release To-Do List
Must have
Polish up the code:
-
add ClassVar type annotations to class attributes -
add NoReturn type annotations to exception-raising functions (if any) -
clean up __init_subclass__
implementations see docs -
verify module docstrings; -
verify __all__
statements -
garbage-collect unused statements in abstract methods -
garbage-collect deprecated Model.compute_loss
method -
implement pending hotfixes (notably to Readme and Vector classes)
Add required metadata:
-
add LICENSE file -
add license-related header in all code files -
add AUTHORS file -
update package version (use a VERSION file?)
Test the package extensively:
-
run tox with python [3.8, 3.9, 3.10, 3.11] -
drop support for python 3.7*
*Support for python 3.7 was dropped due to functions such as typing.get_args
and typing.get_origin
having been introduced with Python 3.8.
Could have
Improve dependency specifications:
-
update dependencies' versions (possibly running tests, e.g. for TF) -
update black version (~=23.0) -
revise version requirements for pylint and mypy(current are OK and CI/CD uses the latest anyway)
Add more unit tests:
-
units tests for Vector (see MR !22 (merged))
Add coverage stats:
-
compute (and report in some sort) tests' coverage
Unplanned additions
-
Modularize tests execution to be resilient to tensorflow and/or torch not being available.
Edited by ANDREY Paul