Skip to content

[DOC] PyPI-first install docs; drop unused dolfyn dependency - #81

Merged
eleanorfrajka merged 1 commit into
mainfrom
docs/install-pypi
Aug 18, 2026
Merged

[DOC] PyPI-first install docs; drop unused dolfyn dependency#81
eleanorfrajka merged 1 commit into
mainfrom
docs/install-pypi

Conversation

@eleanorfrajka

Copy link
Copy Markdown
Collaborator

Summary

Reworks the install documentation now that both oceanarray and seasenselib are on PyPI, and removes the redundant direct dolfyn dependency.

seasenselib is now a hard dependency (declared in requirements.txt, which feeds pyproject.toml's dynamic dependencies), so the old pip install --no-deps / pip install -e ../seasenselib workaround is gone. A plain pip install oceanarray resolves the whole stack, verified end-to-end in a fresh venv (imports plus oceanarray --help and seasenselib list).

Changes

requirements.txt: seasenselib becomes a hard dependency; the direct dolfyn line is removed. oceanarray never imports dolfyn — the rdi-raw reader lives in seasenselib, which reads RDI files through mhkit.dolfyn (mhkit vendors dolfyn as a subpackage and is pulled in via seasenselib's mhkit[dolfyn]>=1.0.0). The standalone dolfyn package was installed but imported by nothing. Verified: with standalone dolfyn uninstalled, seasenselib's reader still resolves via mhkit.dolfyn.io.rdi.read_rdi and oceanarray.processors.stage1 imports cleanly.

docs/source/setup.md, quickstart.rst, yaml_configuration.rst, roadmap.rst, README.md, troubleshooting.rst: install instructions lead with pip install oceanarray; the separate "install mhkit[dolfyn] for RDI" steps are dropped because RDI support now arrives automatically with seasenselib; the roadmap dependency list is corrected (dolfyn removed as a direct dep; rdi-raw added to the seasenselib reader list).

Notes on dependency footprint

Making seasenselib a hard dependency raises the download from ~81 MB (core) to ~236 MB. The heaviest transitive additions — PyQt5/Qt (~42 MB, via pylablib) and llvmlite/numba (~40 MB, via pylablib) — are hopefully being removed upstream in seasenselib; mhkitpyarrow (~34 MB) stays because it carries the vendored dolfyn used for RDI reading. After the upstream trim the seasenselib delta drops to ~73 MB, which is why seasenselib is kept as a hard dependency rather than an optional [raw] extra.

Breaking changes

None. seasenselib moving from a manual side-install to a declared dependency only adds packages to a fresh install; no public API, CLI flag, output layout, or config option changes. Removing the direct dolfyn line changes nothing observable — RDI reading already went through seasenselib's mhkit.dolfyn.

@eleanorfrajka
eleanorfrajka merged commit f07521c into main Aug 18, 2026
5 checks passed
@eleanorfrajka
eleanorfrajka deleted the docs/install-pypi branch August 18, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant