oceandata-notebooks

Tutorials for OB.DAAC data

https://github.com/nasa/oceandata-notebooks

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary

Keywords

nasa-pace
Last synced: 7 months ago · JSON representation ·

Repository

Tutorials for OB.DAAC data

Basic Info
Statistics
  • Stars: 4
  • Watchers: 8
  • Forks: 2
  • Open Issues: 13
  • Releases: 1
Topics
nasa-pace
Created about 2 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Citation

README.md

Oceandata Notebooks

Welcome to the repository of tutorials for users of the Ocean Biology Distributed Active Archive Center (OB.DAAC).

For Data Users

Head over to our Help Hub to access the published tutorials.

For Notebook Authors and Reviewers

Please take a minute to familiarize yourself with the following information about our tutorials, which are stored as MyST Markdown rather than as Jupyter Notebooks.

Edit Notebooks & Commit Markdown

[!Important] - Edit notebooks in JupyterLab so Jupytext can do its magic. - When you first clone this repository, the notebooks folder will not exist!

Keeping Jupyter Notebooks (.ipynb) in a code repository is tough for collaboration because Jupyter Notebooks contain large, binary outputs and metadata that frequently changes. By means of the Jupytext extension to JupyterLab, MyST Markdown (.md) files can be opened like notebooks without saving content troublesome for collaboration. Going one step further, Jupytext can pair an actual Jupyter Notebook file with a MyST Markdown file. That lets us enjoy the benefits of Jupyter Notebooks (e.g. saved outputs and metadata) while only storing MyST Markdown in the repository.

What does this mean for authors and reviewers? You can use the Jupyter Notebooks in the notebooks folder normally, but you must commit the synchronous changes to the paired MyST Markdown files within the book/notebooks folder. To create the notebooks folder after cloning the repository, or when a new MyST Markdown file is pulled, run the following Terminal command. The Terminal command will synchronize, creating if necessary, the paired Jupyter Notebook files with all MyST Markdown files tracked by git.

shell jupytext --sync $(git ls-files book/notebooks)

Create a New Notebook

[!Note] Create new notebooks by copying COPYME.ipynb into a suitable location within the notebooks folder.

When you save your new notebook, watch for a new markdown file to appear in the book/notebooks folder and add that file to a commit.

Acknowledgements

This repository has greatly benefited from works of multiple open-science projects, notably Learn OLCI and the NASA Earthdata Cloud Cookbook.

Owner

  • Name: NASA
  • Login: nasa
  • Kind: organization
  • Email: nasa-data@lists.arc.nasa.gov
  • Location: United States of America

ReadOpen Data initiative here: https://www.nasa.gov/open/ & Instructions here: https://github.com/nasa/nasa.github.io/blob/master/docs/INSTRUCTIONS.md

Citation (CITATION.cff)

cff-version: 1.2.0
title: Data recipes for the Ocean Biology DAAC
authors:
  - family-names: Carroll
    given-names: Ian
    affiliation: "NASA Goddard Space Flight Center; University of Maryland Baltimore County"
    orcid: "https://orcid.org/0000-0002-3616-810X"
  - family-names: Windle
    given-names: Anna
    affiliation: "NASA Goddard Space Flight Center; Science Systems and Applications, Inc."
    orcid: "https://orcid.org/0000-0002-4852-5848"
  - family-names: Wang
    given-names: Guoqing
    affiliation: "NASA Goddard Space Flight Center; Science Systems and Applications, Inc."
    orcid: "https://orcid.org/0000-0001-5552-319X"
  - family-names: Poulin
    given-names: Carina
    affiliation: "NASA Goddard Space Flight Center; Science Systems and Applications, Inc."
    orcid: "https://orcid.org/0000-0001-5907-7473"
  - family-names: Foley
    given-names: Sean
    affiliation: "NASA Goddard Space Flight Center; Morgan State University"
    orcid: "https://orcid.org/0000-0001-5907-7473"
  - family-names: Gray
    given-names: Patrick
    affiliation: "University of Maine; University of Haifa"
    orcid: "https://orcid.org/0000-0002-8997-5255"
  - family-names: Holmes
    given-names: Eli
    affiliation: "NOAA Fisheries; University of Washington"
    orcid: "https://orcid.org/0000-0001-9128-8393"

