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:
IndieStatusBot 2026-04-25 05:00:00 +00:00
commit 902133edd3
4655 changed files with 1342691 additions and 0 deletions

View file

@ -0,0 +1,26 @@
"""A basic check to make sure that we are using a mypyc-compiled version when expected."""
from __future__ import annotations
import filecmp
import os
from unittest import TestCase
import mypy
import mypyc
class MypycTest(TestCase):
def test_using_mypyc(self) -> None:
if os.getenv("TEST_MYPYC", None) == "1":
assert not mypy.__file__.endswith(".py"), "Expected to find a mypyc-compiled version"
def test_shared_files_consistent(self) -> None:
if os.getenv("TEST_MYPYC", None) != "1":
mypyc_path = mypyc.__path__[0]
for f in ["build_setup.py"]:
assert filecmp.cmp(
os.path.join(mypyc_path, f),
os.path.join(mypyc_path, "lib-rt", f),
shallow=False,
), f"Shared files inconsistent, run cp mypyc/{f} mypyc/lib-rt"