-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Add V4 distribution implementation developer guide #4783
Conversation
@OriolAbril I need quite some help to figure out how to properly integrate this with the rest of the docs, as well things related to markdown formatting, and cross references! :) Thanks in advance |
b6aa1d4
to
1302f58
Compare
@DRabbit17, can you have a look at the section on "Adding tests for the new |
9779dc6
to
fe115b8
Compare
Looks pretty good to me |
Also forgot to mention that this page will now be orphan, and not discoverable in the docs unless one searches for it. Not sure how but it should be added to the toctree or included within he developer guide |
The developer guide should probably be organized hierarchically, instead of being a single file like it is now, no? |
That would probably be best, so it can also include the architecture doc, style guides... |
fe115b8
to
f6c644f
Compare
I updated the references to follow the format you mentioned |
I would defer that to a separate PR, and in the meantime just leave this guide hanging. |
f6c644f
to
54be453
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks almost complete to me!
Let's address the ToDos and merge it sooner than later.
|
||
This guide provides an overview on how to implement a distribution for version 4 of PyMC3. | ||
It is designed for developers who wish to add a new distribution to the library. | ||
Users will not be aware of all this complexity and should instead make use of helper methods such as (TODO). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leftover TODO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's still a pymc3 ToDo. This was the role of Densitydist
but that was deprecated or at least not refactored for V4. Maybe we can link to something like: pymc-devs/pymc-examples#185
I think adding information about extending |
Do you want to open a Github issue for this? I think it could be important, but perhaps out of scope for this guide. |
The TODO may point to pymc-devs/pymc-examples#185 in the future, but that is still an early WIP. I think it's fine to leave it for the time-being. Similarly, the glossary will not work until #4797 is wrapped up. I am okay merging this and leaving it as an orphan-page until the "dev-branch" that @martinacantaro has suggested is created. If not, we can leave this as a draft PR. As you guys see fit. |
Co-authored-by: Michael Osthege <[email protected]>
97725cd
to
d747802
Compare
This PR adds a developer guide on how to implement (and test) new distributions for PyMC3
v4
.Somethings are still marked as
TODO
and feedback is much appreciated.The way distributions are implemented (and tested) will probably evolve over time, and hopefully this document will be easy to update as those things happen.