-
-
Notifications
You must be signed in to change notification settings - Fork 31.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
Improve the documentation of PEP 495 features without referencing the PEP #101235
Comments
Thanks, @abalkin . Just to clarify, I didn't mean to imply that the CPython docs should never reference PEPs, but rather just that they shouldn't rely on PEPs to "explain things", i.e. for the often-neglected Explanation type content critical to reader understanding of the key concepts behind the implementation, and that parts of the PEP content should be ported over to the canonical docs, if likely to be useful to a sufficient cross-section of future users of a feature to teach, describe, instruct and explain the current implementation (as opposed to being more of historical/background interest, or more relevant to the decision-making process). Also, porting over and summarizing some discussion relevant to this issue from python/peps#2959 : @bxparks reported:
I replied:
@bxparks replied:
and I clarified:
|
Is there something concrete to do here, or can we close this issue? |
There are several problems with the current High level:
Low level, related to the fix and comments that I made in python/peps#2959:
Even if we added additional content to explain the problems that I listed above, I remarked (somewhere) that I think it is almost impossible for an average Python developer to understand the explanation without reading PEP495. Specifically, the diagrams in PEP495 are critical to understand how the My other concern is that I am not sure if I am the best person to do this edit. Yes, I have some low-level domain expertise on this topic, since I have implemented several DateTime/TimeZone libraries in various languages (C, C++, Python, Go) in the past few years. But I am not a full time Python developer. I am not familiar with the Python development process, or the documentation review process. The |
Hi, Sphinx maintainer here.
Hard to split it up without breaking Sphinx references. We had a similar discussion #126053 for the data model page so we probably can't do anything for now.
If there are insufficient examples, we could add a new page with such examples. That could alleviate the length of the document but I'd suggest opening a separate issue.
Even if you suspect it, it's an existing API so we should document it. Not everyone wants to rely on third-party library and not everyone can make the migration to zoneinfo if they learned tzinfo first. So I'm against removing them.
Let's open a separate issue for that.
Similarly let's open another issue.
It's possible to include diagrams using Sphinx but we probably need to create them in advance since not everyone may have graphiz installed. Since most of your concerns can be addressed separately, I suggest closing this specific issue and, if desired, create other related issues but AFAICT, we should probably create other pages for explaining in-depth concepts. |
Well, ideally we want the docs to avoid having to reference PEPs to explain things as far as the use of the current implementation goes, as opposed to the historical design decisions that shaped the eventual implementation in CPython.
That said, if you really want, it's the https://github.com/python/cpython repo along with the rest of the source code. You can find a link to the source code of every docs page at the top of said page:
The link for this particular page is https://github.com/python/cpython/tree/main/Lib/datetime.py
Originally posted by @CAM-Gerlach in python/peps#2959 (comment)
The text was updated successfully, but these errors were encountered: