Skip to content
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 docs by avoiding confusion with distutils #3363

Merged
merged 3 commits into from
Jun 13, 2022

Conversation

abravalheri
Copy link
Contributor

@abravalheri abravalheri commented Jun 12, 2022

The existing docs seem to assume that the user is familiar with the history of packaging in the Python ecosystem (or at least know what is distutils).

Since that is not always the case and that distutils is in the process of being adopted by setuptools, the documentation should be changed to minimize mentions to distutils and avoid expecting too much knowledge from the users.

The benefit of this approach is that it can make the docs more accessible and easier to understand.

This PR is not exhaustive and do not implement all the necessary changes to achieve this view, and it is likely that many follow up PRs would be required.

Summary of changes

  • Modify landing page to clarify what setuptools does (making it more clear to understand for beginners).
  • Remove mentions to distutils, transition to PEP 517 from userguide/index.
    • Instead the text is changed to have a more "introductory" tone.
  • Remove mentions to distutils from the Quickstart.
  • Remove python2 from the intersphinx mapping - it was causing trouble redirecting glossary terms to Python2 docs, instead of Python3.
  • Modify documentation about development mode to be more aligned with current practices (i.e. using pip install -e .)
    • In this process all documentation about running setuptools commands in distutils projects was moved to a new file in docs/deprecated/running_commands.rst

Side note: I believe that in the future we can also start adopting some practices as described by the diataxis framework (e.g. strive to create/separate the documentation with different target audiences in mind, as pointed out in this discussion.

Pull Request Checklist

The existing docs seem to assume that the user is familiar with the
history of packaging in the Python ecosystem (or at least know what is
`distutils`).

Since that is not always the case and that `distutils` is in the process
of being adopted by `setuptools`, the documentation should be changed
to minimize mentions to `distutils` and avoid expecting too much
knowledge from the users.

The benefit of this approach is that it can make the docs more
accessible and easier to understand.

Changes:

- Modify landing page to clarify what `setuptools` does (making it more
  clear to understand for beginners).
- Remove mentions to `distutils`, `transition to PEP 517` from
  `userguide/index`.
  - Instead the text is changed to have a more "introductory" tone.
- Remove mentions to `distutils` from the Quickstart.
- Remove `python2` from the intersphinx mapping - it was causing trouble
  redirecting glossary terms to Python2 docs, instead of Python3.
- Modify documentation about development mode to be more aligned with
  current practices (i.e. using `pip install -e .`)
  - In this process all documentation about running `setuptools` commands
    in `distutils` projects was moved to a new file in `docs/deprecated/running_commands.rst`
@abravalheri
Copy link
Contributor Author

@codeandfire what do you think about these changes?
I am trying to make the docs easier to understand for beginners (that don't necessarily have knowledge about distutils). It is a big journey, so this is only the first step.

In the future, it would be nice if we manage to include some tutorials and start separating things in "howtos"... But that is another journey...

@abravalheri abravalheri marked this pull request as ready for review June 12, 2022 13:07
@codeandfire
Copy link
Contributor

Hi @abravalheri, I think it's a great step! The current changes are really good, and especially the changes made to the Development Mode page in itself resolve a large part of the confusion. I am ready to contribute to any future efforts involving creating tutorials/howtos etc. to make it easier for beginners.

@abravalheri
Copy link
Contributor Author

Thank you very much @codeandfire, that is very kind!

docs/deprecated/running_commands.rst Outdated Show resolved Hide resolved
docs/index.rst Outdated Show resolved Hide resolved
docs/userguide/development_mode.rst Outdated Show resolved Hide resolved
docs/userguide/development_mode.rst Outdated Show resolved Hide resolved
@abravalheri abravalheri merged commit 43b515b into pypa:main Jun 13, 2022
@abravalheri abravalheri deleted the doc-update branch June 15, 2022 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants