Contributing¶
We welcome contributions of all kinds — bug reports, documentation fixes, new features, and new database connectors.
Development setup¶
Code style¶
NeKo uses the following formatters and linters (enforced via pre-commit):
| Tool | Purpose |
|---|---|
| black | Code formatting |
| autopep8 | PEP 8 compliance |
| isort | Import ordering |
| flake8 | Error / style linting |
| prettier | YAML / JSON / Markdown formatting |
Run checks manually:
Running tests¶
Docstring style¶
NeKo uses NumPy-style docstrings:
def my_function(x: int, y: float) -> str:
"""
One-line summary.
Longer description if needed.
Parameters
----------
x : int
Description of x.
y : float
Description of y.
Returns
-------
str
Description of the return value.
"""
Pull request checklist¶
- [ ] Tests pass (
pytest tests/) - [ ] New code is covered by tests
- [ ] Docstrings follow NumPy style
- [ ]
pre-commit run --all-filespasses - [ ] Changelog entry added
Reporting issues¶
Open a GitHub issue and include:
- NeKo version (
python -c "import neko; print(neko.__version__)") - Python version
- OS
- Minimal reproducible example