Skip to content

Add basic Pixi config in pyproject.toml and developer instructions#3842

Open
backmari wants to merge 3 commits intomainfrom
backmari_pixi_dev_env
Open

Add basic Pixi config in pyproject.toml and developer instructions#3842
backmari wants to merge 3 commits intomainfrom
backmari_pixi_dev_env

Conversation

@backmari
Copy link
Copy Markdown
Contributor

@backmari backmari commented Jan 20, 2026

Description

Adds a basic Pixi configuration to the pyproject.toml and instructions for setting up your developer environment using Pixi. The reason for adding Pixi as an option is that many institutions are moving from conda to Pixi due to conda licensing changes.

This is related to #3690, but does not resolve the issue. There is more work to do to e.g. move the CI to use Pixi, but that may require some discussion.

TODO (in a separate PR?): Figure out how to build the docs using a Pixi task and have the docs changes reflected in the GUI.

How Has This Been Tested?

I tested that I can create the developer environment, run the GUI, and run the unit tests:

pixi shell
sasview
pixi run test

I have only tested on Linux.

Review Checklist:

[if using the editor, use [x] in place of [ ] to check a box]

Documentation (check at least one)

  • There is nothing that needs documenting
  • Documentation changes are in this PR
  • There is an issue open for the documentation (link?)

Installers

  • There is a chance this will affect the installers, if so
    • Windows installer (GH artifact) has been tested (installed and worked)
    • MacOSX installer (GH artifact) has been tested (installed and worked)
    • Wheels installer (GH artifact) has been tested (installed and worked)

Licensing (untick if necessary)

  • The introduced changes comply with SasView license (BSD 3-Clause)

@backmari backmari requested a review from rozyczko January 20, 2026 19:42
Copy link
Copy Markdown
Contributor

@llimeht llimeht left a comment

Choose a reason for hiding this comment

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

There are a few conceptual things that need to be figured out collectively - particularly around pinning of dependencies. cf. https://github.com/orgs/SasView/discussions/3831

@krzywon
Copy link
Copy Markdown
Contributor

krzywon commented Jan 23, 2026

As a reminder from our meeting, the developer environment setup is available at https://github.com/SasView/sasview/wiki/DevNotes_DevEnvironmentInstall

@krzywon krzywon requested a review from llimeht February 10, 2026 14:54
installers/credits.html
# pixi environments
.pixi/*
!.pixi/config.toml
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Was the .pixi/config.toml file meant to be added to the repo?

Comment on lines +99 to +107
```shell
# Clone the repository
git clone https://github.com/sasview/sasdata/
git clone https://github.com/sasview/sasmodels/
git clone https://github.com/sasview/sasview/

# Enter the developer environment
# (This will create (or reuse) a local Pixi environment with all required dependencies.)
cd sasview
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nitpick: This is in both the venv and Pixi instructions. This shouldn't hold up this PR, but might make sense to add a section called Obtaining the source code. This section could also have instructions on cloning the bumps and periodictable repos.

[tool.pixi.pypi-dependencies]
sasview = { path = ".", editable = true }
sasdata = { path = "../sasdata", editable = true }
sasmodels = { path = "../sasmodels", editable = true }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It might be worthwhile to include commented out bumps and periodictable to the dependency list.

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.

3 participants