marius-team / marius

Large scale graph learning on a single machine.
https://marius-project.org
Apache License 2.0
160 stars 45 forks source link

Add style and logical linting tools for python sources #87

Closed JasonMoho closed 2 years ago

JasonMoho commented 2 years ago

Is your feature request related to a problem? Please describe. We currently provide no enforcement of python style in our python sources and our testing of these sources is incomplete.

This means some easy to catch bugs are missed during testing: #86

Describe the solution you'd like Add a set of linting tools which:

Flake8 seems like a solid tool which can achieve all of the above: https://flake8.pycqa.org/en/latest/index.html

An example of its usage can be found in many open source libraries. Here's two: PyKeen: https://github.com/pykeen/pykeen/blob/d9a93b07f85c839169530a3f0a4c8845c306602a/.flake8 Dask: https://github.com/dask/dask/blob/9bdc32a896e35f69770ec291d83655a1fd1a0346/setup.cfg

Describe alternatives you've considered N/A

Additional context N/A

shivaram commented 2 years ago

Just to add: Pytorch also runs flake8 and mypy https://mypy.readthedocs.io/en/stable/ which is a static checker https://github.com/pytorch/pytorch/blob/5d059d20ad2f871cba082b9919c55630d0b3c16c/Makefile#L77

JasonMoho commented 2 years ago

Added with #106