Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link to project contributing and code of conduct docs #65

Merged
merged 3 commits into from
Mar 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 0.8.4 (unreleased)

- Nothing changed yet.
- Link to project contributing and code of conduct docs (#65)


## 0.8.3 (2023-12-18)
Expand Down
4 changes: 4 additions & 0 deletions CODE-OF-CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Code of Conduct

Everyone participating in this project is governed by the CSDMS [Code of Conduct](https://github.com/csdms/project/blob/main/CODE-OF-CONDUCT.md).
By participating, you are expected to uphold this code.
134 changes: 3 additions & 131 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,133 +1,5 @@
# Contributing

Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.

You can contribute in many ways:

## Types of Contributions

### Report Bugs

Report bugs at <https://github.com/csdms/bmi-topography/issues>.

If you are reporting a bug, please include:

- Your operating system name and version.
- Any details about your local setup that might be helpful in
troubleshooting.
- Detailed steps to reproduce the bug.

### Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with "bug"
and "help wanted" is open to whoever wants to implement it.

### Implement Features

Look through the GitHub issues for features. Anything tagged with
"enhancement" and "help wanted" is open to whoever wants to
implement it.

### Write Documentation

*bmi-topography* could always use more documentation, whether as part of the
official docs, in docstrings, or even on the web in blog
posts, articles, and such.

### Submit Feedback

The best way to send feedback is to file an issue at
<https://github.com/csdms/bmi-topography/issues>.

If you are proposing a feature:

- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to
implement.
- Remember that this is a volunteer-driven project, and that
contributions are welcome :)

## Get Started!

Ready to contribute? Here\'s how to set up *bmi-topography* for local
development.

1. Fork the *bmi-topography* repo on GitHub.

2. Clone your fork locally:

``` {.shell}
$ git clone [email protected]:your_name_here/bmi-topography.git
```

3. Install your local copy into a conda environment. A conda enviroment file is
supplied at the root of the repository. Assuming you have conda installed,
this is how you set up your fork for local development:

``` {.shell}
$ cd bmi-topography
$ conda env create --file=environment.yml
$ conda activate topography
$ make install
```

4. Create a branch for local development:

``` {.shell}
$ git checkout -b name-of-your-bugfix-or-feature
```

Now you can make your changes locally.

5. When you're done making changes, check that your changes pass
ruff and the tests:

``` {.shell}
$ make lint
$ make test
```

Both ruff and pytest are included in the environment.

6. Commit your changes and push your branch to GitHub:

``` {.shell}
$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature
```

7. Submit a pull request through the GitHub website.

## Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

1. The pull request should include tests.
2. If the pull request adds functionality, the docs should be updated.
Put your new functionality into a function with a docstring, and add
the feature to the list in README.rst.
3. The pull request need only work with Python >= 3.8.


## Deploying

A reminder for the maintainers on how to deploy. To make a new release,
you will need to have
[zest.releaser](https://zestreleaser.readthedocs.io/en/latest/)
installed, which can be installed with *pip*,

``` {.bash}
$ pip install zest.releaser[recommended]
```

Make sure all your changes are committed (including an entry in
CHANGES.md). Then run,

``` {.bash}
$ fullrelease
```

This will create a new tag and alert the *bmi-topography* feedstock on
*conda-forge* that there is a new release.
We welcome, and greatly appreciate, contributions to [CSDMS Workbench](https://csdms.colorado.edu/wiki/Workbench) tools.
For recommendations on how you can contribute,
please see the CSDMS project [CONTRIBUTING](https://github.com/csdms/project/blob/main/CONTRIBUTING.md) document.
1 change: 0 additions & 1 deletion bmi_topography/api_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@


class ApiKey:

"""Store an API key to use when fetching topography data from OpenTopography.

Parameters
Expand Down
1 change: 0 additions & 1 deletion bmi_topography/bbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@


class BoundingBox:

"""Represent a simple latitude-longitude bounding box.

Examples
Expand Down
1 change: 0 additions & 1 deletion bmi_topography/bmi.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@


class BmiTopography(Bmi):

"""BMI-mediated access to NASA SRTM land elevation data."""

_name = "bmi-topography"
Expand Down
1 change: 1 addition & 0 deletions bmi_topography/cli.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Command-line interface for bmi-topography """

import click

from .topography import Topography
Expand Down
4 changes: 0 additions & 4 deletions bmi_topography/errors.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
class BmiTopographyError(Exception):

"""Base exception for all bmi_topography errors."""

pass


class MissingKeyError(BmiTopographyError):

"""Raise if an API key cannot be found."""

pass


class BadKeyError(BmiTopographyError):

"""Raise for an invalid key."""

pass


class BadApiKeySource(BmiTopographyError):

"""Raise for an invalid API key source."""

pass
2 changes: 1 addition & 1 deletion bmi_topography/topography.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Base class to access elevation data"""

import os
import urllib
import warnings
Expand All @@ -14,7 +15,6 @@


class Topography:

"""Fetch and cache land elevation data from OpenTopography."""

SCHEME = "https"
Expand Down
1 change: 1 addition & 0 deletions examples/bmi-topography_ex.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""An example used in the README and documentation."""

import matplotlib.pyplot as plt

from bmi_topography import Topography
Expand Down
1 change: 1 addition & 0 deletions tests/test_bbox.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Test BoundingBox class"""

import pytest

from bmi_topography import BoundingBox, Topography
Expand Down
1 change: 1 addition & 0 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Test bmi-topography command-line interface"""

import pathlib

from click.testing import CliRunner
Expand Down
1 change: 1 addition & 0 deletions tests/test_config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Test config file"""

import yaml

from bmi_topography import Topography
Expand Down
1 change: 1 addition & 0 deletions tests/test_topography.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Test Topography class"""

import os

import pytest
Expand Down
Loading