pyfar / pyfar/gallery

[ENH] handle dependencies by pypi pyfar-gallery package

Open
#160 3 comments 0 reactions 1 assignee View on GitHub

@ahms5 is already working on this.

Since Apr 28, 2026.

enhancement maintenance
Dominant language
Python
Stars
3
Forks
2
Avg merge
2d 3h
Merged PRs (30d)
3

Description

I would suggest to define the dependencies in the pyproject.toml similar to other packages. Then we could just publish this as an pypi package with versions, and pypi can handle the dependencies for us.

The required requirements.txt for bilder could just include pyfar-gallery and the dependency hint at the beginning of each notebook would just be pip install pyfar-gallery.

an alternative name would be pyfar-examples, pyfar-gallery could be better as it is the same name used for readthedocs.

[project]
name = "pyfar-gallery"
version = "0.1.0"
description = "Dependencies for the pyfar example gallery."
readme = "README.md"
license = {file = "LICENSE"}
requires-python = ">=3.11"
authors = [
    { name = "The pyfar developers", email = "info@pyfar.org" },
]
dependencies = [
    "numpy>=1.23.0",
    "scipy>=1.5.0",
    "matplotlib",
    "pyfar>=0.8.0",
    "sofar>=1.2.0",
    "spharpy>=1.0.0",
    "pyrato>=1.0.0",
    "urllib3",
    "soundfile>=0.11.0",
    "sounddevice",
    "deepdiff",
    "ipykernel",
    "ipympl",
    "pooch",
    "watermark",
    "pytz",
]

[project.optional-dependencies]
deploy = [
    "bump-my-version",
    "wheel",
    "twine",
    ]
tests = [
    "watchdog",
    "pytest<8.1.0",
    "pytest-runner",
    "pytest-cov",
    "coverage",
    "flake8",
    "nbmake>=0.7.0",
    "pre-commit",
]
docs = [
    "Sphinx",
    "pydata-sphinx-theme",
    "autodocsumm>=0.2.14",
    "nbsphinx",
    "nbsphinx-link",
    "sphinx-gallery",
    "sphinx-design",
    "sphinx-favicon",
    "sphinx-copybutton",
]
dev = ["pyfar-gallery[deploy,tests,docs]"]

This is just an inital draft, we could also think of other usefull optional-dependencies.

This would solve the problem of double dependency handling discussed in #136
related to #101

If we decide to do that, I would like to implement it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.