You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update CONTRIBUTING.md based on review feedback
- Remove formal language and emphasis on respect
- Remove Code of Conduct section
- Remove redundant How Can I Contribute stub section
- Update Python version requirement to 3.11
- Simplify commit message guidelines to free-form style
- Update PR guidelines to be less prescriptive
- Relax code style guidelines to focus on matching existing code
- Update code quality section to note JOSS submission requirements
- Add information about test file organization
- Update line length guidelines to reflect actual practice
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+20-81Lines changed: 20 additions & 81 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,34 +1,19 @@
1
1
# Contributing to PyNumDiff
2
2
3
-
Thank you for your interest in contributing to PyNumDiff! This document provides guidelines and instructions for contributing to the project. Following these guidelines helps communicate that you respect the time of the developers managing and developing this open-source project.
3
+
Thank you for your interest in contributing to PyNumDiff! This document provides guidelines and instructions for contributing to the project.
This project adheres to a code of conduct that all contributors are expected to follow. Please be respectful and constructive in all interactions.
21
14
22
15
## How Can I Contribute?
23
16
24
-
### Reporting Bugs
25
-
26
-
If you find a bug, please report it by [opening an issue](https://github.com/florisvb/PyNumDiff/issues/new). See the [Reporting Bugs](#reporting-bugs) section for details.
27
-
28
-
### Suggesting Enhancements
29
-
30
-
Have an idea for a new feature or improvement? Please [open an issue](https://github.com/florisvb/PyNumDiff/issues/new) to discuss it. See the [Proposing Features](#proposing-features) section for details.
31
-
32
17
### Contributing Code
33
18
34
19
1. Look for issues labeled `good first issue` if you're new to the project
@@ -41,7 +26,7 @@ Have an idea for a new feature or improvement? Please [open an issue](https://gi
41
26
42
27
### Prerequisites
43
28
44
-
- Python 3.7 or higher
29
+
- Python 3.11 or higher
45
30
- Git
46
31
- (Optional) A virtual environment manager (venv, conda, etc.)
47
32
@@ -99,19 +84,17 @@ Have an idea for a new feature or improvement? Please [open an issue](https://gi
99
84
100
85
### Python Style Guide
101
86
102
-
PyNumDiff follows [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guidelines. Here are the key points:
87
+
There's no strict coding style enforced. The main guideline is to match the existing code style in the project. When contributing:
103
88
89
+
- Match existing method signatures and docstring formats
90
+
- Follow the naming conventions used in the existing codebase
104
91
- Use 4 spaces for indentation (no tabs)
105
-
- Maximum line length: 79 characters (soft limit) or 99 characters (hard limit)
106
-
- Use meaningful variable and function names
107
-
- Follow naming conventions:
108
-
- Functions and variables: `snake_case`
109
-
- Classes: `PascalCase`
110
-
- Constants: `UPPER_SNAKE_CASE`
111
92
112
93
### Code Quality
113
94
114
-
The project uses `pylint` for code quality checks. Before submitting a PR:
95
+
The project uses `pylint` for code quality checks. While linting hasn't been strictly enforced recently, it will be important for the planned JOSS (Journal of Open Source Software) submission, which has stricter requirements.
96
+
97
+
To run linting checks:
115
98
116
99
1.**Run pylint** on your changes:
117
100
```bash
@@ -123,8 +106,6 @@ The project uses `pylint` for code quality checks. Before submitting a PR:
123
106
python linting.py
124
107
```
125
108
126
-
3.**Fix any issues** reported by pylint before submitting your PR
127
-
128
109
### Editor Configuration
129
110
130
111
The project includes an `.editorconfig` file that ensures consistent formatting. Most modern editors support EditorConfig automatically.
@@ -153,6 +134,11 @@ pytest -s --bounds
153
134
- Ensure all tests pass before submitting a PR
154
135
- Tests should be deterministic and not depend on external resources
155
136
137
+
The test suite is organized into several test files:
138
+
-`test_diff_methods`: Broadly tests for correctness and ability to actually differentiate
139
+
-`test_utils`: Contains tests of miscellaneous functionality like simulations and evaluation metrics
140
+
-`test_optimize`: Tests the hyperparameter optimization code
141
+
156
142
### Continuous Integration
157
143
158
144
The project uses GitHub Actions for continuous integration. All pull requests are automatically tested. Make sure your changes pass all CI checks before requesting a review.
@@ -189,7 +175,7 @@ The project uses GitHub Actions for continuous integration. All pull requests ar
189
175
python linting.py
190
176
```
191
177
192
-
7.**Commit your changes** with clear, descriptive commit messages (see [Commit Message Conventions](#commit-message-conventions))
178
+
7.**Commit your changes** with clear, descriptive commit messages (see [Commit Messages](#commit-messages))
193
179
194
180
### Submitting a Pull Request
195
181
@@ -221,8 +207,7 @@ The project uses GitHub Actions for continuous integration. All pull requests ar
0 commit comments