Attributes: class_vars: The names of the class variables defined on the model. private_attributes: Metadata about the private attributes of the model. signature: The synthesized __init__ [Signature][inspect.Signature] of the model.
__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__pydantic_custom_init__: Whether the model has a custom `__init__` function.
__pydantic_decorators__: Metadata containing the decorators defined on the model.
This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
__pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__: The name of the post-init method for the model, if defined.
__pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel].
__pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model.
__pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model.
__pydantic_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects.
__pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects.
__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.
def store_gsc_data( session:Session, # Active database session site_url:str, # GSC property URL date:str, # Date of the data (YYYY-MM-DD) rows:list, # Raw GSC API rows)->None:
def get_top_queries( session:Session, # Active database session site_url:str, # GSC property URL start_date:str, # Start date (YYYY-MM-DD) end_date:str, # End date (YYYY-MM-DD) country:str|None=None, # Filter by country code page_path:str|None=None, # Filter by page path substring limit:int=10, # Max rows to return sort_by:str='clicks', # Sort by 'clicks' or 'impressions')->list:
Get top performing queries, optionally filtered by country and page.
def get_top_queries_excluding_pages( session:Session, # Active database session site_url:str, # GSC property URL start_date:str, # Start date (YYYY-MM-DD) end_date:str, # End date (YYYY-MM-DD) exclude_pages:list, # Page substrings to exclude country:str|None=None, # Filter by country code limit:int=10, # Max rows to return)->list:
def get_page_analytics( session:Session, # Active database session site_url:str, # GSC property URL page_path:str, # Partial page path to match start_date:str, # Start date (YYYY-MM-DD) end_date:str, # End date (YYYY-MM-DD))->dict:
Get aggregated analytics and top queries for a specific page.
def get_trends( session:Session, # Active database session site_url:str, # GSC property URL start_date:str, # Start date (YYYY-MM-DD) end_date:str, # End date (YYYY-MM-DD) dimension:str|None=None, # Optional dimension to group by)->list:
Get click/impression trends over time, optionally grouped by a dimension.
def get_analytics_by( session:Session, # Active database session site_url:str, # GSC property URL start_date:str, # Start date (YYYY-MM-DD) end_date:str, # End date (YYYY-MM-DD) dimension:str, # GSCAnalytics field to filter by value:str, # Value to match)->list:
Get query-level analytics filtered by a specific dimension value.
def store_single_date( session:Session, # Active database session auth:GSCAuth, # Authenticated GSCAuth instance site_url:str, # GSC property URL date:str, # Date to fetch and store (YYYY-MM-DD))->int:
Fetch and store GSC data for a single date. Returns number of records stored.
def compare_date_ranges( session:Session, # Active database session site_url:str, # GSC property URL start1:str, # First period start date (YYYY-MM-DD) end1:str, # First period end date (YYYY-MM-DD) start2:str, # Second period start date (YYYY-MM-DD) end2:str, # Second period end date (YYYY-MM-DD) page_url:str|None=None, # Optional specific page to compare)->dict:
Compare GSC metrics between two date ranges, optionally for a specific page.
def get_country_breakdown( session:Session, # Active database session site_url:str, # GSC property URL start_date:str, # Start date (YYYY-MM-DD) end_date:str, # End date (YYYY-MM-DD) page_url:str|None=None, # Optional specific page to filter limit:int=20, # Max number of countries to return)->list:
Get traffic metrics grouped by country, optionally for a specific page.