Skip to content

rmcd-mscb/grd2shp_xagg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grd2Shp_Xagg

PyPI Status Python Version License

Read the documentation at https://grd2shp_xagg.readthedocs.io/ Tests Codecov

pre-commit Black

Features2

  • TODO

Requirements

  • TODO

Installation

You can install Grd2Shp_Xagg via pip from PyPI:

$ pip install grd2shp_xagg

Usage

Please see the Command-line Reference for details.

Contributing

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

License

Distributed under the terms of the MIT license, Grd2Shp_Xagg is free and open source software.

Issues

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

Develop

$ 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 pre-commit 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 [pre-commit]() 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

- Warning:
  Do not set the initial version to `0.0.0`. This will break, due to
  an unknown bug in [Bump2version]() at this time.

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>`

The template supports Python 3.8 and 3.9.

Credits

This project was generated from @hillc-usgs's Pygeoapi Plugin Cookiecutter template.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •