Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #2794

ANN: Plumage 1.3.0; access trademark status info from USPTO

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Terry Carroll <carroll@tjc.com>
Newsgroups comp.lang.python.announce
Subject ANN: Plumage 1.3.0; access trademark status info from USPTO
Date Fri, 23 Mar 2018 17:55:07 -0400 (EDT)
Lines 61
Approved python-announce-list@python.org
Message-ID <mailman.255.1521893547.1867.python-announce-list@python.org> (permalink)
References <alpine.NEB.2.21.1803231750220.16704@panix2.panix.com>
Mime-Version 1.0
Content-Type text/plain; format=flowed; charset=US-ASCII
X-Trace news.uni-berlin.de hl52dnNkRp9GDKRTJNo8yAlYHZE+ZnDBBkREAXB5YBog==
Return-Path <carroll@tjc.com>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url-ip:192.30.253.112/32': 0.07; 'url-ip:192.30.253.113/32': 0.07; 'url-ip:192.30.253/24': 0.07; 'url:github': 0.07; 'url:releases': 0.07; '"r")': 0.09; 'patent': 0.09; 'subject:ANN': 0.09; 'example:': 0.12; 'url- ip:192.30/16': 0.13; 'python': 0.15; '1.3.0': 0.16; 'entry.': 0.16; 'fetches': 0.16; 'license:': 0.16; 'owner:': 0.16; 'received:166.84': 0.16; 'received:166.84.1': 0.16; 'received:166.84.1.89': 0.16; 'received:mailbackend.panix.com': 0.16; 'received:panix.com': 0.16; 'release:': 0.16; 'subject:; ': 0.16; 'subject:access': 0.16; 'subject:status': 0.16; 'apache': 0.16; "python's": 0.17; 'dictionary': 0.20; 'received:166': 0.20; 'import': 0.24; 'input': 0.24; 'header:User-Agent:1': 0.25; 'filing': 0.25; 'flying': 0.25; 'retrieval': 0.25; 'module': 0.26; 'date:': 0.27; 'entry': 0.28; 'announce': 0.31; 'code:': 0.31; 'specified': 0.31; 'terry': 0.31; 'url:wiki': 0.37; 'xml': 0.37; 'skip:t 40': 0.37; 'url-ip:192/8': 0.37; 'charset:us-ascii': 0.38; 'system.': 0.38; 'subject:from': 0.39; 'website,': 0.61; 'information': 0.62; 'display:': 0.63; 'url:0': 0.63; 'license': 0.69; 'serial': 0.74; 'pictures': 0.78; 'successively': 0.84; 'url:v1': 0.84
X-X-Sender carroll@panix2.panix.com
User-Agent Alpine 2.21 (NEB 202 2017-01-01)
X-Mailman-Approved-At Sat, 24 Mar 2018 08:12:26 -0400
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.26
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <alpine.NEB.2.21.1803231750220.16704@panix2.panix.com>
Xref csiph.com comp.lang.python.announce:2794

Show key headers only | View raw


I am pleased to announce Plumage (Plumage-py) 1.3.0 ("Delius"). This is 
the first Plumage release to support Python 3.

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.

Example:

from Plumage import plumage
t = plumage.TSDRReq()
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[0]
    print("Owner:", current_owner_info["ApplicantName"])

Will print:

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"])

Will display:

    NO BUDDY
    ESPEX
    ZA
    SPANISH
    INQUISITION

New in this release:
* Support for Python 3

Code: https://github.com/codingatty/Plumage-py/releases/tag/V1.3.0
Docs: https://github.com/codingatty/Plumage/wiki/Plumage-Home
License: Apache Software License V2

-- 
Terry Carroll
carroll@tjc.com

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: Plumage 1.3.0; access trademark status info from USPTO Terry Carroll <carroll@tjc.com> - 2018-03-23 17:55 -0400

csiph-web