Welcome to q3py’s documentation!

q3py is a Quake 3 to Python bridge.

Warning

This is a work in progress and not meant for public use (yet)!

The first-person shooter “Quake 3” uses separate modules for its game logic, i.e. client, server and user interface.

q3py is such a Quake 3 module, but it relays all calls to a Python module. To do so, q3py embedds libpython3 and provides a Python extension module to allow the Python code to call back into Quake 3.

digraph q3py {
	subgraph cluster_exe {
		quake3 -> q3py -> libpython3 -> script;
		script -> libpython3 -> q3py -> quake3;

		quake3 [label="Q3"];
		q3py [label=<q3py<br/><i>qagamex86_64.so</i>>];
		libpython3 [label=<Python<br/><i>libpython3.2.so</i>>];
		script [label=<<i>script.py</i>>];

		label=<Quake 3<br/><i>ioq3ded.x86_64</i>>;
		graph[style=dotted];
		bgcolor=white;
	}
	bgcolor=transparent;
}

Todo

The SVG/PNG generated by Sphinx has a random name and thus can not be linked to from the GitHub README.rst

License

All of q3py (the code, its documentation and build scripts) is licensed under the MIT license, see the LICENSE file.

Indices and tables