Skip to main content

Lagrangian particle-tracking for fluvial environments.

Project description

Fluvial Particle

PyPI Status Python Version License Read the Docs

Tests Codecov pre-commit Black

Features

  • TODO

Requirements

per Cliff Hills setup description: https://code.usgs.gov/wma/nhgf/pygeoapi-plugin-cookiecutter

To set up your development environment do the following.

  • fork the reposistory
# to remind yourself your working on a fork
git clone git@code.usgs.gov:<user_id>/fluvparticle.git fluvial-partile-fork

Setup Development Environment

conda env create -f environment.yml
conda develop -n {{cookiecutter.project_name}} src
conda activate {{cookiecutter.project_name}}
pip install -r requirements.dev

It is important to get preccommit enabled on the project, to ensure that certain standards are always met on a git commit. With several of these, it might fail if files are changed, but it will change them, and trying the commit a second time will actually work.

Git hook configuration

pre-commit install --install-hooks

Testing

Nox is used for testing everything, with several sessions built-in. To run the full suite of tests, simply use:

nox

The different sessions are:

  • pre-commit -- validates that the preccommit checks all come back clean.
  • safety -- validates the Safety of all production dependencies.
  • mypy -- validates the type-hints for the application using mypy.
  • tests -- runs all pytest tests.
  • typeguard -- runs all pytest tests, validates with Typeguard.
  • xdoctest -- runs any and all documentation examples with xdoctest.
  • docs-build -- builds the full set of generated API docs with Sphinx.

These can be run individually with the following command:

nox -s <session>

Replace <session> with the name of the session give above, i.e.:

nox -s mypy

You can also simply run pytest tests, by using the command:

pytest tests

Dependencies

Production dependencies are duplicated, in both requirements.txt and environment.yml due to how conda does not work with the requirements.txt file. It is necessary for both files to be updated as dependencies are added.

Development dependencies are contained in requirements.dev.

Version Management

The projects made by this cookiecutter use Bump2version for version management. The default version that the project starts with is a developmental version, 0.0.1-dev0. In github, this should be auto-incremented on each commit to the next dev build number. To manage the version changes yourself, you can use the Bump2version command:

bump2version <part>

Where <part> is one of:

  • major
  • minor
  • patch
  • build

Note: : This makes a dev version, which does not write a tag into git. It is just useful for development purposes and not the version that is recommended for a release version. The version string will be formatted as: <major>.<minor>.<patch>-dev<build>

To do a production release, use the command:

bump2version --tag release

This will add a tag in the git repository noting the version.

Note: : The version string for this will be: <major>.<minor>.<patch>

Utilities

Installation

You can install Fluvial_Particle via pip from PyPI_:

$ pip install fluvial-particle

Usage

TODO

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide_.

License

Distributed under the terms of the CCO 1.0 license_, Fluvial Particle is free and open source software.

Issues

If you encounter any problems, please file an issue_ along with a detailed description.

Credits

This project was generated from @hillc-usgs_'s Pygeoapi Plugin Cookiecutter_ template.

.._@hillc-usgs: https://github.com/hillc-usgs .._Cookiecutter: https://github.com/audreyr/cookiecutter .._CCO 1.0 license: https://creativecommons.org/publicdomain/zero/1.0/legalcode .._PyPI: https://pypi.org/ .._Pygeoapi Plugin Cookiecutter: https://code.usgs.gov/wma/nhgf/pygeoapi-plugin-cookiecutter .._file an issue: https://github.com/rmcd-mscb/fluvial-particle/issues .._pip: https://pip.pypa.io/ .. github-only .._Contributor Guide: CONTRIBUTING.rst .._Usage: https://fluvial-particle.readthedocs.io/en/latest/usage.html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fluvial-particle-0.0.1.tar.gz (31.5 kB view hashes)

Uploaded Source

Built Distribution

fluvial_particle-0.0.1-py3-none-any.whl (32.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page