Hi Yash, and thanks for writing! To be honest, I have not yet found a single resource that I was happy with for developing packages. Maybe I should make one. To get you started: 1) write documentation. The more the better. You uncover a lot of quirks in your API when you write docs. Usually we write an API in a stream-of-consciousness, “ok I’d like a function here” mode. When writing documentation, effectively telling others how to use our library, we do some editing. For writing documentation, this is my go-to source: https://www.divio.com/blog/documentation/ <https://www.divio.com/blog/documentation/>. Initially I only wrote reference materials for skan (docstrings). The paper reviewers rightly pointed out that how-to and explanation materials were also needed, and the API evolved a lot when I wrote those. I also highly recommend doctr (https://drdoctr.github.io <https://drdoctr.github.io/>) and nb2plots (https://github.com/matthew-brett/nb2plots <https://github.com/matthew-brett/nb2plots>). The latter lets you integrate jupyter notebooks into your sphinx (generated) documentation. 2) Make a setup.py. For these I always just find a model. Skan’s should suit most people. 3) Finally, put your project up on PyPI. The best guide I know of for this is the “official” one: https://packaging.python.org/tutorials/packaging-projects/ <https://packaging.python.org/tutorials/packaging-projects/> 4) For good measure, you can put your package on conda-forge. They have an excellent walk-through here: https://conda-forge.org/#add_recipe <https://conda-forge.org/#add_recipe> I hope this helps! Feel free to announce your package on this list when it’s out there! =) Juan.
On 16 Mar 2019, at 4:51 pm, Yash Sharma <yashrsharma44@gmail.com> wrote:
Hey Juan, I found this thread quite interesting, and somewhat relevant. I was in the process of developing some framework(or rather a package) for GANs, and was wondering about the design strategy. Being a newbie developer, I found the intent of making a package really exciting. I was thinking if you could share some pointers regarding how did you approach in designing your package (https://jni.github.io/skan/), (btw it was very well designed). Being a naive in development of packages, could you provide me with some resources/pointers towards appropriate approach of making a package? _______________________________________________ scikit-image mailing list -- scikit-image@python.org To unsubscribe send an email to scikit-image-leave@python.org