I am pleased to announce Plumage (Plumage-py) 1.4.0 ("Experiment IV").
Plumage is a module to obtain trademark status and information from the United States Patent & Trademark Office's (USPTO's) Trademark Status & Document Retrieval (TSDR) system. It takes as input either a trademark registration number or application serial number, fetches the corresponding XML data from the PTO's TSDR website, and returns a dictionary of data associated with the specified TSDR entry.
from Plumage import plumage t = plumage.TSDRReq() t.setAPIKey(APIKEY) # API Key obtained from USPTO t.getTSDRInfo("2564831", "r") # get info on reg. no 2,564,831 tsdrdata=t.TSDRData if tsdrdata.TSDRMapIsValid: print("Application serial no: ", tsdrdata.TSDRSingle["ApplicationNumber"]) print("Trademark text: ", tsdrdata.TSDRSingle["MarkVerbalElementText"]) print("Application filing date: ", tsdrdata.TSDRSingle["ApplicationDate"]) print("Registration no: ", tsdrdata.TSDRSingle["RegistrationNumber"]) # Owner info is in most recent (0th) entry in ApplicantList applicant_list = tsdrdata.TSDRMulti["ApplicantList"] current_owner_info = applicant_list print("Owner:", current_owner_info["ApplicantName"])
Application serial no: 75181334 Trademark text: MONTY PYTHON'S FLYING CIRCUS Application filing date: 1996-10-15-04:00 Registration no: 2564831 Owner: Python (Monty) Pictures Ltd.
Multiple trademark applications or registrations can be successively queried. for example:
t = plumage.TSDRReq() application_numbers = ["76535603", "75854426", "86142154", "78790815", "75533975"] for application_number in application_numbers: result = t.getTSDRInfo(application_number, "s") print(t.TSDRData.TSDRSingle["MarkVerbalElementText"])
NO BUDDY ESPEX ZA SPANISH INQUISITION
New in this release:
* Support for USPTO API key. The USPTO recently instituted a requirement that calls to TSDR require an API key, and the inability to specify one broke Plumage. This is now fixed.
* By default, there is a one-second delay between TSDR calls, to comply with the USPTO policy limiting calls to 60/minute. The length of the delay can be modified by calling SetIntervalTime() (including setting the delay to zero if you want to manage the timing yourself).
* By default, TSDR calls now default to requests for ST.96-format XML files. Prior to V1.4.0, the default was for ZIP files. The USPTO limit for zip files is tighter (4/minute) than for text XML (60/minute). The primary benefit of getting a zip file is that it includes the trademark specimen image. You porbably don't need it, but if you require image data, you can continue to request ZIP files by calling setPTOFormat("zip").
* New method GetMetainfo() allowing access to some metadata (not specific to a particular TSDR call) without a call to the USPTO TSDR server.
* Additional status information about a particular mark is provided:
- StaffName: the PTO staff member to whom a trademark is assigned
- StaffOfficialTitle: the title of the assigned staff member
- Three new lists are reported, to provide information on a mark's classification and dates of first use in each:
- InternationalClassDescriptionList: provides information on international classification;
- DomesticClassDescriptionList: provides information on domestic (US) classification; and
- FirstUseDateList: provides information on dates of first use on a per-class basis
* Some changes on reported metadata.
* Support for Python 2 is DROPPED in this release.
Release details: https://github.com/codingatty/Plumage-py/releases/tag/V1.4.0 Docs: https://github.com/codingatty/Plumage/wiki/Plumage-Home License: Apache Software License V2