diff --git a/docs/conf.py b/docs/conf.py index 1c85018..85f9c48 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -94,7 +94,7 @@ "logo_only": True, "display_version": False, "navbar_align": "left", - # "announcement": "S2WAV is currently in pre-release", + "announcement": "s2wav is currently in an open alpha, please provide feedback on GitHub", "show_toc_level": 2, "show_nav_level": 1, "header_links_before_dropdown": 5, diff --git a/docs/index.rst b/docs/index.rst index cc83bae..1598320 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -22,11 +22,10 @@ properties, and has been successfully adopted for various applications e.g. scattering transforms on the sphere `McEwen et al 2022 `_. The wavelet dictionary is constructed by tiling the harmonic line with infinitely differentiable Cauchy-Schwartz functions, which can straightforwardly be performed -in an efficient multiresolution manner, as in the Euclidean case. For example the -directional wavelet decomposition of a topographic map of the Earth can be seen -below +in an efficient multiresolution manner, as in the Euclidean case. This is what the directional +wavelet filters look like in pixel space. -.. image:: ./assets/figures/wavelet_decomposition.png +.. image:: ./assets/figures/spherical_wavelets.png :width: 700 :align: center diff --git a/docs/user_guide/install.rst b/docs/user_guide/install.rst index 4f2d8e8..8cb3647 100644 --- a/docs/user_guide/install.rst +++ b/docs/user_guide/install.rst @@ -1,25 +1,23 @@ +:html_theme.sidebar_secondary.remove: + .. _install: Installation -============ -Link to `PyPi `_ and provide link for source install. +========================= +There are two primary ways to install ``S2WAV``. One can either build the project from +the most recent GitHub source, which comes with the added benefit of being able to +locally execute the unit testing. Alternately, one may simply install the package directly +from PyPi, an online python package manager. Quick install (PyPi) -------------------- -Install ``S2WAV`` from PyPi with a single command +The simplest way to pick up ``S2WAV`` is to install it directly from PyPi by running .. code-block:: bash + + pip install s2wav - pip install s2wav - -Check that the package has installed by running - -.. code-block:: bash - - pip list - -and locate ``S2WAV``. - +after which ``S2WAV`` may be imported and run as outlined in the associated notebooks and collab tutorials. Install from source (GitHub) ---------------------------- @@ -28,26 +26,42 @@ When installing from source we recommend working within an existing conda enviro .. code-block:: bash - conda create -n s2wav_env python>=3.8 - conda activate s2wav_env + conda create -n "env_name" python>=3.9 + conda activate "env_name" -Once within a fresh environment ``S2WAV`` may be installed by cloning the GitHub repository +Once within a fresh environment ``S2WAV`` may be installed by cloning the GitHub repository +and pip installing locally .. code-block:: bash git clone https://github.com/astro-informatics/s2wav cd s2wav + pip install . -and running the install script, within the root directory, with one command +from the root directory of the repository. Unit tests can then be executed to ensure the +installation was successful by running -.. code-block:: bash +.. code-block:: bash - bash build_s2wav.sh + pytest tests/ -To check the install has worked correctly run the unit tests with +Installing JAX for NVIDIA GPUs +------------------------------ +We include both ``jax`` and ``jaxlib`` as dependencies in ``requirements/requirements-core.txt`` +however to get things running on GPUs can be a bit more involved. We strongly recommend +this installation `guide `_ provided by +Google. To summarise you will first need to install NVIDIA drivers for +`CUDA `_ and `CuDNN `_, +following which a pre-built CUDA-compatible wheels shoulld be installed by running -.. code-block:: bash +.. code-block:: bash + + pip install --upgrade pip + + # Wheels only built for linux + pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html - pytest --black tests/ + # Wheels built for many machine architectures + pip install "jax[cuda11_cudnn86]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html -.. note:: For installing from source a conda environment is required by the installation bash script, which is recommended, due to a pandoc dependency. +where the versions of CUDA and CuDNN should match those you have installed on the machine. diff --git a/requirements/requirements-docs.txt b/requirements/requirements-docs.txt index 1b4c7ee..2a528ad 100644 --- a/requirements/requirements-docs.txt +++ b/requirements/requirements-docs.txt @@ -1,18 +1,16 @@ -sphinx==4.2.0 -nbsphinx-link==1.3.0 -pydata-sphinx-theme==0.12.0 -sphinx_toolbox==2.15.0 -sphinx-tabs==3.2.0 -sphinxcontrib-bibtex==2.4.1 -sphinx-git==11.0.0 -sphinxcontrib-texfigure==0.1.3 +# Documentation +sphinx>=5.0.0 +nbsphinx-link>=1.3.0 +pydata-sphinx-theme>=0.12.0 +sphinx_toolbox>=2.15.0 +sphinx-tabs>=3.2.0 +sphinxcontrib-bibtex>=2.4.1 +sphinx-git>=11.0.0 +sphinxcontrib-texfigure>=0.1.3 sphinx-copybutton sphinxemoji sphinx_rtd_theme # Notebooks -ipython==7.16.1 -jupyter==1.0.0 - -# Markup converter -pandoc \ No newline at end of file +ipython>=7.16.1 +jupyter>=1.0.0 \ No newline at end of file