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.
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-galleryand the dependency hint at the beginning of each notebook would just bepip install pyfar-gallery.an alternative name would be
pyfar-examples,pyfar-gallerycould be better as it is the same name used for readthedocs.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.