Skip to content

Add architecture, code map and glossary - #74

Merged
benoitc merged 1 commit into
mainfrom
docs-architecture
Aug 29, 2026
Merged

Add architecture, code map and glossary#74
benoitc merged 1 commit into
mainfrom
docs-architecture

Conversation

@benoitc

@benoitc benoitc commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Documentation that says how the pieces fit before anyone opens c_src/ or py_context.erl.

The architecture page gives the process and thread model, the life of a call in worker, owngil and isolated mode with the functions on the path, the four delivery paths of erlang.call, the three asyncio machineries and why they differ, where state lives, and the invariants to keep. The code map lists every Erlang, C and Python file with what it owns, whether it is live or legacy, and which guide and suites cover it; the C and Python packages get a README each. The glossary fixes one meaning per overloaded word: "worker" alone has seven uses in the tree.

The stale @mainpage in py_nif.h, which listed four of the fourteen C files and execution modes that no longer exist, now points at these pages. Nothing in the code changes. Next steps, one PR each: remove the legacy paths the map names, lock and ownership contracts on the structs, protocol and state-machine pages, a contributing guide with recipes, and decision records.

A map of the code: processes and threads, the life of a call in each
context mode, the paths Python uses to call Erlang, which code is live and
which is legacy, and one meaning per overloaded word (worker, context,
pool). The stale file list in the NIF headers now points at these pages.
Also completes the 4.2.0 changelog.
@benoitc
benoitc merged commit 72128fe into main Aug 29, 2026
20 checks passed
@benoitc
benoitc deleted the docs-architecture branch August 29, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant