Models

models.bulk_data - Data models for USPTO bulk data API

This module provides data models for the USPTO Open Data Portal (ODP) Bulk Data API.

class pyUSPTO.models.bulk_data.BulkDataProduct(product_identifier, product_description_text, product_title_text, product_frequency_text, product_label_array_text, product_dataset_array_text, product_dataset_category_array_text, product_from_date, product_to_date, product_total_file_size, product_file_total_quantity, last_modified_date_time, mime_type_identifier_array_text, product_file_bag=None, days_of_week_text=None)[source]

Bases: object

Represents a product in the bulk data API.

days_of_week_text: Optional[str] = None
classmethod from_dict(data)[source]

Create a BulkDataProduct object from a dictionary.

Return type:

BulkDataProduct

last_modified_date_time: str
mime_type_identifier_array_text: List[str]
product_dataset_array_text: List[str]
product_dataset_category_array_text: List[str]
product_description_text: str
product_file_bag: Optional[ProductFileBag] = None
product_file_total_quantity: int
product_frequency_text: str
product_from_date: str
product_identifier: str
product_label_array_text: List[str]
product_title_text: str
product_to_date: str
product_total_file_size: int
class pyUSPTO.models.bulk_data.BulkDataResponse(count, bulk_data_product_bag)[source]

Bases: object

Top-level response from the bulk data API.

bulk_data_product_bag: List[BulkDataProduct]
count: int
classmethod from_dict(data)[source]

Create a BulkDataResponse object from a dictionary.

Return type:

BulkDataResponse

to_dict()[source]

Convert the BulkDataResponse object to a dictionary.

Return type:

Dict[str, Any]

class pyUSPTO.models.bulk_data.FileData(file_name, file_size, file_data_from_date, file_data_to_date, file_type_text, file_release_date, file_download_uri=None, file_date=None, file_last_modified_date_time=None)[source]

Bases: object

Represents a file in the bulk data API.

file_data_from_date: str
file_data_to_date: str
file_date: Optional[str] = None
file_download_uri: Optional[str] = None
file_last_modified_date_time: Optional[str] = None
file_name: str
file_release_date: str
file_size: int
file_type_text: str
classmethod from_dict(data)[source]

Create a FileData object from a dictionary.

Return type:

FileData

class pyUSPTO.models.bulk_data.ProductFileBag(count, file_data_bag)[source]

Bases: object

Container for file data elements.

count: int
file_data_bag: List[FileData]
classmethod from_dict(data)[source]

Create a ProductFileBag object from a dictionary.

Return type:

ProductFileBag

models.patent_data - Data models for USPTO patent data API

This module provides data models for the USPTO Patent Data API, enhanced with more Pythonic features like immutability, Enums, and native date/datetime objects.

class pyUSPTO.models.patent_data.ActiveIndicator(value)[source]

Bases: Enum

Represents an active or inactive status, often used for practitioners or entities.

ACTIVE = 'Active'
FALSE = 'false'
NO = 'N'
TRUE = 'true'
YES = 'Y'
class pyUSPTO.models.patent_data.Address(name_line_one_text=None, name_line_two_text=None, address_line_one_text=None, address_line_two_text=None, address_line_three_text=None, address_line_four_text=None, geographic_region_name=None, geographic_region_code=None, postal_code=None, city_name=None, country_code=None, country_name=None, postal_address_category=None, correspondent_name_text=None)[source]

Bases: object

Represents a postal address with fields for street, city, region, country, and postal code.

It can be used for various entities like applicants, inventors, or correspondence.

address_line_four_text: Optional[str] = None
address_line_one_text: Optional[str] = None
address_line_three_text: Optional[str] = None
address_line_two_text: Optional[str] = None
city_name: Optional[str] = None
correspondent_name_text: Optional[str] = None
country_code: Optional[str] = None
country_name: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

Address

geographic_region_code: Optional[str] = None
geographic_region_name: Optional[str] = None
name_line_one_text: Optional[str] = None
name_line_two_text: Optional[str] = None
postal_address_category: Optional[str] = None
postal_code: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Applicant(first_name=None, middle_name=None, last_name=None, name_prefix=None, name_suffix=None, preferred_name=None, country_code=None, applicant_name_text=None, correspondence_address_bag=<factory>)[source]

Bases: Person

Represents an applicant for a patent, inheriting from Person.

Includes applicant-specific name text and a list of correspondence addresses.

applicant_name_text: Optional[str] = None
correspondence_address_bag: List[Address]
classmethod from_dict(data)[source]
Return type:

Applicant

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.ApplicationContinuityData(parent_continuity_bag=<factory>, child_continuity_bag=<factory>)[source]

Bases: object

Holds parent and child continuity application data for a specific patent application.

This class consolidates lists of ParentContinuity and ChildContinuity objects, representing the lineage of an application.

child_continuity_bag: List[ChildContinuity]
classmethod from_wrapper(wrapper)[source]
Return type:

ApplicationContinuityData

parent_continuity_bag: List[ParentContinuity]
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.ApplicationMetaData(national_stage_indicator=None, entity_status_data=None, publication_date_bag=<factory>, publication_sequence_number_bag=<factory>, publication_category_bag=<factory>, docket_number=None, first_inventor_to_file_indicator=None, first_applicant_name=None, first_inventor_name=None, application_confirmation_number=None, application_status_date=None, application_status_description_text=None, filing_date=None, effective_filing_date=None, grant_date=None, group_art_unit_number=None, application_type_code=None, application_type_label_name=None, application_type_category=None, invention_title=None, patent_number=None, application_status_code=None, earliest_publication_number=None, earliest_publication_date=None, pct_publication_number=None, pct_publication_date=None, international_registration_publication_date=None, international_registration_number=None, examiner_name_text=None, class_field=None, subclass=None, uspc_symbol_text=None, customer_number=None, cpc_classification_bag=<factory>, applicant_bag=<factory>, inventor_bag=<factory>, raw_data=None)[source]

Bases: object

Represents the comprehensive metadata associated with a patent application.

This class holds a wide range of information including application status, dates (filing, grant, publication), applicant and inventor details, classification data, and other identifying information.

applicant_bag: List[Applicant]
application_confirmation_number: Optional[str] = None
application_status_code: Optional[int] = None
application_status_date: Optional[date] = None
application_status_description_text: Optional[str] = None
application_type_category: Optional[str] = None
application_type_code: Optional[str] = None
application_type_label_name: Optional[str] = None
class_field: Optional[str] = None
cpc_classification_bag: List[str]
customer_number: Optional[int] = None
docket_number: Optional[str] = None
earliest_publication_date: Optional[date] = None
earliest_publication_number: Optional[str] = None
effective_filing_date: Optional[date] = None
entity_status_data: Optional[EntityStatus] = None
examiner_name_text: Optional[str] = None
filing_date: Optional[date] = None
first_applicant_name: Optional[str] = None
first_inventor_name: Optional[str] = None
first_inventor_to_file_indicator: Optional[bool] = None
classmethod from_dict(data)[source]
Return type:

ApplicationMetaData

grant_date: Optional[date] = None
group_art_unit_number: Optional[str] = None
international_registration_number: Optional[str] = None
international_registration_publication_date: Optional[date] = None
invention_title: Optional[str] = None
inventor_bag: List[Inventor]
property is_aia: bool | None
property is_pre_aia: bool | None
national_stage_indicator: Optional[bool] = None
patent_number: Optional[str] = None
pct_publication_date: Optional[date] = None
pct_publication_number: Optional[str] = None
publication_category_bag: List[str]
publication_date_bag: List[date]
publication_sequence_number_bag: List[str]
raw_data: Optional[str] = None
subclass: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

uspc_symbol_text: Optional[str] = None
class pyUSPTO.models.patent_data.Assignee(assignee_name_text=None, assignee_address=None)[source]

Bases: object

Represents an assignee in a patent assignment.

assignee_name_text

The name of the party receiving the assignment.

assignee_address

The address of the assignee.

assignee_address: Optional[Address] = None
assignee_name_text: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

Assignee

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Assignment(reel_number=None, frame_number=None, reel_and_frame_number=None, assignment_document_location_uri=None, assignment_received_date=None, assignment_recorded_date=None, assignment_mailed_date=None, conveyance_text=None, assignor_bag=<factory>, assignee_bag=<factory>, correspondence_address_bag=<factory>)[source]

Bases: object

Represents a patent assignment, detailing the transfer of rights.

