Profiles reference¶
API class¶
- class gravify.ProfileAPI(*, api_key: str | None = None, api_base_url: str = 'https://api.gravatar.com/v3')[source]¶
Client for interacting with the Gravatar API.
Data models¶
Gravatar API data models.
- pydantic model gravify.profiles.models.ContactInfo[source]¶
Contact information for a Gravatar user.
Show JSON schema
{ "title": "ContactInfo", "description": "Contact information for a Gravatar user.", "type": "object", "properties": { "home_phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Home Phone" }, "work_phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Work Phone" }, "cell_phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cell Phone" }, "email": { "anyOf": [ { "format": "email", "type": "string" }, { "type": "null" } ], "default": null, "title": "Email" }, "contact_form": { "anyOf": [ { "format": "uri", "maxLength": 2083, "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Contact Form" }, "calendar": { "anyOf": [ { "format": "uri", "maxLength": 2083, "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Calendar" } } }
- Fields:
- field calendar: HttpUrl | None = None¶
- field cell_phone: str | None = None¶
- field contact_form: HttpUrl | None = None¶
- field email: EmailStr | None = None¶
- field home_phone: str | None = None¶
- field work_phone: str | None = None¶
- pydantic model gravify.profiles.models.CryptoWalletAddress[source]¶
A cryptocurrency wallet address associated with a Gravatar user.
Show JSON schema
{ "title": "CryptoWalletAddress", "description": "A cryptocurrency wallet address associated with a Gravatar user.", "type": "object", "properties": { "label": { "title": "Label", "type": "string" }, "address": { "title": "Address", "type": "string" } }, "required": [ "label", "address" ] }
- Fields:
- field address: str [Required]¶
- field label: str [Required]¶
- pydantic model gravify.profiles.models.GalleryImage[source]¶
An image in a Gravatar user’s gallery.
Show JSON schema
{ "title": "GalleryImage", "description": "An image in a Gravatar user's gallery.", "type": "object", "properties": { "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" }, "alt_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Alt Text" } }, "required": [ "url" ] }
- field alt_text: str | None = None¶
- field url: HttpUrl [Required]¶
- pydantic model gravify.profiles.models.Interest[source]¶
An interest of a Gravatar user.
Show JSON schema
{ "title": "Interest", "description": "An interest of a Gravatar user.", "type": "object", "properties": { "id": { "title": "Id", "type": "integer" }, "name": { "title": "Name", "type": "string" }, "slug": { "title": "Slug", "type": "string" } }, "required": [ "id", "name", "slug" ] }
- Fields:
- field id: int [Required]¶
- field name: str [Required]¶
- field slug: str [Required]¶
- pydantic model gravify.profiles.models.Language[source]¶
A language spoken by a Gravatar user.
Show JSON schema
{ "title": "Language", "description": "A language spoken by a Gravatar user.", "type": "object", "properties": { "code": { "title": "Code", "type": "string" }, "name": { "title": "Name", "type": "string" }, "is_primary": { "title": "Is Primary", "type": "boolean" }, "order": { "title": "Order", "type": "integer" } }, "required": [ "code", "name", "is_primary", "order" ] }
- field code: str [Required]¶
- field is_primary: bool [Required]¶
- field name: str [Required]¶
- field order: int [Required]¶
- pydantic model gravify.profiles.models.Link[source]¶
A link associated with a Gravatar profile.
Show JSON schema
{ "title": "Link", "description": "A link associated with a Gravatar profile.", "type": "object", "properties": { "label": { "title": "Label", "type": "string" }, "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" } }, "required": [ "label", "url" ] }
- field label: str [Required]¶
- field url: HttpUrl [Required]¶
- pydantic model gravify.profiles.models.PaymentInformation[source]¶
Payment information for a Gravatar user.
Show JSON schema
{ "title": "PaymentInformation", "description": "Payment information for a Gravatar user.", "type": "object", "properties": { "links": { "items": { "$ref": "#/$defs/Link" }, "title": "Links", "type": "array" }, "crypto_wallets": { "items": { "$ref": "#/$defs/CryptoWalletAddress" }, "title": "Crypto Wallets", "type": "array" } }, "$defs": { "CryptoWalletAddress": { "description": "A cryptocurrency wallet address associated with a Gravatar user.", "properties": { "label": { "title": "Label", "type": "string" }, "address": { "title": "Address", "type": "string" } }, "required": [ "label", "address" ], "title": "CryptoWalletAddress", "type": "object" }, "Link": { "description": "A link associated with a Gravatar profile.", "properties": { "label": { "title": "Label", "type": "string" }, "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" } }, "required": [ "label", "url" ], "title": "Link", "type": "object" } }, "required": [ "links", "crypto_wallets" ] }
- Fields:
- field crypto_wallets: list[CryptoWalletAddress] [Required]¶
- pydantic model gravify.profiles.models.Profile[source]¶
A Gravatar profile.
Show JSON schema
{ "title": "Profile", "description": "A Gravatar profile.", "type": "object", "properties": { "hash": { "title": "Hash", "type": "string" }, "display_name": { "title": "Display Name", "type": "string" }, "profile_url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Profile Url", "type": "string" }, "avatar_url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Avatar Url", "type": "string" }, "avatar_alt_text": { "title": "Avatar Alt Text", "type": "string" }, "location": { "title": "Location", "type": "string" }, "description": { "title": "Description", "type": "string" }, "job_title": { "title": "Job Title", "type": "string" }, "company": { "title": "Company", "type": "string" }, "verified_accounts": { "items": { "$ref": "#/$defs/VerifiedAccount" }, "title": "Verified Accounts", "type": "array" }, "pronunciation": { "title": "Pronunciation", "type": "string" }, "pronouns": { "title": "Pronouns", "type": "string" }, "timezone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Timezone" }, "languages": { "anyOf": [ { "items": { "$ref": "#/$defs/Language" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Languages" }, "first_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "First Name" }, "last_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Last Name" }, "is_organization": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Is Organization" }, "header_image": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Header Image" }, "background_color": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Background Color" }, "links": { "anyOf": [ { "items": { "$ref": "#/$defs/Link" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Links" }, "interests": { "anyOf": [ { "items": { "$ref": "#/$defs/Interest" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Interests" }, "payments": { "anyOf": [ { "$ref": "#/$defs/PaymentInformation" }, { "type": "null" } ], "default": null }, "contact_info": { "anyOf": [ { "$ref": "#/$defs/ContactInfo" }, { "type": "null" } ], "default": null }, "gallery": { "anyOf": [ { "items": { "$ref": "#/$defs/GalleryImage" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Gallery" }, "number_verified_accounts": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Number Verified Accounts" }, "last_profile_edit": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Last Profile Edit" }, "registration_date": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Registration Date" }, "section_visibility": { "anyOf": [ { "$ref": "#/$defs/SectionVisibility" }, { "type": "null" } ], "default": null } }, "$defs": { "ContactInfo": { "description": "Contact information for a Gravatar user.", "properties": { "home_phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Home Phone" }, "work_phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Work Phone" }, "cell_phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cell Phone" }, "email": { "anyOf": [ { "format": "email", "type": "string" }, { "type": "null" } ], "default": null, "title": "Email" }, "contact_form": { "anyOf": [ { "format": "uri", "maxLength": 2083, "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Contact Form" }, "calendar": { "anyOf": [ { "format": "uri", "maxLength": 2083, "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Calendar" } }, "title": "ContactInfo", "type": "object" }, "CryptoWalletAddress": { "description": "A cryptocurrency wallet address associated with a Gravatar user.", "properties": { "label": { "title": "Label", "type": "string" }, "address": { "title": "Address", "type": "string" } }, "required": [ "label", "address" ], "title": "CryptoWalletAddress", "type": "object" }, "GalleryImage": { "description": "An image in a Gravatar user's gallery.", "properties": { "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" }, "alt_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Alt Text" } }, "required": [ "url" ], "title": "GalleryImage", "type": "object" }, "Interest": { "description": "An interest of a Gravatar user.", "properties": { "id": { "title": "Id", "type": "integer" }, "name": { "title": "Name", "type": "string" }, "slug": { "title": "Slug", "type": "string" } }, "required": [ "id", "name", "slug" ], "title": "Interest", "type": "object" }, "Language": { "description": "A language spoken by a Gravatar user.", "properties": { "code": { "title": "Code", "type": "string" }, "name": { "title": "Name", "type": "string" }, "is_primary": { "title": "Is Primary", "type": "boolean" }, "order": { "title": "Order", "type": "integer" } }, "required": [ "code", "name", "is_primary", "order" ], "title": "Language", "type": "object" }, "Link": { "description": "A link associated with a Gravatar profile.", "properties": { "label": { "title": "Label", "type": "string" }, "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" } }, "required": [ "label", "url" ], "title": "Link", "type": "object" }, "PaymentInformation": { "description": "Payment information for a Gravatar user.", "properties": { "links": { "items": { "$ref": "#/$defs/Link" }, "title": "Links", "type": "array" }, "crypto_wallets": { "items": { "$ref": "#/$defs/CryptoWalletAddress" }, "title": "Crypto Wallets", "type": "array" } }, "required": [ "links", "crypto_wallets" ], "title": "PaymentInformation", "type": "object" }, "SectionVisibility": { "description": "Visibility settings for sections of a Gravatar profile.", "properties": { "hidden_contact_info": { "title": "Hidden Contact Info", "type": "boolean" }, "hidden_feeds": { "title": "Hidden Feeds", "type": "boolean" }, "hidden_links": { "title": "Hidden Links", "type": "boolean" }, "hidden_interests": { "title": "Hidden Interests", "type": "boolean" }, "hidden_wallet": { "title": "Hidden Wallet", "type": "boolean" }, "hidden_photos": { "title": "Hidden Photos", "type": "boolean" }, "hidden_verified_accounts": { "title": "Hidden Verified Accounts", "type": "boolean" } }, "required": [ "hidden_contact_info", "hidden_feeds", "hidden_links", "hidden_interests", "hidden_wallet", "hidden_photos", "hidden_verified_accounts" ], "title": "SectionVisibility", "type": "object" }, "VerifiedAccount": { "description": "A verified account associated with a Gravatar profile.", "properties": { "service_type": { "title": "Service Type", "type": "string" }, "service_label": { "title": "Service Label", "type": "string" }, "service_icon": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Service Icon", "type": "string" }, "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" }, "is_hidden": { "title": "Is Hidden", "type": "boolean" } }, "required": [ "service_type", "service_label", "service_icon", "url", "is_hidden" ], "title": "VerifiedAccount", "type": "object" } }, "required": [ "hash", "display_name", "profile_url", "avatar_url", "avatar_alt_text", "location", "description", "job_title", "company", "verified_accounts", "pronunciation", "pronouns" ] }
- Fields:
- field avatar_alt_text: str [Required]¶
- field avatar_url: HttpUrl [Required]¶
- field background_color: str | None = None¶
- field company: str [Required]¶
- field contact_info: ContactInfo | None = None¶
- field description: str [Required]¶
- field display_name: str [Required]¶
- field first_name: str | None = None¶
- field gallery: list[GalleryImage] | None = None¶
- field hash: str [Required]¶
- field header_image: str | None = None¶
- field is_organization: bool | None = None¶
- field job_title: str [Required]¶
- field last_name: str | None = None¶
- field last_profile_edit: datetime | None = None¶
- field location: str [Required]¶
- field number_verified_accounts: int | None = None¶
- field payments: PaymentInformation | None = None¶
- field profile_url: HttpUrl [Required]¶
- field pronouns: str [Required]¶
- field pronunciation: str [Required]¶
- field registration_date: datetime | None = None¶
- field section_visibility: SectionVisibility | None = None¶
- field timezone: str | None = None¶
- field verified_accounts: list[VerifiedAccount] [Required]¶
- pydantic model gravify.profiles.models.SectionVisibility[source]¶
Visibility settings for sections of a Gravatar profile.
Show JSON schema
{ "title": "SectionVisibility", "description": "Visibility settings for sections of a Gravatar profile.", "type": "object", "properties": { "hidden_contact_info": { "title": "Hidden Contact Info", "type": "boolean" }, "hidden_feeds": { "title": "Hidden Feeds", "type": "boolean" }, "hidden_links": { "title": "Hidden Links", "type": "boolean" }, "hidden_interests": { "title": "Hidden Interests", "type": "boolean" }, "hidden_wallet": { "title": "Hidden Wallet", "type": "boolean" }, "hidden_photos": { "title": "Hidden Photos", "type": "boolean" }, "hidden_verified_accounts": { "title": "Hidden Verified Accounts", "type": "boolean" } }, "required": [ "hidden_contact_info", "hidden_feeds", "hidden_links", "hidden_interests", "hidden_wallet", "hidden_photos", "hidden_verified_accounts" ] }
- Fields:
- pydantic model gravify.profiles.models.VerifiedAccount[source]¶
A verified account associated with a Gravatar profile.
Show JSON schema
{ "title": "VerifiedAccount", "description": "A verified account associated with a Gravatar profile.", "type": "object", "properties": { "service_type": { "title": "Service Type", "type": "string" }, "service_label": { "title": "Service Label", "type": "string" }, "service_icon": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Service Icon", "type": "string" }, "url": { "format": "uri", "maxLength": 2083, "minLength": 1, "title": "Url", "type": "string" }, "is_hidden": { "title": "Is Hidden", "type": "boolean" } }, "required": [ "service_type", "service_label", "service_icon", "url", "is_hidden" ] }
- Fields:
- field service_icon: HttpUrl [Required]¶
- field service_label: str [Required]¶
- field service_type: str [Required]¶
- field url: HttpUrl [Required]¶