Repository: csdms/bmi-topography (language: python)

Issue:
Update contributing guidelines in line with migration from `make` to `nox`
**Reference:** Issue #51 Use nox instead of make for building and testing the project & commit #https://github.com/csdms/bmi-topography/commit/e313b21e1f5cd331b03e93b598b3fecf4e7c76d1
> Following CSDMS best practices, I've updated bmi-topography to use nox instead of make for building and testing the project.

There is no makefile anymore. CI pipeline is now using `nox (Flexible test automation)` package.

**Affected line(s):**
https://github.com/csdms/bmi-topography/blob/993df5faf4871ad716b38f87bb7ad0f3ddd08281/CONTRIBUTING.md#L64-L72
https://github.com/csdms/bmi-topography/blob/993df5faf4871ad716b38f87bb7ad0f3ddd08281/CONTRIBUTING.md#L83-L91

**Proposed change(s):**

*  Remove `$ make install` line from 
https://github.com/csdms/bmi-topography/blob/993df5faf4871ad716b38f87bb7ad0f3ddd08281/CONTRIBUTING.md#L72

* Change pre-commit tests recommendation: 
5. When you're done making changes, check that your changes pass ruff and the tests:
     5.1 Check available sessions (test stages). See [`nox` docs -> list all available sessions](https://nox.thea.codes/en/stable/usage.html#listing-available-sessions)
     ``` {.shell} 
     $ nox --list
     ```
     5.2 Run linter and tests.(s) See [`nox` docs -> run a particular set of sessions](https://nox.thea.codes/en/stable/usage.html#specifying-one-or-more-sessions)
     ``` {.shell} 
     $ nox -s format
     $ nox -s test 
     ```


Discussion / hints:

Fix patch:
diff --git a/CHANGES.md b/CHANGES.md
index c9dc168..ed43aba 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -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)
diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md
new file mode 100644
index 0000000..6eec358
--- /dev/null
+++ b/CODE-OF-CONDUCT.md
@@ -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.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 69b655c..dc4e699 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -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 git@github.com: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.
diff --git a/bmi_topography/api_key.py b/bmi_topography/api_key.py
index 286147f..50b1649 100644
--- a/bmi_topography/api_key.py
+++ b/bmi_topography/api_key.py
@@ -7,7 +7,6 @@
 
 
 class ApiKey:
-
     """Store an API key to use when fetching topography data from OpenTopography.
 
     Parameters
diff --git a/bmi_topography/bbox.py b/bmi_topography/bbox.py
index 73298f2..c5c7a75 100644
--- a/bmi_topography/bbox.py
+++ b/bmi_topography/bbox.py
@@ -3,7 +3,6 @@
 
 
 class BoundingBox:
-
     """Represent a simple latitude-longitude bounding box.
 
     Examples
diff --git a/bmi_topography/bmi.py b/bmi_topography/bmi.py
index ea61da6..fbdf008 100644
--- a/bmi_topography/bmi.py
+++ b/bmi_topography/bmi.py
@@ -17,7 +17,6 @@
 
 
 class BmiTopography(Bmi):
-
     """BMI-mediated access to NASA SRTM land elevation data."""
 
     _name = "bmi-topography"
diff --git a/bmi_topography/cli.py b/bmi_topography/cli.py
index 4bbf24a..ba23961 100644
--- a/bmi_topography/cli.py
+++ b/bmi_topography/cli.py
@@ -1,4 +1,5 @@
 """Command-line interface for bmi-topography """
+
 import click
 
 from .topography import Topography
diff --git a/bmi_topography/errors.py b/bmi_topography/errors.py
index 981864b..56cfcc1 100644
--- a/bmi_topography/errors.py
+++ b/bmi_topography/errors.py
@@ -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
diff --git a/bmi_topography/topography.py b/bmi_topography/topography.py
index ea05622..c3116d3 100644
--- a/bmi_topography/topography.py
+++ b/bmi_topography/topography.py
@@ -1,4 +1,5 @@
 """Base class to access elevation data"""
+
 import os
 import urllib
 import warnings
@@ -14,7 +15,6 @@
 
 
 class Topography:
-
     """Fetch and cache land elevation data from OpenTopography."""
 
     SCHEME = "https"
diff --git a/examples/bmi-topography_ex.py b/examples/bmi-topography_ex.py
index eb45280..1cefbcd 100644
--- a/examples/bmi-topography_ex.py
+++ b/examples/bmi-topography_ex.py
@@ -1,4 +1,5 @@
 """An example used in the README and documentation."""
+
 import matplotlib.pyplot as plt
 
 from bmi_topography import Topography


Test patch:
diff --git a/tests/test_bbox.py b/tests/test_bbox.py
index 8d918eb..8e07f81 100644
--- a/tests/test_bbox.py
+++ b/tests/test_bbox.py
@@ -1,4 +1,5 @@
 """Test BoundingBox class"""
+
 import pytest
 
 from bmi_topography import BoundingBox, Topography
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 696cd67..fe0a880 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -1,4 +1,5 @@
 """Test bmi-topography command-line interface"""
+
 import pathlib
 
 from click.testing import CliRunner
diff --git a/tests/test_config.py b/tests/test_config.py
index 0c48db5..5a2145f 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -1,4 +1,5 @@
 """Test config file"""
+
 import yaml
 
 from bmi_topography import Topography
diff --git a/tests/test_topography.py b/tests/test_topography.py
index 8400350..9c1d99d 100644
--- a/tests/test_topography.py
+++ b/tests/test_topography.py
@@ -1,4 +1,5 @@
 """Test Topography class"""
+
 import os
 
 import pytest