events

models

schemas

Events domain Pydantic schemas.

class CalendarBase[source]

Bases: BaseModel

Base calendar schema with common fields.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class CalendarCreate[source]

Bases: CalendarBase

Schema for creating a new calendar.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'creator_id': None, 'name': 'Python Events', 'slug': 'python-events'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class CalendarUpdate[source]

Bases: BaseModel

Schema for updating a calendar.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'name': 'Python Community Events'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class CalendarRead[source]

Bases: CalendarBase

Schema for reading calendar data.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'created': '2025-01-01T00:00:00Z', 'created_at': '2025-01-01T00:00:00Z', 'creator_id': '550e8400-e29b-41d4-a716-446655440000', 'id': '550e8400-e29b-41d4-a716-446655440100', 'name': 'Python Events', 'slug': 'python-events', 'updated': '2025-11-30T12:00:00Z', 'updated_at': '2025-11-30T12:00:00Z'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventCategoryBase[source]

Bases: BaseModel

Base event category schema with common fields.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventCategoryCreate[source]

Bases: EventCategoryBase

Schema for creating a new event category.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'name': 'Conferences', 'slug': 'conferences'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventCategoryRead[source]

Bases: EventCategoryBase

Schema for reading event category data.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'id': '550e8400-e29b-41d4-a716-446655440300', 'name': 'Conferences', 'slug': 'conferences'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventLocationBase[source]

Bases: BaseModel

Base event location schema with common fields.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventLocationCreate[source]

Bases: EventLocationBase

Schema for creating a new event location.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'address': '1000 Fort Duquesne Blvd, Pittsburgh, PA 15222', 'name': 'Pittsburgh Convention Center', 'slug': 'pittsburgh-convention-center', 'url': 'https://pittsburghcc.com'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventLocationUpdate[source]

Bases: BaseModel

Schema for updating an event location.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'address': '1000 Fort Duquesne Blvd, Pittsburgh, PA 15222', 'name': 'David L. Lawrence Convention Center'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventLocationRead[source]

Bases: EventLocationBase

Schema for reading event location data.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'address': '1000 Fort Duquesne Blvd, Pittsburgh, PA 15222', 'id': '550e8400-e29b-41d4-a716-446655440200', 'name': 'David L. Lawrence Convention Center', 'slug': 'david-l-lawrence-convention-center', 'url': 'https://pittsburghcc.com'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventOccurrenceBase[source]

Bases: BaseModel

Base event occurrence schema with common fields.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventOccurrenceCreate[source]

Bases: EventOccurrenceBase

Schema for creating a new event occurrence.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'all_day': False, 'dt_end': '2025-05-18T17:00:00Z', 'dt_start': '2025-05-15T09:00:00Z', 'event_id': '550e8400-e29b-41d4-a716-446655440500'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventOccurrenceUpdate[source]

Bases: BaseModel

Schema for updating an event occurrence.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'dt_end': '2025-05-19T17:00:00Z', 'dt_start': '2025-05-16T09:00:00Z'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventOccurrenceRead[source]

Bases: EventOccurrenceBase

Schema for reading event occurrence data.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'all_day': False, 'created_at': '2025-01-15T10:00:00Z', 'dt_end': '2025-05-18T17:00:00Z', 'dt_start': '2025-05-15T09:00:00Z', 'event_id': '550e8400-e29b-41d4-a716-446655440500', 'id': '550e8400-e29b-41d4-a716-446655440600', 'updated_at': '2025-01-15T10:00:00Z'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventBase[source]

Bases: BaseModel

Base event schema with common fields.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventCreate[source]

Bases: EventBase

Schema for creating a new event.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'category_ids': ['550e8400-e29b-41d4-a716-446655440300', '550e8400-e29b-41d4-a716-446655440301'], 'creator_id': '550e8400-e29b-41d4-a716-446655440000', 'description': 'Join the largest annual gathering for the Python community! PyCon US 2025 features talks, tutorials, sprints, and networking opportunities for Python developers of all skill levels.', 'featured': True, 'name': 'PyCon US 2025', 'occurrences': [{'all_day': False, 'dt_end': '2025-05-18T17:00:00Z', 'dt_start': '2025-05-15T09:00:00Z'}], 'slug': 'pycon-us-2025', 'title': 'PyCon US 2025 - The Premier Python Conference', 'venue_id': '550e8400-e29b-41d4-a716-446655440200'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventUpdate[source]

Bases: BaseModel

Schema for updating an event.

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'description': 'Updated description for the largest annual gathering for the Python community!', 'featured': True, 'title': 'PyCon US 2025 - The Premier Python Conference (Updated)'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventRead[source]

Bases: EventBase

Schema for reading event data.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'created': '2025-01-15T10:00:00Z', 'created_at': '2025-01-15T10:00:00Z', 'creator_id': '550e8400-e29b-41d4-a716-446655440000', 'description': 'Join the largest annual gathering for the Python community! PyCon US 2025 features talks, tutorials, sprints, and networking opportunities for Python developers of all skill levels.', 'featured': True, 'id': '550e8400-e29b-41d4-a716-446655440500', 'name': 'PyCon US 2025', 'slug': 'pycon-us-2025', 'title': 'PyCon US 2025 - The Premier Python Conference', 'updated': '2025-11-20T14:30:00Z', 'updated_at': '2025-11-20T14:30:00Z', 'venue_id': '550e8400-e29b-41d4-a716-446655440200'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventWithRelations[source]

Bases: EventRead

Schema for event with all relations loaded.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'categories': [{'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'id': '550e8400-e29b-41d4-a716-446655440300', 'name': 'Conferences', 'slug': 'conferences'}], 'created': '2025-01-15T10:00:00Z', 'created_at': '2025-01-15T10:00:00Z', 'creator_id': '550e8400-e29b-41d4-a716-446655440000', 'description': 'Join the largest annual gathering for the Python community!', 'featured': True, 'id': '550e8400-e29b-41d4-a716-446655440500', 'name': 'PyCon US 2025', 'occurrences': [{'all_day': False, 'created_at': '2025-01-15T10:00:00Z', 'dt_end': '2025-05-18T17:00:00Z', 'dt_start': '2025-05-15T09:00:00Z', 'event_id': '550e8400-e29b-41d4-a716-446655440500', 'id': '550e8400-e29b-41d4-a716-446655440600', 'updated_at': '2025-01-15T10:00:00Z'}], 'slug': 'pycon-us-2025', 'title': 'PyCon US 2025 - The Premier Python Conference', 'updated': '2025-11-20T14:30:00Z', 'updated_at': '2025-11-20T14:30:00Z', 'venue': {'address': '1000 Fort Duquesne Blvd, Pittsburgh, PA 15222', 'id': '550e8400-e29b-41d4-a716-446655440200', 'name': 'David L. Lawrence Convention Center', 'slug': 'david-l-lawrence-convention-center', 'url': 'https://pittsburghcc.com'}, 'venue_id': '550e8400-e29b-41d4-a716-446655440200'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventList[source]

Bases: BaseModel

Schema for event list items.

model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'json_schema_extra': {'example': {'calendar_id': '550e8400-e29b-41d4-a716-446655440100', 'featured': True, 'id': '550e8400-e29b-41d4-a716-446655440500', 'name': 'PyCon US 2025', 'next_occurrence': '2025-05-15T09:00:00Z', 'slug': 'pycon-us-2025', 'title': 'PyCon US 2025 - The Premier Python Conference'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventCalendarPageData[source]

Bases: BaseModel

Schema for events calendar page template data.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class EventDetailPageData[source]

Bases: BaseModel

Schema for event detail page template data.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

services

controllers

repositories