- 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
16 lines
351 B
Python
16 lines
351 B
Python
from typing import List, TypeVar
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
class Stack(List[T]):
|
|
"""A small shim over builtin list."""
|
|
|
|
@property
|
|
def top(self) -> T:
|
|
"""Get top of stack."""
|
|
return self[-1]
|
|
|
|
def push(self, item: T) -> None:
|
|
"""Push an item on to the stack (append in stack nomenclature)."""
|
|
self.append(item)
|