-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
List bare minimum requirements to create a package on the intro page #276
Comments
Hi @zackw. A fair point about listing what are the bare minimum requirements. We could list them in the Learning Objectives block. Personally, I believe that the docs, tests, etc. are important for a successful, reproducible package so I would like to make sure that we continue to encourage these good software development practices for scientist who may be creating their first software package. |
@all-contributors add @zackw for review |
I've put up a pull request to add @zackw! 🎉 |
this is a really good conversation!! and important. one of the things i always worry about @willingc @zackw is this balance between what you need to create a package - just at the most basic level to be able to reuse your code vs the full picture of docs and tests (which to those newer can also seem super daunting). there is also this reality that if you have a really well developed package - one person maintaining ALL of that well - is hard. the skills for writing really good docs are quite different from the skills needed to write robust tests. my gosh i can work on stravalib infrastructure updates all day - ci, packaging, and docs. But when i work on the code, i'm much slower and need more review from our other maintainer (as an example). i wonder if there is a middle ground where we
To avoid that firehouse type of effect that could overwhelm someone getting started. Thoughts? |
The “A package is more than just code” section of https://www.pyopensci.org/python-package-guide/tutorials/intro.html could make it sound like you need all this stuff before you can create a package. Docs! Tests! CI! Licensing! Issue tracking! Oy gevalt.
Should clarify which pieces are absolutely essential from the get-go (version control, at least one
.py
file, and a license), which become important almost immediately for any nontrivial program (docs), which become important as your program gets larger (tests), and which become important as your program gains more users and hopefully also more developers (bug tracker, CI).The text was updated successfully, but these errors were encountered: