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

DOC: Add install instructions with pixi #7448

Open
drbenvincent opened this issue Aug 8, 2024 · 9 comments
Open

DOC: Add install instructions with pixi #7448

drbenvincent opened this issue Aug 8, 2024 · 9 comments
Assignees
Labels

Comments

@drbenvincent
Copy link

Issue with current documentation:

The current installation instructions https://www.pymc.io/projects/docs/en/stable/installation.html have the recommended install method with conda.

Idea or request for content:

But with the rise in popularity of pixi, I propose that the install instructions be broken into subsections. A conda subsection with the current content, and a new pixi subsection.

@cluhmann
Copy link
Member

cluhmann commented Aug 9, 2024

This should be discussed carefully. You mention the "rise in popularity of pixi", but we already get plenty of resistance because the official installation requires conda (not to even mention things like mamba). Given the many different package/environment management tools in the Python world, the one common denominator has always been pip (which still plays well with most of the other tooling) and people are unhappy when they are forced to mix incompatible tools and/or deal with yet another dependency.

We can, of course, add alternative installation procedures to the docs, but we made a very conscious decision to streamline the installation instructions when we moved from v4 to v5 and adding multiple alternative instructions will lead us back toward the more complicated situation we were dealing with at that time. Having a single, universal set of recommended installation procedure also makes diagnosing problems more straightforward.

@cluhmann
Copy link
Member

As an example of how unsettled this is, here is blog post published today that suggests:

The interoperability problems between pip and conda were never fully addressed, and while I think the Pixi folks are doing a fantastic job, I think in the long run uv will win.

uv? What the hell is that? Oh, it's yet another Python package manager (also written in Rust).

@maresb
Copy link
Contributor

maresb commented Aug 11, 2024

But pixi is not a Python package manager, it's an environment manager.

uv is just a Python package manager. You can't install compilers with uv so at least from my quick skim of that blog post it looks pretty clueless. If you're just doing pure Python, then yes uv is all you need. But if you want stuff that's not on pypi, like Python itself, then something like pixi makes a lot of sense, and uv cannot substitute.

@fonnesbeck
Copy link
Member

I think there is merit in having an "official" installation method that we recommend to most users that don't have specialized requirements, but also including instructions for other approaches. This gives users options, which are always handy when the official method does not work or their needs require an alternative approach. The key is to structure the installation guide well so that there is no confusion. Frankly, I think we should have a set of pip instructions as well because even though we don't recommend that route it is sometimes necessary (my last job required pip, for example).

We could even have the pixi instructions in a doc separate from the installation guide, as we do with the Docker instructions, to make it completely unambiguous.

@cluhmann
Copy link
Member

I think it's fine to have "here's the official installation instructions (which, if used, means we will provide help with any associated problems) and a set of instructions that are hidden behind a firm caveat emptor warning. Less inclined users won't be overwhelmed with a bunch of options (some of which, like pip, are ill-advised) but more advanced users can still explore the vast world of footguns.

@fonnesbeck
Copy link
Member

fonnesbeck commented Aug 12, 2024

OK, let's make the pixi docs a how-to guide then, and it can live alongside the Docker, Gitpod, and related docs, but distinct from the installation instructions.

@cluhmann
Copy link
Member

TIL that we have docker and gitpod docs.

Should we consider moving those installation docs (and the pip/pixi stuff) somewhere more broadly visible than the contribution guide? Gitpod I can see being useful for contributors specifically. But docker less so. And we get plenty of docker questions on discourse.

@ricardoV94
Copy link
Member

ricardoV94 commented Aug 12, 2024

We could use tabs, like in https://pytensor.readthedocs.io/en/latest/extending/creating_a_numba_jax_op.html

image

@cluhmann
Copy link
Member

Tabs don't seem hidden enough to license us saying "you're a new python user who used pip to install PyMC so we're not going to help you unbork your installation".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants