-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
This is the master plan for restructuring this guide. This issue's description will be edited as discussions occur. It's the plan of record for what the end state is and what steps we will take to get to the end state. This is proposed as a minimal set of changes to improve these docs and encourage contributions, once we have this foundation we can build on this to improve even further. Specifically, the work started by @ddbeck for new tutorials will be significantly easier after this structure is in place.
Documentation Types
This guide will consist of 3 distinct documentation types:
- tutorials are focused on teaching the reader new concepts by accomplishing a goal. They are opinionated step-by-step guides. They do not include extraneous warnings or information. example
- guides are focused on accomplishing a specific task and can assume some level of pre-requisite knowledge.. These are similar to tutorials, but have a narrow and clear focus and can provide lots of caveats and additional information as needed. They may also discuss multiple approaches to accomplishing the task. example
- discussions are focused on understanding and information. These explore a specific topic without a specific goal in mind. example
We may revisit and add additional documentation types as needed.
Documentation plan
This is the set of docs that we want to provide, organized in the final toctree.
- Landing page
- Tutorials
- Installing packages
- Creating & publishing packages
- Guides (items and titles in this section are most likely to change)
- Installing packaging tools with Linux package managers
- Installing scientific packages
- Multi-version installs
- Single-sourcing the package version
- Supporting multiple python versions
- Packaging binary extensions
- Building wheels for Windows using AppVeyor
- Packaging namespace packages
- Creating and discovering plugins
- Index mirrors & caches
- Hosting your own index
- Deploying applications
- Discussions
- install-requires vs requirements.txt
- pip vs easy_install
- wheel vs egg
- setup() arguments
- Specifications
- Package metadata
- Package index interfaces
- Glossary
- How to get help
- How to get involved
These pages will be moved to other projects:
- Key projects will be moved into pypa.io
Steps to get there
- Get agreement on this plan.
- Migrate to new theme. (Switch to pypa theme #305)
- Add a script to track broken deep links. (Add script to check for broken deep links #315)
- Write new landing page, describing documentation types and linking into tutorials.
- Move existing pages into sub-folders based on the above toctree . (Re-organize existing documentation into new structure. #318)
- Drop old docs out of the source tree. (Re-organize existing documentation into new structure. #318)
Once we're there
After this work is done, we should be able to more easily divide and conquer handling new tutorials, addressing issues, and revising existing content. My next task will be to work on revising the two top-level tutorials and possibly breaking them up according to @ddbeck's guide (and taking a page out of Django's book).