Skip to main content
Glama
models.py1.72 kB
from datetime import datetime from typing import List, Optional from pydantic import BaseModel, Field, conint class JournalEntry(BaseModel): content: str entry_type: str mood: Optional[conint(ge=1, le=10)] = None energy: Optional[conint(ge=1, le=10)] = None sleep_quality: Optional[conint(ge=1, le=10)] = None stress_level: Optional[conint(ge=1, le=10)] = None tags: Optional[List[str]] = None date: str = Field(default_factory=lambda: datetime.now().strftime("%Y-%m-%d")) class Config: arbitrary_types_allowed = True class Set(BaseModel): weight: float reps: int rpe: Optional[conint(ge=1, le=10)] = None notes: Optional[str] = None class Config: arbitrary_types_allowed = True class Exercise(BaseModel): name: str sets: List[Set] class Config: arbitrary_types_allowed = True class Workout(BaseModel): date: str exercises: List[Exercise] perceived_effort: Optional[conint(ge=1, le=10)] = None post_workout_feeling: Optional[str] = None notes: Optional[str] = None class Config: arbitrary_types_allowed = True class Food(BaseModel): name: str amount: float unit: str protein: Optional[float] = None calories: Optional[float] = None class Config: arbitrary_types_allowed = True class Meal(BaseModel): meal_type: str foods: List[Food] time: str date: str = Field(default_factory=lambda: datetime.now().strftime("%Y-%m-%d")) hunger_level: Optional[conint(ge=1, le=10)] = None satisfaction_level: Optional[conint(ge=1, le=10)] = None notes: Optional[str] = None class Config: arbitrary_types_allowed = True

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/evangstav/personal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server