From bf987cfb87ce4c697f8ab30efa08ccc8102397b4 Mon Sep 17 00:00:00 2001 From: Brian Schubert Date: Mon, 15 Jan 2024 10:23:21 -0500 Subject: [PATCH] Update README and workflow docs --- .github/workflows/build.yaml | 2 ++ .github/workflows/release.yaml | 2 ++ .github/workflows/test.yaml | 2 ++ .github/workflows/web_artifact.yaml | 4 ++++ README.md | 18 +++++++++++++----- 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f5ae0e7..0ee3173 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,3 +1,5 @@ +# Build, and test a set of distribution files. + name: Build on: [ workflow_call, workflow_dispatch ] diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d4d4b7b..0dccb96 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,3 +1,5 @@ +# Build, test, and publish built distributions to {Test,}PyPI on tag push. + name: Release run-name: Release from ${{ github.ref }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index de454ef..5f036fe 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,3 +1,5 @@ +# Run test suite. + name: Tests run-name: Test ${{ github.event.ref}}${{ github.event_name == 'push' && ' - ${{ github.event.head_commit.message }}' || '' }} diff --git a/.github/workflows/web_artifact.yaml b/.github/workflows/web_artifact.yaml index 1161f84..eacda02 100644 --- a/.github/workflows/web_artifact.yaml +++ b/.github/workflows/web_artifact.yaml @@ -1,3 +1,7 @@ +# Download files from the web and upload them as workflow artifacts. +# +# Intended to save time and bandwidth from having to download the same file multiple times in a single workflow run. + name: Web artifacts on: diff --git a/README.md b/README.md index e40e128..c30a39f 100644 --- a/README.md +++ b/README.md @@ -9,23 +9,31 @@ This distribution provides access to compiled binaries of the [6S Radiative Transfer Model](https://salsa.umd.edu/6spage.html) as [package resources](https://docs.python.org/3/library/importlib.resources.html#module-importlib.resources). - - It *does not* provide a Python interface to 6S. For a Python interface, see Robin Wilson's [Py6S]. -Currently, this project includes binaries for 6SV1.1 and 6SV2.1. It supports Linux, macOS, and Windows. +Currently, this project includes binaries for 6SV1.1 and 6SV2.1. It requires Python 3.9+ and supports Linux, macOS, and Windows. ## Install -Pre-compiled development wheels can be installed from [TestPyPI](https://test.pypi.org/project/6s-bin/): +Pre-compiled wheels can be installed from [PyPI](https://pypi.org/project/6s-bin/): +```shell +$ pip install 6s-bin +``` +If you are using [poetry](https://python-poetry.org/), you can add this distribution as a dependency using +`poetry add`: ```shell -$ pip install -i https://test.pypi.org/simple/ 6s-bin +$ poetry add 6s-bin ``` ### Installing from source Building this distribution involves downloading, validating, and compiling the 6S source code. See [`build.py`](./build.py) for details about the build process. A Fortran 77 compiler is required to compile 6S. +Build and install from source distribution: +```shell +$ pip install --no-binary=6s-bin 6s-bin +``` + Build and install from git: ```shell $ pip install '6s-bin @ git+https://github.com/brianschubert/6s-bin'