SYMBOL INDEX (24 symbols across 1 files) FILE: scripts/main.py class Project (line 55) | class Project(BaseModel): method __init__ (line 72) | def __init__(self, **data): class ProjectDB (line 79) | class ProjectDB(SQLModel, table=True): method from_project (line 98) | def from_project(cls, project: Project) -> "ProjectDB": method to_project (line 114) | def to_project(self) -> Project: function get_engine (line 137) | def get_engine(): function init_db (line 142) | def init_db(): function parse_project_line (line 149) | def parse_project_line(line: Tag, category: str) -> Project | None: function read_readme (line 174) | def read_readme(file_path: Path) -> str: function parse_readme (line 182) | def parse_readme(content: str) -> list[Project]: function merge_project_data (line 202) | def merge_project_data(existing: dict[str, Any], new: dict[str, Any]) ->... function save_project (line 236) | def save_project(project: Project, output_dir: Path): function extract_github_info (line 264) | def extract_github_info(url: str) -> dict[str, str] | None: function get_github_metrics (line 276) | def get_github_metrics( function load_project (line 343) | def load_project(file_path: Path) -> Project | None: function parse (line 354) | def parse(readme_path: Path = Path("README.md"), output_dir: str = "_pro... function update_metrics (line 382) | def update_metrics(projects_dir: Path = Path("_projects"), batch_size: i... function sync_db (line 439) | def sync_db(projects_dir: Path = Path("_projects")): function query (line 475) | def query( function top (line 529) | def top( function categories (line 573) | def categories(): function search (line 609) | def search( function stale (line 655) | def stale( function stats (line 711) | def stats():