poprox_concepts.domain#

class poprox_concepts.domain.Account(*, account_id=None, email=None, zip5=None, compensation=None, status, source=None, subsource=None, placebo_id=None, created_at=None)#

Bases: BaseModel

Parameters:
  • account_id (UUID)

  • email (str | None)

  • zip5 (str | None)

  • compensation (str | None)

  • status (str)

  • source (str | None)

  • subsource (str | None)

  • placebo_id (str | None)

  • created_at (datetime | None)

model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.AccountInterest(*, account_id=None, entity_id, entity_name, preference, frequency=None)#

Bases: BaseModel

Parameters:
  • account_id (UUID | None)

  • entity_id (UUID)

  • entity_name (str)

  • preference (int)

  • frequency (int | None)

model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.Article(*, article_id=<factory>, headline, subhead=None, body=None, url=None, preview_image_id=None, mentions=[], source=None, external_id=None, raw_data=None, images=None, published_at=datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), created_at=None)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.ArticlePlacement(*, placement_id=<factory>, article_id, url=None, section=None, level=None, image_url=None, created_at=datetime.datetime(2025, 6, 17, 13, 27, 19, 208012, tzinfo=datetime.timezone.utc))#

Bases: BaseModel

Parameters:
  • placement_id (UUID)

  • article_id (UUID)

  • url (str | None)

  • section (str | None)

  • level (str | None)

  • image_url (str | None)

  • created_at (datetime)

model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.CandidateSet(*, articles, **extra_data)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#

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

class poprox_concepts.domain.Click(*, article_id, newsletter_id=None, timestamp=None)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.Demographics(*, demographic_id=None, account_id, gender, birth_year, zip3, education, race, email_client=None)#

Bases: BaseModel

Parameters:
  • demographic_id (UUID)

  • account_id (UUID)

  • gender (str)

  • birth_year (int)

  • zip3 (str)

  • education (str)

  • race (str)

  • email_client (str | None)

model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.Entity(*, entity_id=None, external_id=None, name, entity_type, source, raw_data=None)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.Image(*, image_id=None, url, caption=None, source, external_id=None, raw_data=None)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.Impression(*, impression_id=<factory>, newsletter_id, position, article, created_at=None, extra=None, headline=None, subhead=None, feedback=None)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.InterestProfile(*, profile_id=None, click_history, click_topic_counts=None, click_locality_counts=None, article_feedbacks=None, onboarding_topics, **extra_data)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#

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

class poprox_concepts.domain.Mention(*, article_id=None, mention_id=None, source, relevance, entity)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.Newsletter(*, newsletter_id=<factory>, account_id, treatment_id=None, impressions, subject, body_html, created_at=None, recommender_info=None, feedback=None)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.RecommendationList(*, articles=<factory>, extras=<factory>)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

class poprox_concepts.domain.TopNewsHeadline(*, article_id=None, entity_id=None, topic, headline, position, as_of)#

Bases: BaseModel

Parameters:
model_config: ClassVar[ConfigDict] = {}#

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

Modules