Includes information about the reel and frame, document location, dates, conveyance text, and bags of assignors, assignees, and correspondence addresses.

assignee_bag: List[Assignee]
assignment_document_location_uri: Optional[str] = None
assignment_mailed_date: Optional[date] = None
assignment_received_date: Optional[date] = None
assignment_recorded_date: Optional[date] = None
assignor_bag: List[Assignor]
conveyance_text: Optional[str] = None
correspondence_address_bag: List[Address]
frame_number: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

Assignment

reel_and_frame_number: Optional[str] = None
reel_number: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Assignor(assignor_name=None, execution_date=None)[source]

Bases: object

Represents an assignor in a patent assignment.

assignor_name

The name of the assigning party.

execution_date

The date the assignment was executed.

assignor_name: Optional[str] = None
execution_date: Optional[date] = None
classmethod from_dict(data)[source]
Return type:

Assignor

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Attorney(first_name=None, middle_name=None, last_name=None, name_prefix=None, name_suffix=None, preferred_name=None, country_code=None, registration_number=None, active_indicator=None, registered_practitioner_category=None, attorney_address_bag=<factory>, telecommunication_address_bag=<factory>)[source]

Bases: Person

Represents an attorney or agent associated with a patent application, inheriting from Person.

Includes registration number, active status, practitioner category, addresses, and telecommunication details.

active_indicator: Optional[str] = None
attorney_address_bag: List[Address]
classmethod from_dict(data)[source]
Return type:

Attorney

registered_practitioner_category: Optional[str] = None
registration_number: Optional[str] = None
telecommunication_address_bag: List[Telecommunication]
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.ChildContinuity(first_inventor_to_file_indicator=None, application_number_text=None, filing_date=None, status_code=None, status_description_text=None, patent_number=None, claim_parentage_type_code=None, claim_parentage_type_code_description_text=None, child_application_status_code=None, parent_application_number_text=None, child_application_number_text=None, child_application_status_description_text=None, child_application_filing_date=None, child_patent_number=None)[source]

Bases: Continuity

Represents a child application in a patent application’s continuity chain.

Inherits from Continuity and adds specific fields for child application details.

child_application_filing_date: Optional[date] = None
child_application_number_text: Optional[str] = None
child_application_status_code: Optional[int] = None
child_application_status_description_text: Optional[str] = None
child_patent_number: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

ChildContinuity

parent_application_number_text: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Continuity(first_inventor_to_file_indicator=None, application_number_text=None, filing_date=None, status_code=None, status_description_text=None, patent_number=None, claim_parentage_type_code=None, claim_parentage_type_code_description_text=None)[source]

Bases: object

Base class representing continuity data for a patent application.

This includes details about the application’s relationship to other applications (parent/child), its filing status under AIA (America Invents Act), and key identifiers.

application_number_text: Optional[str] = None
claim_parentage_type_code: Optional[str] = None
claim_parentage_type_code_description_text: Optional[str] = None
filing_date: Optional[date] = None
first_inventor_to_file_indicator: Optional[bool] = None
property is_aia: bool | None
property is_pre_aia: bool | None
patent_number: Optional[str] = None
status_code: Optional[int] = None
status_description_text: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.CustomerNumberCorrespondence(patron_identifier=None, organization_standard_name=None, power_of_attorney_address_bag=<factory>, telecommunication_address_bag=<factory>)[source]

Bases: object

Represents correspondence data associated with a USPTO customer number.

Includes patron identifier, organization name, power of attorney addresses, and telecommunication details.

classmethod from_dict(data)[source]
Return type:

CustomerNumberCorrespondence

organization_standard_name: Optional[str] = None
patron_identifier: Optional[int] = None
power_of_attorney_address_bag: List[Address]
telecommunication_address_bag: List[Telecommunication]
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.DirectionCategory(value)[source]

Bases: Enum

Represents the direction of a document relative to the USPTO (e.g., INCOMING, OUTGOING).

INCOMING = 'INCOMING'
OUTGOING = 'OUTGOING'
class pyUSPTO.models.patent_data.Document(application_number_text=None, official_date=None, document_identifier=None, document_code=None, document_code_description_text=None, direction_category=None, document_formats=<factory>)[source]

Bases: object

Represents a single document associated with a patent application.

This includes metadata such as its identifier, official date, code, description, direction (incoming/outgoing), and available download formats.

application_number_text: Optional[str] = None
direction_category: Optional[DirectionCategory] = None
document_code: Optional[str] = None
document_code_description_text: Optional[str] = None
document_formats: List[DocumentFormat]
document_identifier: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

Document

official_date: Optional[datetime] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.DocumentBag(documents)[source]

Bases: object

A collection of Document objects associated with a patent application.

Provides iterable access to the documents.

property documents: tuple[Document, ...]
classmethod from_dict(data)[source]
Return type:

DocumentBag

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.DocumentFormat(mime_type_identifier=None, download_url=None, page_total_quantity=None)[source]

Bases: object

Represents an available download format for a specific document.

mime_type_identifier

The MIME type of the downloadable file (e.g., “PDF”).

download_url

The URL from which the document format can be downloaded.

page_total_quantity

The total number of pages in this document format.

download_url: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

DocumentFormat

mime_type_identifier: Optional[str] = None
page_total_quantity: Optional[int] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.EntityStatus(small_entity_status_indicator=None, business_entity_status_category=None)[source]

Bases: object

Represents the entity status of an applicant (e.g., small entity status).

small_entity_status_indicator

Boolean indicating if the applicant qualifies for small entity status.

business_entity_status_category

String category of the business entity status (e.g., “Undiscounted”).

business_entity_status_category: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

EntityStatus

small_entity_status_indicator: Optional[bool] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.EventData(event_code=None, event_description_text=None, event_date=None)[source]

Bases: object

Represents a single event in the transaction history of a patent application.

event_code

A code identifying the type of event.

event_description_text

A textual description of the event.

event_date

The date the event was recorded.

event_code: Optional[str] = None
event_date: Optional[date] = None
event_description_text: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

EventData

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.ForeignPriority(ip_office_name=None, filing_date=None, application_number_text=None)[source]

Bases: object

Represents a foreign priority claim for a patent application.

ip_office_name

The name of the intellectual property office of the priority application.

filing_date

The filing date of the priority application.

application_number_text

The application number of the priority application.

application_number_text: Optional[str] = None
filing_date: Optional[date] = None
classmethod from_dict(data)[source]
Return type:

ForeignPriority

ip_office_name: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Inventor(first_name=None, middle_name=None, last_name=None, name_prefix=None, name_suffix=None, preferred_name=None, country_code=None, inventor_name_text=None, correspondence_address_bag=<factory>)[source]

Bases: Person

Represents an inventor for a patent application, inheriting from Person.

Includes inventor-specific name text and a list of correspondence addresses.

correspondence_address_bag: List[Address]
classmethod from_dict(data)[source]
Return type:

Inventor

inventor_name_text: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.ParentContinuity(first_inventor_to_file_indicator=None, application_number_text=None, filing_date=None, status_code=None, status_description_text=None, patent_number=None, claim_parentage_type_code=None, claim_parentage_type_code_description_text=None, parent_application_status_code=None, parent_patent_number=None, parent_application_status_description_text=None, parent_application_filing_date=None, parent_application_number_text=None, child_application_number_text=None)[source]

Bases: Continuity

Represents a parent application in a patent application’s continuity chain.

Inherits from Continuity and adds specific fields for parent application details.

child_application_number_text: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

ParentContinuity

parent_application_filing_date: Optional[date] = None
parent_application_number_text: Optional[str] = None
parent_application_status_code: Optional[int] = None
parent_application_status_description_text: Optional[str] = None
parent_patent_number: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.PatentDataResponse(count, patent_file_wrapper_data_bag=<factory>)[source]

Bases: object

Represents the overall response from a patent data API request.

It typically includes a count of the results and a list of PatentFileWrapper objects, each containing detailed data for a patent application.

count: int
classmethod from_dict(data)[source]
Return type:

PatentDataResponse

patent_file_wrapper_data_bag: List[PatentFileWrapper]
to_csv()[source]

Converts the patent data in this response to a CSV formatted string.

The CSV will contain the following headers: - inventionTitle - applicationNumberText - filingDate - applicationTypeLabelName - publicationCategoryBag (pipe-separated if multiple) - applicationStatusDescriptionText - applicationStatusDate - firstInventorName

Return type:

str

Returns:

A string containing the data in CSV format.

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.PatentFileWrapper(application_number_text=None, application_meta_data=None, correspondence_address_bag=<factory>, assignment_bag=<factory>, record_attorney=None, foreign_priority_bag=<factory>, parent_continuity_bag=<factory>, child_continuity_bag=<factory>, patent_term_adjustment_data=None, event_data_bag=<factory>, pgpub_document_meta_data=None, grant_document_meta_data=None, last_ingestion_date_time=None)[source]

Bases: object

Represents the complete file wrapper for a single patent application.

This is a top-level object containing all data sections related to an application, such as metadata, addresses, assignments, attorney information, continuity data, PTA data, transaction events, and associated document metadata.

application_meta_data: Optional[ApplicationMetaData] = None
application_number_text: Optional[str] = None
assignment_bag: List[Assignment]
child_continuity_bag: List[ChildContinuity]
correspondence_address_bag: List[Address]
event_data_bag: List[EventData]
foreign_priority_bag: List[ForeignPriority]
classmethod from_dict(data)[source]
Return type:

PatentFileWrapper

grant_document_meta_data: Optional[PrintedMetaData] = None
last_ingestion_date_time: Optional[datetime] = None
parent_continuity_bag: List[ParentContinuity]
patent_term_adjustment_data: Optional[PatentTermAdjustmentData] = None
pgpub_document_meta_data: Optional[PrintedMetaData] = None
record_attorney: Optional[RecordAttorney] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.PatentTermAdjustmentData(a_delay_quantity=None, adjustment_total_quantity=None, applicant_day_delay_quantity=None, b_delay_quantity=None, c_delay_quantity=None, filing_date=None, grant_date=None, non_overlapping_day_quantity=None, overlapping_day_quantity=None, ip_office_day_delay_quantity=None, patent_term_adjustment_history_data_bag=<factory>)[source]

Bases: object

Represents the overall patent term adjustment (PTA) data for an application.

Includes various delay quantities (A, B, C, applicant, IP office), total adjustment, and a history of PTA events.

a_delay_quantity: Optional[float] = None
adjustment_total_quantity: Optional[float] = None
applicant_day_delay_quantity: Optional[float] = None
b_delay_quantity: Optional[float] = None
c_delay_quantity: Optional[float] = None
filing_date: Optional[date] = None
classmethod from_dict(data)[source]
Return type:

PatentTermAdjustmentData

grant_date: Optional[date] = None
ip_office_day_delay_quantity: Optional[float] = None
non_overlapping_day_quantity: Optional[float] = None
overlapping_day_quantity: Optional[float] = None
patent_term_adjustment_history_data_bag: List[PatentTermAdjustmentHistoryData]
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.PatentTermAdjustmentHistoryData(event_date=None, applicant_day_delay_quantity=None, event_description_text=None, event_sequence_number=None, ip_office_day_delay_quantity=None, originating_event_sequence_number=None, pta_pte_code=None)[source]

Bases: object

Represents a single entry in the patent term adjustment (PTA) history for an application.

Details specific events, dates, and day quantities affecting the patent term.

applicant_day_delay_quantity: Optional[float] = None
event_date: Optional[date] = None
event_description_text: Optional[str] = None
event_sequence_number: Optional[float] = None
classmethod from_dict(data)[source]
Return type:

PatentTermAdjustmentHistoryData

ip_office_day_delay_quantity: Optional[float] = None
originating_event_sequence_number: Optional[float] = None
pta_pte_code: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Person(first_name=None, middle_name=None, last_name=None, name_prefix=None, name_suffix=None, preferred_name=None, country_code=None)[source]

Bases: object

A base data class representing a person with common name and country attributes.

This class is typically inherited by more specific types like Applicant, Inventor, or Attorney.

country_code: Optional[str] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
middle_name: Optional[str] = None
name_prefix: Optional[str] = None
name_suffix: Optional[str] = None
preferred_name: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.PrintedMetaData(zip_file_name=None, product_identifier=None, file_location_uri=None, file_create_date_time=None, xml_file_name=None)[source]

Bases: object

Represents metadata for a specific archive file, such as a PGPUB or Grant XML file.

zip_file_name

The name of the ZIP archive.

product_identifier

An identifier for the data product (e.g., “APPXML”, “PTGRXML”).

file_location_uri

The URI where the document file can be accessed.

file_create_date_time

The creation timestamp of the document file.

xml_file_name

The name of the XML file within the ZIP archive.

file_create_date_time: Optional[datetime] = None
file_location_uri: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

PrintedMetaData

product_identifier: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

xml_file_name: Optional[str] = None
zip_file_name: Optional[str] = None
class pyUSPTO.models.patent_data.PrintedPublication(pgpub_document_meta_data=None, grant_document_meta_data=None)[source]

Bases: object

Holds metadata for associated documents like Pre-Grant Publications (PGPUB) and Grant documents for a specific patent application.

classmethod from_wrapper(wrapper)[source]
Return type:

PrintedPublication

grant_document_meta_data: Optional[PrintedMetaData] = None
pgpub_document_meta_data: Optional[PrintedMetaData] = None
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.RecordAttorney(customer_number_correspondence_data=<factory>, power_of_attorney_bag=<factory>, attorney_bag=<factory>)[source]

Bases: object

Represents information about the attorney(s) of record for a patent application.

Contains customer number correspondence data, power of attorney information, and listed attorneys.

attorney_bag: List[Attorney]
customer_number_correspondence_data: List[CustomerNumberCorrespondence]
classmethod from_dict(data)[source]
Return type:

RecordAttorney

power_of_attorney_bag: List[Attorney]
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.StatusCode(code=None, description=None)[source]

Bases: object

Represents a USPTO application status code and its textual description.

code

The numeric status code.

description

The textual description of the status code.

code: Optional[int] = None
description: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

StatusCode

to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.StatusCodeCollection(status_codes)[source]

Bases: object

A collection of StatusCode objects.

Provides iterable access and helper methods to find or filter status codes.

find_by_code(code_to_find)[source]
Return type:

Optional[StatusCode]

search_by_description(text)[source]
Return type:

StatusCodeCollection

to_dict()[source]
Return type:

List[Dict[str, Any]]

class pyUSPTO.models.patent_data.StatusCodeSearchResponse(count, status_code_bag, request_identifier=None)[source]

Bases: object

Represents the response from a search query for patent application status codes.

count

The total number of status codes found matching the query.

status_code_bag

A collection of the StatusCode objects returned.

request_identifier

An identifier for the API request.

count: int
classmethod from_dict(data)[source]
Return type:

StatusCodeSearchResponse

request_identifier: Optional[str] = None
status_code_bag: StatusCodeCollection
to_dict()[source]
Return type:

Dict[str, Any]

class pyUSPTO.models.patent_data.Telecommunication(telecommunication_number=None, extension_number=None, telecom_type_code=None)[source]

Bases: object

Represents telecommunication details, such as phone or fax numbers.

telecommunication_number

The main number (e.g., phone number).

extension_number

Any extension associated with the number.

telecom_type_code

A code indicating the type of telecommunication (e.g., “TEL”, “FAX”).

extension_number: Optional[str] = None
classmethod from_dict(data)[source]
Return type:

Telecommunication

telecom_type_code: Optional[str] = None
telecommunication_number: Optional[str] = None
to_dict()[source]
Return type:

Dict[str, Any]

pyUSPTO.models.patent_data.parse_to_date(date_str, fmt='%Y-%m-%d')[source]
Return type:

Optional[date]

pyUSPTO.models.patent_data.parse_to_datetime_utc(datetime_str)[source]
Return type:

Optional[datetime]

pyUSPTO.models.patent_data.parse_yn_to_bool(value)[source]

Converts ‘Y’/’N’ (case-insensitive) string to boolean. Returns None if input is None or not Y/N.

Return type:

Optional[bool]

pyUSPTO.models.patent_data.serialize_bool_to_yn(value)[source]

Converts boolean to ‘Y’/’N’ string. Returns None if input is None.

Return type:

Optional[str]

pyUSPTO.models.patent_data.serialize_date(d)[source]
Return type:

Optional[str]

pyUSPTO.models.patent_data.serialize_datetime_as_iso(dt)[source]
Return type:

Optional[str]

pyUSPTO.models.patent_data.to_camel_case(snake_str)[source]
Return type:

str