GitHub Events

Total
  • Issues event: 2
  • Watch event: 2
  • Delete event: 17
  • Issue comment event: 25
  • Push event: 68
  • Pull request review event: 6
  • Pull request event: 29
  • Fork event: 1
  • Create event: 13
Last Year
  • Issues event: 2
  • Watch event: 2
  • Delete event: 17
  • Issue comment event: 25
  • Push event: 68
  • Pull request review event: 6
  • Pull request event: 29
  • Fork event: 1
  • Create event: 13

Dependencies

.github/workflows/repo2docker.yaml actions
  • actions/checkout v4 composite
  • jlumbroso/free-disk-space v1.3.1 composite
  • jupyterhub/repo2docker-action master composite
book/setup.py pypi
docker/environment.yml pypi
docker/requirements.in pypi
  • Brotli ==1.1.0
  • Jinja2 ==3.1.5
  • Mako ==1.3.9
  • MarkupSafe ==3.0.2
  • PyJWT ==2.10.1
  • PySocks ==1.7.1
  • PyYAML ==6.0.2
  • Pygments ==2.19.1
  • SQLAlchemy ==2.0.38
  • Send2Trash ==1.8.3
  • alembic ==1.14.1
  • annotated-types ==0.7.0
  • anyio ==4.8.0
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.3.0
  • asttokens ==3.0.0
  • async-lru ==2.0.4
  • async_generator ==1.10
  • attrs ==25.1.0
  • babel ==2.17.0
  • beautifulsoup4 ==4.13.3
  • bleach ==6.2.0
  • blinker ==1.9.0
  • bokeh ==3.7.3
  • cached-property ==1.5.2
  • certifi ==2024.12.14
  • certipy ==0.2.1
  • cffi ==1.17.1
  • charset-normalizer ==3.4.1
  • click ==8.2.1
  • cloudpickle ==3.1.1
  • comm ==0.2.2
  • contourpy ==1.3.2
  • cryptography ==44.0.0
  • cytoolz ==1.0.1
  • dask ==2025.5.1
  • debugpy ==1.8.12
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • distributed ==2025.5.1
  • exceptiongroup ==1.2.2
  • executing ==2.1.0
  • fastjsonschema ==2.21.1
  • fqdn ==1.5.1
  • fsspec ==2025.5.1
  • greenlet ==3.1.1
  • h11 ==0.14.0
  • h2 ==4.2.0
  • hpack ==4.1.0
  • httpcore ==1.0.7
  • httpx ==0.28.1
  • hyperframe ==6.1.0
  • idna ==3.10
  • importlib_metadata ==8.6.1
  • importlib_resources ==6.5.2
  • ipykernel ==6.29.5
  • ipython ==8.32.0
  • ipywidgets ==8.1.5
  • isoduration ==20.11.0
  • jedi ==0.19.2
  • json5 ==0.10.0
  • jsonpointer ==3.0.0
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • jupyter-events ==0.12.0
  • jupyter-lsp ==2.2.5
  • jupyter-resource-usage ==1.1.0
  • jupyter_client ==8.6.3
  • jupyter_core ==5.7.2
  • jupyter_offlinenotebook ==0.3.1
  • jupyter_server ==2.15.0
  • jupyter_server_terminals ==0.5.3
  • jupyterhub ==5.2.1
  • jupyterlab ==4.3.5
  • jupyterlab_pygments ==0.3.0
  • jupyterlab_server ==2.27.3
  • jupyterlab_widgets ==3.0.13
  • locket ==1.0.0
  • lz4 ==4.4.4
  • matplotlib-inline ==0.1.7
  • mistune ==3.1.1
  • msgpack ==1.1.1
  • narwhals ==1.45.0
  • nbclient ==0.10.2
  • nbconvert ==7.16.6
  • nbformat ==5.10.4
  • nest_asyncio ==1.6.0
  • notebook ==7.3.2
  • notebook_shim ==0.2.4
  • numpy ==2.2.6
  • oauthlib ==3.2.2
  • overrides ==7.7.0
  • packaging ==24.2
  • pamela ==1.2.0
  • pandas ==2.3.0
  • pandocfilters ==1.5.0
  • parso ==0.8.4
  • partd ==1.4.2
  • pexpect ==4.9.0
  • pickleshare ==0.7.5
  • pillow ==11.2.1
  • pip ==25.0
  • pkgutil_resolve_name ==1.3.10
  • platformdirs ==4.3.6
  • prometheus_client ==0.21.1
  • prompt_toolkit ==3.0.50
  • psutil ==5.9.8
  • ptyprocess ==0.7.0
  • pure_eval ==0.2.3
  • pyarrow ==20.0.0
  • pycparser ==2.22
  • pydantic ==2.0.3
  • pydantic_core ==2.3.0
  • pyinterp ==2025.3.0
  • python-dateutil ==2.9.0.post0
  • python-json-logger ==2.0.7
  • pytz ==2025.1
  • pyzmq ==26.2.1
  • referencing ==0.36.2
  • requests ==2.32.3
  • rfc3339_validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rpds-py ==0.22.3
  • setuptools ==75.8.0
  • six ==1.17.0
  • sniffio ==1.3.1
  • sortedcontainers ==2.4.0
  • soupsieve ==2.5
  • stack_data ==0.6.3
  • tblib ==3.1.0
  • terminado ==0.18.1
  • tinycss2 ==1.4.0
  • tomli ==2.2.1
  • toolz ==1.0.0
  • tornado ==6.4.2
  • traitlets ==5.14.3
  • types-python-dateutil ==2.9.0.20241206
  • typing_extensions ==4.12.2
  • typing_utils ==0.1.0
  • tzdata ==2025.2
  • uri-template ==1.3.0
  • urllib3 ==2.3.0
  • wcwidth ==0.2.13
  • webcolors ==24.11.1
  • webencodings ==0.5.1
  • websocket-client ==1.8.0
  • wheel ==0.45.1
  • widgetsnbextension ==4.0.13
  • xarray ==2025.6.1
  • xyzservices ==2025.4.0
  • zict ==3.0.0
  • zipp ==3.21.0
  • zstandard ==0.23.0
