Skip to content

Fix macOS setup: pip extras not defined, dev dependencies not installed #1204

@jhhornn

Description

@jhhornn

Bug: macOS setup guide uses pip extras that are not defined, causing missing dev dependencies and setup failure

Summary

The macOS setup guide (MACOS_SETUP.md) instructs users to run pip install -e ".[dev]", but the project defines dependencies only using Poetry groups ([tool.poetry.group.*]). Since pip does not recognize Poetry groups, the command does not install any dev dependencies. As a result, subsequent steps (like pre-commit install) fail, leaving contributors with a broken development environment.


Expected Behavior

Running:

pip install -e ".[dev]"

should install:

  • the project in editable mode
  • all development dependencies (e.g., pre-commit, pytest, ruff, mypy, etc.)

After installation, commands like:

pre-commit install

should run successfully without errors.


Actual Behavior

  • pip install -e ".[dev]" installs only the base package and its core dependencies
  • Dev dependencies are not installed because pip does not understand Poetry groups
  • The guide then runs:
pre-commit install

which fails because pre-commit is not installed

This results in:

  • a broken setup flow
  • missing developer tooling
  • confusion for new contributors due to silent or unclear failure

Steps to Reproduce

git clone <repo>
cd <repo>

pip install -e ".[dev]"
pre-commit install

Impact

  • New contributors cannot successfully set up the project using the macOS guide
  • Missing tooling (pre-commit, pytest, etc.) leads to failed workflows
  • Silent failure of pip extras creates confusion and slows onboarding
  • Inconsistent setup compared to other guides that rely on Poetry

Proposed Fix

1. Add pip-compatible extras to pyproject.toml

[project.optional-dependencies]
dev = ["pre-commit", "ruff", "mypy", "memory-profiler", "snakeviz", "notebook", "jupyterlab"]
test = ["pytest", "pytest-mock", "pytest-xdist", "pytest-cases", "pytest-cov"]
docs = ["sphinx", "pydata-sphinx-theme", "sphinx_design", "pandas-stubs"]

2. Update MACOS_SETUP.md

Replace the broken steps with:

pip install -e ".[dev,test]"

Additional Context

  • This fix is additive only and does not affect existing Poetry workflows (poetry install --with dev,test,docs)
  • Aligns the project with standard PEP 621 extras so both pip and Poetry users are supported
  • Ensures a consistent, fail-free onboarding experience across environments

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions