Contributing
Read AGENTS.md for repository conventions and
CONTRIBUTING.md
for the contributor workflow.
Getting involved
- Chat with contributors on the BangPypers Discord — join here.
- Ask questions and share ideas in GitHub Discussions.
- Propose a new exercise by opening an Exercise Proposal. Proposals are discussions rather than issues, so anyone can file one; a maintainer converts accepted proposals into a scoped issue.
Development Setup
git clone git@github.com:abhiksark/pythonlings.git
cd pythonlings
pip install -e ".[dev]"
python -m pytest -q
Test Commands
Use unit tests for core behavior, integration tests for CLI and workspace flows, and TUI tests for Textual keyboard interactions.
Curriculum Changes
Update these together:
exercises/<topic>/<exercise>.py
checks/<topic>/<exercise>.py
solutions/<exercise>.py
solutions/_answers.py
info.toml
Keep exercise names stable and mirrored. Use topic-plus-number names such as
variables1.py, collections10.py, and oop_advanced12.py.