Skip to content

[ENH] handle dependencies by pypi pyfar-gallery package #160

@ahms5

Description

@ahms5

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 = "[email protected]" },
]
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.

Metadata

Metadata

Assignees

No fields configured for Feature.

Projects

Status
Agenda

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions