# CPython contributor guidance

Practical guidance for contributors working on CPython, drawn from recurring
feedback in code reviews. The aim is to explain common problems and help
contributors avoid them before submitting a change.

The source for this site is on [GitHub](https://github.com/nascheme/cpython-guidance).

## Topics

- [Free-threading](free-threading/index.md): synchronization, reference handling,
  concurrency tests, performance, and related implementation decisions.
- [Concurrent programming primer](concurrent-primer/index.md): concurrent C,
  the memory model, synchronization, and free-threaded CPython's mechanisms.

## Creating guidance

[Building contributor guidance from review discussions](guidance-process/index.md)
describes an agent-assisted process for other projects: collect discussions,
identify recurring advice, check the evidence, and write and review guidance.

## Status

The free-threading guidance was written by a CPython core developer and reviewed
by other core developers. It is guidance, not official CPython policy.

For the project's contribution process, see the
[Python Developer's Guide](https://devguide.python.org/).
