Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ jobs:
python-version: 3.x
cache: pip
cache-dependency-path: |
docs/requirements.txt
pyproject.toml
- name: Install uv
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
Expand All @@ -28,9 +27,7 @@ jobs:
sudo apt-get update
sudo apt-get install graphviz
- name: Install Python dependencies
run: |
uv pip install --system setuptools coverage
uv pip install --system -r docs/requirements.txt
run: uv pip install --system setuptools coverage --group docs
- name: Build docs
run: |
python tools/fixup_whats_new_pr.py
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/downstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ jobs:
cd ..
git clone https://github.com/ipython/ipykernel
cd ipykernel
pip install -e .[test]
pip install -e . --group test

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

cd ..
- name: Install and update Python dependencies
run: |
python -m pip install --upgrade -e file://$PWD#egg=ipython[test]
python -m pip install --upgrade -e file://$PWD#egg=ipython --group test
# we must install IPython after ipykernel to get the right versions.
python -m pip install --upgrade --upgrade-strategy eager flaky ipyparallel
- name: pytest ipykernel
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,14 @@ jobs:
- name: Install and update Python dependencies (binary only)
if: ${{ ! contains( matrix.python-version, 'dev' ) }}
run: |
uv pip install --system setuptools wheel build
uv pip install --system -e .[${{ matrix.deps }}]
uv pip install --system --group build
uv pip install --system -e . --group ${{ matrix.deps }}
uv pip install --system check-manifest pytest-cov pytest
- name: Install and update Python dependencies (dev?)
if: ${{ contains( matrix.python-version, 'dev' ) }}
run: |
uv pip install --system --prerelease=allow setuptools wheel build
uv pip install --system --prerelease=allow --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple -e .[${{ matrix.deps }}]
uv pip install --system --prerelease=allow --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple check-manifest pytest-cov
uv pip install --system --prerelease=allow --group build
uv pip install --system --prerelease=allow --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple -e . --group ${{ matrix.deps }} check-manifest pytest-cov
- name: Try building with Python build
if: runner.os != 'Windows' # setup.py does not support sdist on Windows
run: |
Expand Down Expand Up @@ -143,7 +142,7 @@ jobs:
pyproject.toml

- name: Install Python dependencies (oldest supported versions)
run: uv pip install --resolution=lowest-direct -e .[test]
run: uv pip install --resolution=lowest-direct -e . --group test

- name: Try building with uv build
if: runner.os != 'Windows' # setup.py does not support sdist on Windows
Expand Down
11 changes: 4 additions & 7 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,10 @@ build:
python: "3.14"
apt_packages:
- graphviz
jobs:
install:
- pip install --upgrade pip
- pip install --group docs

sphinx:
configuration: docs/source/conf.py

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt
9 changes: 7 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,12 @@ For more detailed information, see our [GitHub Workflow](https://github.com/ipyt

## Running Tests

All the tests can be run by using
Ensure dependencies are installed:
```shell
pip install --group test
```

All the tests can be run by using:
```shell
pytest
```
Expand All @@ -82,7 +87,7 @@ pytest IPython/core/tests/test_alias.py::test_alias_lifecycle
Sphinx documentation can be built locally using standard sphinx `make` commands. To build HTML documentation from the root of the project, execute:

```shell
pip install -r docs/requirements.txt # only needed once
pip install --group docs
make -C docs/ html SPHINXOPTS="-W"
```

Expand Down
2 changes: 1 addition & 1 deletion docs/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ the following tools are needed to build the documentation:
In a conda environment, or a Python 3 ``venv``, you should be able to run::

cd ipython
pip install -U -r docs/requirements.txt
pip install -U --group docs


Build Commands
Expand Down
13 changes: 0 additions & 13 deletions docs/requirements.txt

This file was deleted.

5 changes: 3 additions & 2 deletions docs/source/install/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ Installing the development version

It is also possible to install the development version of IPython from our
`Git <https://git-scm.com/>`_ source code repository. To do this you will
need to have Git installed on your system.
need to have Git installed on your system. Additionally, ensure that
pip version 25.1 (2025-04-26) or later is installed.


Then do:
Expand All @@ -120,7 +121,7 @@ Then do:

$ git clone https://github.com/ipython/ipython.git
$ cd ipython
$ pip install -e '.[test]'
$ pip install -e . --group test

The :command:`pip install -e .` command allows users and developers to follow
the development branch as it changes by creating links in the right places and
Expand Down
36 changes: 24 additions & 12 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,36 @@ Tracker = "https://github.com/ipython/ipython/issues"
black = [
"black",
]
doc = [
matplotlib = [
"matplotlib>3.9"
]
all = [
"ipython[matplotlib]", # self-reference
"argcomplete>=3.0",
]

[dependency-groups]
build = [
"build",
"setuptools>=80.0",
"wheel",
]
docs = [
"docrepr",
"exceptiongroup",
"intersphinx_registry",
"ipykernel",
"ipython[test,matplotlib]",
"ipython[matplotlib]", # self-reference from project.optional-dependencies
"intersphinx_registry",
"numpy",
"prompt_toolkit",
"setuptools>=80.0",
"sphinx_toml==0.0.4",
"sphinx-rtd-theme>=0.1.8", # wheel
"sphinx-rtd-theme>=1.2.0",
"sphinx>=8.0",
"testpath",
"typing_extensions",
{include-group = "test"},
]
test = [
"pytest>=7.0.0", # keep in sync with tool.pytest.ini_options.minversion
Expand All @@ -76,23 +95,16 @@ test = [
"setuptools>=80.0",
]
test_extra = [
"ipython[test]",
"curio",
"jupyter_ai",
"ipython[matplotlib]",
"ipython[matplotlib]", # self-reference from project.optional-dependencies
"nbformat",
"nbclient",
"ipykernel>6.30",
"numpy>=2.0",
"pandas>2.1",
"trio>=0.22.0",
]
matplotlib = [
"matplotlib>3.9"
]
all = [
"ipython[doc,matplotlib,test,test_extra]",
"argcomplete>=3.0",
{include-group = "test"},
]


Expand Down
Loading