Contributing
How to help
NEST is 24,137 lines of Python built in seven months by one person. The gaps are known and listed below. Pick one, open an issue, and send a small PR.
Priority areas
Where help matters most right now
Repair the test suite
80 test functions across 5 files, currently failing to import because of code/test drift. Getting them running again is the single highest-leverage contribution.
Packaging metadata
pyproject.toml has no [project] table, so pip install -q -e . does not work and there is no installable package.
Run the NEST v2 GPU training
Full training on an A100 (estimated 8 to 12 hours) with a logged run and evaluation report. This is what turns "pending" into a real number.
Noise-input control script
A control evaluation that runs alongside eval_bart and eval_ctc, decoding random noise the same way, so every real-EEG number ships with its control.
Turkish corpus protocol review
Read and stress-test the reading-corpus protocol at experiments/user_study/user_study_protocol.md ahead of ethics submission and data collection.
Hardware adapters
Feature adapters for research-grade EEG systems beyond the ZuCo reference setup, so NEST stays hardware-agnostic in practice, not only in design.
Process
Small, reviewable changes
- For anything non-trivial, open an issue first and describe the change before writing code.
- Keep pull requests small. One concern per PR is easier to review and easier to revert.
- Use conventional commits:
feat:,fix:,docs:,test:. - Install and run pre-commit before pushing:
black,isort,flake8,mypy.
Code style
What a reviewer checks
- Type hints on all function signatures.
- Use
pathlibfor filesystem paths, not string concatenation. - f-strings for formatting, not
.format()or%. - No bare
try/except. Catch specific exceptions, and only at real boundaries. - No fabricated metrics in docs. If a number is not in a logged run, it does not go in a docstring, a README, or a PR description. State it plainly instead: "pending" or "not measured."
Conduct
Be direct, be honest, be kind
NEST's credibility problem is a measurement problem, and that culture applies to how people treat each other too: say what you mean, back claims with a logged run instead of a guess, and disagree with the work without being unkind about the person. That is the whole standard.
Start with an issue
Pick a priority area above, or bring your own. Open an issue and we will go from there.