SGWAVES

Surface gravity waves.

Build and test package Publish Python package to Packagr

General

About

Tools for computing fields of surface gravity waves. - Dispersion relation - Model wave energy spectra - Spreading functions

Getting started

Run the below command in a Python environment to install the latest release

console pip install sgwaves --extra-index-url https://api.packagr.app/EYvhW6SyL/

.. or upgrade existing installation

console pip install --upgrade sgwaves --extra-index-url https://api.packagr.app/EYvhW6SyL/

You can now import into in your own scripts to create custom workflows etc.

python from sgwaves.dispersion import cg, cp

Take a look at the resources listed below to learn more.

Resources

Contribute

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Install Python version 3.6 or later from either https://www.python.org or https://www.anaconda.com.

Install Poetry.

Clone the source code repository

At the desired location, run:

git clone https://github.com/SevanSSP/sgwaves.git

Installing

To create an isolated environment and install the dependencies, run ...

poetry install

You should now be able to import the package in the Python console,

python import sgwaves help(sgwaves)

Running the tests

The automated tests (+ linting, code coverage and code reformatting) are run using Nox.

console nox

The test automation is configured in noxfile.py.

Building the package

Build tarball and wheel distributions by:

console poetry build

The distribution file names adhere to the PEP 0427 convention {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl.

Deployment

Packaging, unit testing and deployment to Packagr is automated using GitHub Actions. The workflow recipes are kept here.

Versioning

We apply the "major.minor.micro" versioning scheme defined in PEP 440.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details.

Links for sgwaves