docker/requirements.txt pypi
  • affine ==2.4.0
  • aiobotocore ==2.15.2
  • aiohappyeyeballs ==2.4.3
  • aiohttp ==3.10.8
  • aioitertools ==0.12.0
  • aiosignal ==1.3.1
  • alembic ==1.14.1
  • annotated-types ==0.7.0
  • anyio ==4.8.0
  • appnope ==0.1.4
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.3.0
  • asciitree ==0.3.3
  • asttokens ==3.0.0
  • async-generator ==1.10
  • async-lru ==2.0.4
  • async-timeout ==4.0.3
  • attrs ==25.1.0
  • babel ==2.17.0
  • bash-kernel ==0.9.3
  • beautifulsoup4 ==4.13.3
  • black ==25.1.0
  • bleach ==6.2.0
  • blinker ==1.9.0
  • bokeh ==3.7.3
  • boto3 ==1.35.36
  • botocore ==1.35.36
  • bounded-pool-executor ==0.0.3
  • brotli ==1.1.0
  • cached-property ==1.5.2
  • cartopy ==0.23.0
  • certifi ==2024.12.14
  • certipy ==0.2.1
  • cf-xarray ==0.10.3
  • cffi ==1.17.1
  • cftime ==1.6.4
  • charset-normalizer ==3.4.1
  • click ==8.2.1
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • cloudpickle ==3.1.1
  • cmocean ==4.0.3
  • colorama ==0.4.6
  • colorcet ==3.1.0
  • comm ==0.2.2
  • contourpy ==1.3.2
  • cryptography ==44.0.0
  • cycler ==0.12.1
  • cytoolz ==1.0.1
  • dask ==2025.5.1
  • dask-gateway ==2024.1.0
  • dask-labextension ==7.0.0
  • datashader ==0.18.1
  • debugpy ==1.8.12
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • distributed ==2025.5.1
  • earthaccess ==0.11.0
  • exceptiongroup ==1.2.2
  • executing ==2.1.0
  • fasteners ==0.19
  • fastjsonschema ==2.21.1
  • filelock ==3.18.0
  • fonttools ==4.54.1
  • fqdn ==1.5.1
  • frozenlist ==1.4.1
  • fsspec ==2025.5.1
  • geopandas ==1.0.1
  • geoviews ==1.14.0
  • gh-scoped-creds ==4.1
  • gitdb ==4.0.11
  • gitpython ==3.1.43
  • greenlet ==3.1.1
  • h11 ==0.14.0
  • h2 ==4.2.0
  • h5grove ==2.3.0
  • h5netcdf ==1.3.0
  • h5py ==3.12.1
  • holoviews ==1.19.1
  • hpack ==4.1.0
  • httpcore ==1.0.7
  • httpx ==0.28.1
  • hvplot ==0.11.0
  • hyperframe ==6.1.0
  • idna ==3.10
  • imageio ==2.35.1
  • importlib-metadata ==8.6.1
  • importlib-resources ==6.5.2
  • ipykernel ==6.29.5
  • ipython ==8.32.0
  • ipywidgets ==8.1.5
  • isoduration ==20.11.0
  • isort ==6.0.1
  • jedi ==0.19.2
  • jinja2 ==3.1.5
  • jmespath ==1.0.1
  • joblib ==1.4.2
  • json5 ==0.10.0
  • jsonpointer ==3.0.0
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • jupyter-client ==8.6.3
  • jupyter-core ==5.7.2
  • jupyter-events ==0.12.0
  • jupyter-lsp ==2.2.5
  • jupyter-offlinenotebook ==0.3.1
  • jupyter-resource-usage ==1.1.0
  • jupyter-server ==2.15.0
  • jupyter-server-mathjax ==0.2.6
  • jupyter-server-proxy ==4.4.0
  • jupyter-server-terminals ==0.5.3
  • jupyter-vscode-proxy ==0.6
  • jupyterhub ==5.2.1
  • jupyterlab ==4.3.5
  • jupyterlab-code-formatter ==3.0.2
  • jupyterlab-git ==0.50.1
  • jupyterlab-h5web ==12.3.0
  • jupyterlab-pygments ==0.3.0
  • jupyterlab-server ==2.27.3
  • jupyterlab-widgets ==3.0.13
  • jupytext ==1.16.4
  • kiwisolver ==1.4.7
  • lazy-loader ==0.4
  • linkify-it-py ==2.0.3
  • llvmlite ==0.44.0
  • locket ==1.0.0
  • lz4 ==4.4.4
  • mako ==1.3.9
  • markdown ==3.7
  • markdown-it-py ==3.0.0
  • markupsafe ==3.0.2
  • matplotlib ==3.9.2
  • matplotlib-inline ==0.1.7
  • mdit-py-plugins ==0.4.2
  • mdurl ==0.1.2
  • mistune ==3.1.1
  • mpmath ==1.3.0
  • msgpack ==1.1.1
  • multidict ==6.1.0
  • multimethod ==1.12
  • multipledispatch ==1.0.0
  • mypy-extensions ==1.0.0
  • narwhals ==1.45.0
  • nbclient ==0.10.2
  • nbconvert ==7.16.6
  • nbdime ==4.0.2
  • nbformat ==5.10.4
  • nest-asyncio ==1.6.0
  • netcdf4 ==1.7.1.post2
  • networkx ==3.3
  • notebook ==7.3.2
  • notebook-shim ==0.2.4
  • numba ==0.61.2
  • numcodecs ==0.13.0
  • numpy ==2.2.6
  • oauthlib ==3.2.2
  • orjson ==3.10.7
  • overrides ==7.7.0
  • packaging ==24.2
  • pamela ==1.2.0
  • pandas ==2.3.0
  • pandocfilters ==1.5.0
  • panel ==1.7.2
  • param ==2.1.1
  • parso ==0.8.4
  • partd ==1.4.2
  • pathspec ==0.12.1
  • pexpect ==4.9.0
  • pickleshare ==0.7.5
  • pillow ==11.2.1
  • pip ==25.0
  • pkgutil-resolve-name ==1.3.10
  • platformdirs ==4.3.6
  • pqdm ==0.2.0
  • prometheus-client ==0.21.1
  • prompt-toolkit ==3.0.50
  • psutil ==5.9.8
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.3
  • pvlib ==0.11.1
  • pyarrow ==20.0.0
  • pycparser ==2.22
  • pyct ==0.5.0
  • pydantic ==2.0.3
  • pydantic-core ==2.3.0
  • pygments ==2.19.1
  • pyinterp ==2025.3.0
  • pyjwt ==2.10.1
  • pyogrio ==0.10.0
  • pyparsing ==3.1.4
  • pyproj ==3.7.0
  • pyshp ==2.3.1
  • pysocks ==1.7.1
  • python-cmr ==0.10.0
  • python-dateutil ==2.9.0.post0
  • python-json-logger ==2.0.7
  • pytz ==2025.1
  • pyviz-comms ==3.0.3
  • pyyaml ==6.0.2
  • pyzmq ==26.2.1
  • rasterio ==1.4.2
  • referencing ==0.36.2
  • requests ==2.32.3
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rioxarray ==0.17.0
  • rpds-py ==0.22.3
  • s3fs ==2025.5.1
  • s3transfer ==0.10.3
  • scikit-image ==0.24.0
  • scikit-learn ==1.5.2
  • scipy ==1.14.1
  • seaborn ==0.13.2
  • send2trash ==1.8.3
  • setuptools ==75.8.0
  • shapely ==2.0.6
  • simpervisor ==1.0.0
  • six ==1.17.0
  • smmap ==5.0.1
  • sniffio ==1.3.1
  • sortedcontainers ==2.4.0
  • soupsieve ==2.5
  • sqlalchemy ==2.0.38
  • stack-data ==0.6.3
  • sympy ==1.14.0
  • tblib ==3.1.0
  • terminado ==0.18.1
  • threadpoolctl ==3.5.0
  • tifffile ==2024.9.20
  • tinycss2 ==1.4.0
  • tinynetrc ==1.3.1
  • tomli ==2.2.1
  • toolz ==1.0.0
  • torch ==2.7.1
  • tornado ==6.4.2
  • tqdm ==4.66.5
  • traitlets ==5.14.3
  • types-python-dateutil ==2.9.0.20241206
  • typing-extensions ==4.12.2
  • typing-utils ==0.1.0
  • tzdata ==2025.2
  • uc-micro-py ==1.0.3
  • uri-template ==1.3.0
  • urllib3 ==2.3.0
  • uv ==0.4.27
  • wcwidth ==0.2.13
  • webcolors ==24.11.1
  • webencodings ==0.5.1
  • websocket-client ==1.8.0
  • wheel ==0.45.1
  • widgetsnbextension ==4.0.13
  • wrapt ==1.16.0
  • xarray ==2025.6.1
  • xyzservices ==2025.4.0
  • yarl ==1.13.1
  • zarr ==2.18.3
  • zict ==3.0.0
  • zipp ==3.21.0
  • zstandard ==0.23.0
