StreetScienceCommunity / ghevaluator

Galaxy History Evaluator
https://streetscience.community/ghevaluator
MIT License
1 stars 0 forks source link

Best practices for Open Source Python Software #1

Open bebatut opened 2 years ago

bebatut commented 2 years ago

Best practices for Python codes

https://stackoverflow.com/questions/5341006/where-should-i-put-tests-when-packaging-python-modules https://pythonchb.github.io/PythonTopics/where_to_put_tests.html https://stackoverflow.com/questions/44977227/how-to-configure-main-py-init-py-and-setup-py-for-a-basic-package-setu https://setuptools.pypa.io/en/latest/userguide/entry_point.html https://stackoverflow.com/questions/19170054/entry-point-in-setup-py https://stackoverflow.com/questions/31327762/what-is-the-difference-between-init-py-and-main-py https://setuptools.pypa.io/en/stable/setuptools.html#automatic-script-creation https://click.palletsprojects.com/en/5.x/setuptools/ https://stackoverflow.com/questions/4042905/what-is-main-py

https://python-packaging.readthedocs.io/en/latest/testing.html

General best practices

YedilSerzhan commented 2 years ago

Thanks, it's very comprehensive.

I think for the code style it's worth mentioning PEP 8, the standard style guide for python development. The tools flake8 and black are based on it.

In my opinion, the file gitignore is also very important. There are usually some untracked files you want git to ignore.

bebatut commented 2 years ago

Thanks! I updated with your suggestions

teresa-m commented 2 years ago

Thanks a lot @bebatut! It is a very comprehensive collection. I think it could be shared with every student starting a project as a guideline for best practice. What do you think? Maybe then we could add a small section on how to work with git to the general good practices?