-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCONTRIBUTING
More file actions
64 lines (53 loc) · 2.45 KB
/
CONTRIBUTING
File metadata and controls
64 lines (53 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
CONTRIBUTING
============
Thanks for your interest in contributing to pythontogo. This document explains how to report issues and submit changes so they can be reviewed and merged quickly.
1. Code of conduct
- Be respectful and constructive.
- File issues or PRs for behavior concerns.
2. Reporting bugs / requesting features
- Search existing issues first.
- Open a new issue with:
- Clear title
- Short reproduction steps or expected behavior
- Environment (OS, Python version, package version)
- Minimal reproducible example if applicable
3. Development setup
- Clone your fork and create a branch:
- git clone https://github.com/your-username/pythontogo.git
- git checkout -b feature/short-description
- Create and activate a virtual environment:
- python -m venv .venv
- source .venv/bin/activate (or .venv\Scripts\activate on Windows)
- Install development dependencies:
- pip install -r requirements-dev.txt
4. Style and tests
- Follow existing project style (PEP 8). We run linters and type checks in CI.
- Add tests for new features/bugfixes using pytest.
- Run tests locally:
- pytest
- Run linters:
- flake8
- mypy (if used)
5. Commits and pull requests
- Keep commits focused and atomic.
- Use clear commit messages: "module: brief description" or "Fix: brief description".
- Rebase or squash if requested by maintainers.
- Open a PR from your fork to the main branch with:
- Description of the change
- Linked issue (if any)
- Testing steps and CI status
- Ensure all CI checks pass before requesting review.
6. Documentation
- Update docs for public API changes or new features.
- Keep docstrings clear and concise.
- Include examples where helpful.
7. API stability and deprecations
- Avoid breaking public APIs unless necessary.
- When removing or changing behavior, add deprecation warnings and document the migration path.
8. Licensing and copyright
- By contributing you agree to license your contribution under the project's license.
- Avoid copying large blocks of code from other projects without compatible licensing.
9. Help and communication
- If unsure, open an issue to discuss the approach before implementing.
- For quick questions, use the issue tracker or project communication channels if available.
Thank you for improving pythontogo. Contributions are welcome and appreciated!