Skip to content

Conversation

@niksirbi
Copy link
Member

@niksirbi niksirbi commented Oct 10, 2025

Description

What is this PR

  • Bug fix
  • Addition of a new feature
  • Other

Why is this PR needed?

Since tables>=3.10, PyTables has published wheels for Apple Silicon (arm64) Macs — see release notes. Previously, the lack of these wheels required us to install pytables from conda-forge, see #125.

Now that the necessary wheels are available directly on PyPI, we can simplify installation and CI:

  • 1-line installation with pip or uv
  • no necessary dependency on conda-specific tooling

What does this PR do?

  • Adds a dependency on tables>=3.10.1 to pyproject.toml
  • Removes tox-conda from the tox config in pyproject.toml
  • Updates docs/requirements.txt (no separate tables requirement needed now that it’s a runtime dependency)
  • Overhauls the installation guide and adds uv as an option (alongside conda and pip)
  • Updates developer environment instructions to mention uv as an alternative to the existing workflow (see Note below)
  • Removes references to (micro)mamba (less relevant now that conda uses the libmamba solver by default)

Note

For now I recommend setting up a development environment using:

uv pip install -e ".[dev]"

rather than:

uv sync --extra dev

While uv sync enforces lockfile-based reproducibility, it currently struggles with platform-specific Qt backend dependencies (e.g. PyQt5), which can cause installation failures on some systems:

Using uv pip installs only what’s needed for the local platform, keeping contributors unblocked while retaining the familiar editable-install workflow. We may revisit uv sync once our GUI dependency setup is more consistently cross-platform (e.g. if/when we migrate from PyQt5 to PySide6).

These changes also pave the way toward switching our CI to uv, but that will be pursued separately as it may require updates to our GitHub Actions.

References

Closes #524.

Related to #125

How has this PR been tested?

  • Running tox locally on macOS Apple Silicon passes
  • CI passes across all OS platforms
  • uv run --python 3.13 --isolated --with-editable '.[dev]' pytest passes (after a one-off uv cache prune)

Is this a breaking change?

No, in the sense that conda-forge installation should still work.

Does this PR require an update to the documentation?

The installation and contributing guides have been updated.

Checklist:

  • The code has been tested locally
  • Tests have been added to cover all new functionality
  • The documentation has been updated to reflect any changes
  • The code has been formatted with pre-commit

@niksirbi niksirbi added the dependencies Pull requests that update a dependency file label Oct 10, 2025
@codecov
Copy link

codecov bot commented Oct 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (560c325) to head (98f429e).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #683   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           34        34           
  Lines         1997      1997           
=========================================
  Hits          1997      1997           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@niksirbi niksirbi force-pushed the add-tables-dependency branch from ef1ccd8 to 7f3c0b7 Compare October 29, 2025 16:43
@niksirbi niksirbi changed the title Remove need to install pytables from conda-forge Enable pure pip/uv installations Oct 29, 2025
@niksirbi niksirbi changed the title Enable pure pip/uv installations Enable pure pip/uv installations Oct 29, 2025
@sonarqubecloud
Copy link

@niksirbi niksirbi marked this pull request as ready for review October 30, 2025 13:01
@niksirbi niksirbi requested a review from lochhh October 30, 2025 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Explore installation through uv

2 participants