Skip to content

Conversation

@Armavica
Copy link
Member

Description

Related Issue

  • Closes #
  • Related to #

Checklist

Type of change

  • New feature / enhancement
  • Bug fix
  • Documentation
  • Maintenance
  • Other (please specify):

@ricardoV94 ricardoV94 requested a review from maresb December 18, 2025 10:47
Comment on lines +208 to +215
[tool.pixi.environments]
default = { solve-group = "default" }
complete = { features = ["complete"], solve-group = "default" }
development = { features = ["development"], solve-group = "default" }
jax = { features = ["jax"], solve-group = "default" }
numba = { features = ["numba"], solve-group = "default" }
rtd = { features = ["rtd"], solve-group = "default" }
tests = { features = ["tests"], solve-group = "default" }

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this work when you don't have anything defined under tool.pixi.features? IIUC, this is using the different entries under project.optional-dependencies, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's correct!


[tool.pixi.workspace]
channels = ["conda-forge"]
platforms = ["linux-64"]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will only support development on linux?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose, but I wouldn't be able to test it on any other platform so I am thinking that it is easier if people who want support on other platforms add it themselves

rtd = { features = ["rtd"], solve-group = "default" }
tests = { features = ["tests"], solve-group = "default" }

[tool.pixi.tasks]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this empty entry?

Copy link
Member Author

@Armavica Armavica Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pixi init created this entry but one could add tasks. Maybe testing, running mypy, building the docs, etc?

@tomicapretto
Copy link

tomicapretto commented Dec 18, 2025

I like Pixi a lot and I've been using it almost everywhere now. We use it for Bambi and Formulae. If you want to have a look, these are the pyproject.toml https://github.com/bambinos/bambi/blob/main/pyproject.toml https://github.com/bambinos/formulae/blob/master/pyproject.toml. They are quite similar.

In short, we use setuptools for building the package, and pixi for anything dev related. Dev specific dependencies, such as those needed for tests, do not go into [project.optional-dependencies] and cannot be installed by users doing pip install .[test]. I like that separation between things we build and export, and things we use for development purposes.

With that said, I can imagine not everybody uses pixi for developing PyMCPyTensor, so it may not be possible to separate things in the same way.

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.

2 participants