NEST

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

01

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.

02

Packaging metadata

pyproject.toml has no [project] table, so pip install -q -e . does not work and there is no installable package.

03

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.

04

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.

05

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.

06

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 pathlib for 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.