feat: indie status page MVP -- FastAPI + SQLite
- 8 DB models (services, incidents, monitors, subscribers, etc.) - Full CRUD API for services, incidents, monitors - Public status page with live data - Incident detail page with timeline - API key authentication - Uptime monitoring scheduler - 13 tests passing - TECHNICAL_DESIGN.md with full spec
This commit is contained in:
commit
902133edd3
4655 changed files with 1342691 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
|||
#include <Python.h>
|
||||
|
||||
PyMODINIT_FUNC
|
||||
PyInit_{modname}(void)
|
||||
{{
|
||||
PyObject *tmp;
|
||||
if (!(tmp = PyImport_ImportModule("{libname}"))) return NULL;
|
||||
PyObject *capsule = PyObject_GetAttrString(tmp, "init_{full_modname}");
|
||||
Py_DECREF(tmp);
|
||||
if (capsule == NULL) return NULL;
|
||||
void *init_func = PyCapsule_GetPointer(capsule, "{libname}.init_{full_modname}");
|
||||
Py_DECREF(capsule);
|
||||
if (!init_func) {{
|
||||
return NULL;
|
||||
}}
|
||||
return ((PyObject *(*)(void))init_func)();
|
||||
}}
|
||||
|
||||
// distutils sometimes spuriously tells cl to export CPyInit___init__,
|
||||
// so provide that so it chills out
|
||||
PyMODINIT_FUNC PyInit___init__(void) {{ return PyInit_{modname}(); }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue