-
Notifications
You must be signed in to change notification settings - Fork 779
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
Ensure all APIs are documented (#![deny(missing_docs)]
)
#306
Comments
I'm about to push an update to |
#![deny(missing_docs)]
)
Should we enforce documentation for (suggestions included):
I've written minimal documentation for most of the remaining functions (hard to tell, because of all the noise). If I could get an opinion on the 3 areas above, I'll try to file a PR soon. |
Agreed. We don't expose the FFI sub-modules at all, so just a top level
Sounds fine, note that we're probably going to kill protocols for the 0.15 release (see #1206), so don't put too much effort into these.
Agreed. Even if they might be "obvious" to us experienced users, I think a library really feels like it's significantly higher quality to new users if literally every method has docs.
Maybe it should be a trait 😄. That's a question for another time though. TBH for now you could always add Regarding enforcing |
Good to know. If you don't mind I'm just going to open a PR first and look at the protocols again once it's clear which ones are going away. |
Are the |
In general I have been not included changes to them in the CHANGELOG, and consider them internal APIs. I think such macros could be useful however I suspect they're very specialized for certain use cases - really we should be providing APIs for core types in
Which types do you mean? |
We have two main parts of the documentation, the guide and the api docs, which both could be much better. The vision is to have a complete guide for pyo3, similar to the cargo book, and documentation on a
#![deny(missing_docs)]
level with many examples.The guide currently only covers a small part of all features, e.g. conversions, type objects or the lifetime concept aren't explained at all. So if you've used some feature not documented in the guide, it would be great if you'd send pull request with an explanation and/or an example.
The api docs are also sparse, with mostly very short comments, almost no examples and no explanations of the relationships between the different types and traits. So if you describe an api better for new user, know the interactions between the types or have a good example, a pull request is highly appreciated!
The text was updated successfully, but these errors were encountered: