Ponicode DogString automatically adds docstrings to all undocumented Python code - essentially explaining its behaviour using human language. This AI-based tech is available as a Github Action and on our interactive playground. Let us know what you think!
Hello guys,
Very excited to share with you that developer’s life is going to get a whole lot easier today.
Our magic pony made a new AI-powered Github Action generating docstring for all your undocumented Python functions.
We are going public with our beta today, it’s available as a Github Action so you can directly generate docstrings in your repo and have a pull request with 100% docstring coverage ready to merge.
At this stage we would love to get your feedback! What do you like? Do you get any errors we haven’t spotted? What you wish to see in the final version? Is there another language you’d love us to tackle next? Please share with us your feelings about this Github Action.
For those who want a 30 seconds test, we also have made a little playground, where you can get a feel for the tech and train our AI with your functions.
Why?
Remove collaboration constraints.
Don’t compromise quality for efficiency
Save time and money on your next development projects
Code cleanliness is a must; it shows to your clients, your team members, your management and all stakeholders in your projects that you are committed to making your code shareable and reader friendly, while also helping to reduce legacy.
How do get started?
You want to try on one function? Just check out our Ponicode dogstring playground here: https://api.ponicode.com/playgro...
You want to reach 100% docstring coverage? Generate docstrings in bulk right where they belong in your repo using our Github Action. The ReadMe will guide you step by step with the Github Action onboarding
Thanks for checking it out, and let us know what you think! We love feedback!
Report
@bbouffaut This is really cool. And I have questions. :)
1. Which languages does it support?
2. Is there any specific formatting it's looking for in terms of naming? Or is it trying to analyze the code of the function itself? Will a complex function cause it to fail?
3. Is there a CLI planned to run on files locally? Or even an IDE plugin?
Hi @ethan_glover. thanks for the feedback. It supports python only so far, but other languages will come soon (JS, TS). Since it is based on both semantic and computer science technics, the better the variables and functions are named, the best it is. So far we might be a bit weak for very complex functions, but we will improve continuously. Regarding the UX, yes we are thinking to have an IDE extension and a CLI as well => Would you find this interesting ? Many thanks again for your feedback
Report
Great to see the team launch this new product which I've been testing since beta, hope lots of people will use it to generate their docs as well 😊
Hello @michel_khouri, It is based on the structure and semantics of the code, analyzing it using state-of-the-art NLP methods to generate a short description of a code in natural language, and also detect the type of parameters
Report
Great job !
Does read python typehint's ?
Also, a great next feature would be automatically generating the list of parameters with the Sphynx format: https://sphinx-rtd-tutorial.read...
Many thanks for your feedback @clafoutis! It doesn't use Python type hint yet, but it will definitely do it in the future! For our first version of this product we choose a docstring fromat close to the Google docstring. But it is a really great idea to add other docstring format for our next release!
Report
Wow, love the product and wish I would have known earlier about it since I just rewrote a lot of my open source libraries and wanted to document them well. All the best 🙌
ps: Will you support different docstring styles? What about type hints?
@frank_blechschmidt Thank you Frank! Ponicode Dogstring today is only in beta, so of course yes we plan lots of new features! And the choice of template style is one of them.
It might not be too late to use Dogstring on your opensource libs - have a look at how our Github Action works!!
Looks really interesting! I always postpone the writing of boring docstrings and eventually I end up with a pile of undocumented boring functions. You've mentioned that you are working on improving your product for more complex functions so I will be waiting for that! Meanwhile, is there any guide on what are easy / hard functions to automatically generate meaningful docstrings such that I can try and bias my style to be easier for auto docstring generation?
Thank you very much @svepe for your feedback! If you want better results with our product, you should try to give meaningful names to your fonctions and parameters, it will improve the generated docstrings!
Ponicode Unit Test
Ponicode Unit Test
Ponicode Unit Test
Ponicode Unit Test
Ponicode Unit Test
Ponicode Dogstring - Documentation tool
Ponicode Unit Test
Efemarai
Ponicode Dogstring - Documentation tool
SnapCall
Ponicode Dogstring - Documentation tool
Ponicode Unit Test