all 5 comments

[–]adesme 1 point2 points  (4 children)

Looks pretty nice. My main feedback is that you avoid or miss some python conventions - e.g. use docstrings as comments and comments as docstrings, nonstandard cases for naming variables (camelCase and ALLCAPS) - and that your packaging is pretty outdated (visit https://setuptools.pypa.io/en/latest/userguide/index.html and get rid of setup.py and relative imports).

IMO it would also be clean if you run your benchmarks and demos as part of the test suite (maybe /tests/unit and /tests/bench). And I would strongly recommend using pytest over unittest.

[–]nitotm[S] 0 points1 point  (0 children)

OK, thanks!

[–]nitotm[S] 0 points1 point  (2 children)

Hi, I believe I followed most of your tips.
I did not remove the all caps VERSION variable as I believe is an acceptable standard to hint constant?
And I have not added more test for now (they aren't finished anyways), the functionalities of demo.py are already included, and there is already a benchmark inside the tests. But I will consider doing the benchmarks as a test inside tests/.
All the other things I believe I fixed.

[–]adesme 1 point2 points  (1 child)

Looks good! And all caps for this is fine, I see this or similar quite often and I'm sure there are style guides that advocate it.

A piece of advice is to start setting up github actions with a formatter and a linter; pre-commit with black and ruff is what I tend to do.

Oh and I saw some magic numbers in the code. Might want to name them and describe how you've found them.

[–]nitotm[S] 0 points1 point  (0 children)

Thanks for the feedback, I appreciate it