- TODO
- TODO
You can install Grd2Shp_Xagg via pip from PyPI:
$ pip install grd2shp_xagg
Please see the Command-line Reference for details.
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the MIT license, Grd2Shp_Xagg is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
$ 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.
$ pre-commit install --install-hooks
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
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
.
- 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.
This project was generated from @hillc-usgs's Pygeoapi Plugin Cookiecutter template.