Optimization: typing, mypyc and hatching build system
Since we talked a lot about optimization, one step further could be compiling finam with mypyc. This also would have the requirement (or positive side-effect) that we would need to add typhints everywhere. In my opinion, this is not such a bad idea to increase performance and make the interface even more refined.
-
In addition, a new build system is rising and promoted by the PyPA: hatch -
This supports mypyc with a maintained extension: hatch-mypyc -
Since we use setuptools-scm to determine package version from git-tags, we could then use hatch-vcs, which basically wraps setuptools-scm.
Just read about this here, where a developer described the transition process for the black formatter: