snmpd-pyagentx provides Python3 bindings for AgentX extension of the snmpd part of the Net-SNMP project. It allows you to tie into snmpd, returning your own values for OIDs or whole OID trees right from the Python code. It consists of a thin C interface for snmp_agent_api(3), provided by net-snmp project libraries, and pure Python logic for handling forwarded requests. The C code is loosely based on the python-agentx project codebase by Bozhin Zafirov.
Dynace is a portable extension to the C language which adds object-oriented facilities, including classes with multiple-inheritance, a meta-object protocol, dynamic dispatching via generic functions, a garbage collector, threads, and an extensive class library, including an optional GUI library. It has complete documentation and a tutorial.