A set of ORM-style clients for publicly available intellectual property data
Project description
Summary
A powerful library for accessing intellectual property, featuring:
- 🍰 Ease of use: All sources use a simple unified API inspired by Django-ORM.
- 🐼 Pandas Integration: Results are easily castable to Pandas Dataframes and Series.
- 🚀 Performance: Fetched data is cached using the excellent requests-cache library for super-fast queries.
Docs, including a fulsome Getting Started and User Guide are available on Read the Docs. The Examples folder includes examples of using patent_client
for
many common IP tasks
Coverage
-
United States Patent & Trademark Office
- Patent Full Text Databases - Full Support
- Patent Examination Data - Full Support
- Patent Assignment Data - Lookup Support
- Patent Trial & Appeal Board API v2 - Supports Proceedings, Decisions, and Documents
-
United States International Trade Commission
- Electronic Document Information System (EDIS) API - Partial Support (no document downloads)
-
European Patent Office - Open Patent Services
- Inpadoc - Full Support
- EPO Register - No Support (in progress)
- Classification - No Support
- Free software: Apache Software License 2.0
Installation
pip install patent_client
If you only want access to USPTO resources, you're done! However, additional setup is necessary to access EPO Inpadoc and EPO Register resources. See the Docs.
Quick Start
To use the project:
# Import the model classes you need
>>> from patent_client import Inpadoc, Assignment, USApplication, Patent
# Fetch US Patents with the word "tennis" in their title issued in 2010
>>> pats = Patent.objects.filter(title="tennis", issue_date="2010-01-01->2010-12-31")
>>> len(pats) > 10
True
# Look at the first one
>>> pats[0].publication
Patent(publication_number=7841958, publication_date=2010-11-30, title=Modular table tennis game)
# Fetch US Applications
>>> app = USApplication.objects.get('15710770')
>>> app.patent_title
'Camera Assembly with Concave-Shaped Front Face'
# Fetch from USPTO Assignments
>>> assignments = Assignment.objects.filter(assignee='Google')
>>> len(assignments) > 23000
True
>>> assignment = Assignment.objects.get('47086-788')
>>> assignment.conveyance_text
'ASSIGNMENT OF ASSIGNORS INTEREST'
# Fetch from INPADOC
>>> pub = Inpadoc.objects.get('EP3082535A1')
>>> pub.biblio.title
'AUTOMATIC FLUID DISPENSER'
Documentation
Docs, including a fulsome Getting Started are available on Read the Docs.
Development
To run the all tests run:
pytest
A developer guide is provided in the Documentation. Pull requests welcome!
Related projects
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file patent_client-3.0.1.tar.gz
.
File metadata
- Download URL: patent_client-3.0.1.tar.gz
- Upload date:
- Size: 236.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.0b1 CPython/3.10.6 Linux/5.15.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89722c1ca6cf7ac1f4c2de063cd347549847a9afab104942c2b7792123547914 |
|
MD5 | 95dbc94fb27c6f8f6bf571a1c66bc764 |
|
BLAKE2b-256 | bd8feb8b5a80155ec3d548caa895705e5423c52dd3ad8be6498b3b92c007ff27 |
File details
Details for the file patent_client-3.0.1-py3-none-any.whl
.
File metadata
- Download URL: patent_client-3.0.1-py3-none-any.whl
- Upload date:
- Size: 293.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.0b1 CPython/3.10.6 Linux/5.15.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51768595b4d31b34402a3765cd303c84b8ed5fefcfece819d0d43f8ebdc0e1ea |
|
MD5 | bf850e6379f8449a6632868bceca53b1 |
|
BLAKE2b-256 | 6b364c76ed84a708c56165cc005a23afaf8429fae2b5521aed92f14b90f875f1 |