pyproject.toml pypi
requirements.txt pypi
  • affine ==2.4.0
  • aiobotocore ==2.15.1
  • aiohappyeyeballs ==2.4.3
  • aiohttp ==3.10.8
  • aioitertools ==0.12.0
  • aiosignal ==1.3.1
  • appnope ==0.1.4
  • asttokens ==2.4.1
  • attrs ==24.2.0
  • bash-kernel ==0.9.3
  • bleach ==6.1.0
  • bokeh ==3.6.0
  • botocore ==1.35.23
  • bounded-pool-executor ==0.0.3
  • cartopy ==0.23.0
  • certifi ==2024.8.30
  • cf-xarray ==0.10.3
  • cftime ==1.6.4
  • charset-normalizer ==3.3.2
  • click ==8.1.7
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • cloudpickle ==3.0.0
  • cmocean ==4.0.3
  • colorcet ==3.1.0
  • comm ==0.2.2
  • contourpy ==1.3.0
  • cycler ==0.12.1
  • dask ==2024.9.1
  • datashader ==0.18.1
  • debugpy ==1.8.6
  • decorator ==5.1.1
  • distributed ==2024.9.1
  • earthaccess ==0.11.0
  • executing ==2.1.0
  • filelock ==3.18.0
  • fonttools ==4.54.1
  • frozenlist ==1.4.1
  • fsspec ==2024.9.0
  • h5netcdf ==1.3.0
  • h5py ==3.12.1
  • holoviews ==1.19.1
  • hvplot ==0.11.0
  • idna ==3.10
  • importlib-resources ==6.4.5
  • ipykernel ==6.29.5
  • ipython ==8.28.0
  • ipywidgets ==8.1.5
  • jedi ==0.19.1
  • jinja2 ==3.1.4
  • jmespath ==1.0.1
  • jupyter-client ==8.6.3
  • jupyter-core ==5.7.2
  • jupyterlab-widgets ==3.0.13
  • kiwisolver ==1.4.7
  • linkify-it-py ==2.0.3
  • llvmlite ==0.43.0
  • locket ==1.0.0
  • markdown ==3.7
  • markdown-it-py ==3.0.0
  • markupsafe ==2.1.5
  • matplotlib ==3.9.2
  • matplotlib-inline ==0.1.7
  • mdit-py-plugins ==0.4.2
  • mdurl ==0.1.2
  • mpmath ==1.3.0
  • msgpack ==1.1.0
  • multidict ==6.1.0
  • multimethod ==1.12
  • multipledispatch ==1.0.0
  • nest-asyncio ==1.6.0
  • netcdf4 ==1.7.1.post2
  • networkx ==3.5
  • numba ==0.60.0
  • numpy ==2.0.2
  • packaging ==24.1
  • pandas ==2.2.3
  • panel ==1.5.2
  • param ==2.1.1
  • parso ==0.8.4
  • partd ==1.4.2
  • pexpect ==4.9.0
  • pillow ==10.4.0
  • platformdirs ==4.3.6
  • pqdm ==0.2.0
  • prompt-toolkit ==3.0.48
  • psutil ==6.0.0
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.3
  • pvlib ==0.11.1
  • pyct ==0.5.0
  • pygments ==2.18.0
  • pyparsing ==3.1.4
  • pyproj ==3.7.0
  • pyshp ==2.3.1
  • python-cmr ==0.13.0
  • python-dateutil ==2.9.0.post0
  • pytz ==2024.2
  • pyviz-comms ==3.0.3
  • pyyaml ==6.0.2
  • pyzmq ==26.2.0
  • rasterio ==1.4.3
  • requests ==2.32.3
  • s3fs ==2024.9.0
  • scipy ==1.14.1
  • seaborn ==0.13.2
  • setuptools ==80.9.0
  • shapely ==2.0.6
  • six ==1.16.0
  • sortedcontainers ==2.4.0
  • stack-data ==0.6.3
  • sympy ==1.14.0
  • tblib ==3.0.0
  • tinynetrc ==1.3.1
  • toolz ==0.12.1
  • torch ==2.7.1
  • tornado ==6.4.1
  • tqdm ==4.66.5
  • traitlets ==5.14.3
  • typing-extensions ==4.12.2
  • tzdata ==2024.2
  • uc-micro-py ==1.0.3
  • urllib3 ==2.2.3
  • wcwidth ==0.2.13
  • webencodings ==0.5.1
  • widgetsnbextension ==4.0.13
  • wrapt ==1.16.0
  • xarray ==2024.9.0
  • xyzservices ==2024.9.0
  • yarl ==1.13.1
  • zict ==3.0.0
uv.lock pypi
  • 325 dependencies