-
Notifications
You must be signed in to change notification settings - Fork 932
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
[WIP] Edit User Guide to offer more information about usability and use cases #627
base: main
Are you sure you want to change the base?
Conversation
Folks, feel free to add notes in this Hackmd pad: https://hackmd.io/@Y6xjRiXFRUmwV7lDeM-5nQ/SkvWiBfzB |
@willingc would it be fine to provide feedback via inline comments here? (Asking since it's marked WIP and sometimes folks prefer that specific feedback wait until WIP is dropped) |
Completely up to you @pradyunsg. Feedback welcome. It may be best at some point to split the PR up too. |
order to ensure that commands are run in the Python installation matching | ||
the currently running notebook (which may not be the same Python | ||
installation that the ``python`` command refers to). | ||
It's recommended to substitute ``{sys.executable}`` for ``python``. This |
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.
I don't think write
->substitute
is the correct change here. You want users to keep {sys.executable}
.
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.
Yeah, I agree and will reword. Probably add a link to the Python docs for sys.executable
.
One comment I'm not sure fits here or in the hackpad is:
In the IPython docs we fought a long time to remove mentions of p-y-l-a-b inline, and the only effective things we did was just to completely undocument it. |
This is a good point, but I am not sure that we have any current documentation out there now that says you should do this, but people still somehow know to do it, so I think it is worth addressing. Maybe we can reference We can probably provide a list of potential replacements without actually mentioning the original commands by describing functions, like:
I don't mean to suggest that the above be the actual text - there is actually a lot more nuance to convey that can't easily be contained in a table of "commands to use", but this is just as an example to avoid generating a "conversion guide" that ends up getting people to use the old commands. |
|
||
- Review the installation documentation for the package | ||
- Install the package by following the installation documentation | ||
- Most packages will be installed with pipenv or pip. |
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.
I do not particularly want to court controversy here, but I think we may want to be very careful about the degree to which pipenv
is included or featured in this documentation. There has already been a lot of confusion sewn about how "official" pipenv
is.
I think putting pipenv
before pip
in this sentence will unfortunately be seized upon by the sort of "kremlinologists" who may scrutinize documentation in some sort of legalistic manner for the "word from on high".
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.
I can flip them.
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.
FYI. The basics doc is still notes and not even to draft state yet. 😉
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.
I'd phrase this a bit differently:
- if using an environment manager like conda (with appropriate link) or pipenv (link to app dependency management tutorial), then most packages will be installed through the environment manager, regardless of the instructions given in the individual package documentation
- if not using an environment manager, then most packages will be installed directly with pip, unless the individual package documentation explicitly says otherwise (and even then, if the package documentation mentions running
setup.py
directly, it is likely just outdated information).
As much as I'd like to be able to tell users "trust the documentation of the packages you're using", we unfortunately can't do that:
- if using conda/pipenv/poetry, bypassing them can result in an inconsistent environment
- a lot of up to date documentation will say "call pip"
- some Linux-specific documentation will say "call pip3"
- some conda-specific documentation will say "call conda"
- some old documentation will say "call setup.py"
I'm inclined to have things that are more specific and perhaps not yet universal recommendations into the scientific computing doc page. |
I agree. I feel we should definitely make things like renaming guide/discussion and adding a basics of installation page, be added in separate PRs. |
Yes that sounds great; I am doing similar things, I just want to avoid mentioning the |
@pradyunsg I will split out into two more WIP PRs. |
Thank you @willingc! :D |
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.
I like the direction this is going. One specific note on the challenges/risks of telling uses to trust the package documentation over this guide :(
|
||
- Review the installation documentation for the package | ||
- Install the package by following the installation documentation | ||
- Most packages will be installed with pipenv or pip. |
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.
I'd phrase this a bit differently:
- if using an environment manager like conda (with appropriate link) or pipenv (link to app dependency management tutorial), then most packages will be installed through the environment manager, regardless of the instructions given in the individual package documentation
- if not using an environment manager, then most packages will be installed directly with pip, unless the individual package documentation explicitly says otherwise (and even then, if the package documentation mentions running
setup.py
directly, it is likely just outdated information).
As much as I'd like to be able to tell users "trust the documentation of the packages you're using", we unfortunately can't do that:
- if using conda/pipenv/poetry, bypassing them can result in an inconsistent environment
- a lot of up to date documentation will say "call pip"
- some Linux-specific documentation will say "call pip3"
- some conda-specific documentation will say "call conda"
- some old documentation will say "call setup.py"
A gentle ping on this. |
@pradyunsg Sorry about dropping the ball on this one. I have given you push access to my branch. Feel free to take over any open packaging PRs of mine. Thanks! |
Addresses #367
FYI @dstufft