Last updated:
0 purchases
patentclient 5.0.16
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 retrieved using the httpx library with native HTTP/2 and asyncio support, and cached using the hishel library for super-fast queries, and yankee for data extraction.
🌐 Async/Await Support: All API's (optionally!) support the async/await syntax.
🔮 Pydantic v2 Support: All models retrieved are Pydantic v2 models with all the goodness that comes with them!
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
⭐ New in v5 ⭐
Version 5 brings a new and more reliable way to provide synchronous and asynchronous access to the various APIs.
In version 5, like in version 3, you can just from patent_client import [Model] and get a synchronous version
of the model. No asynchronous methods or functionality at all. Or you can do from patent_client._async import [Model]
and get an asynchronous version of the model.
Version 5 also brings support for the USPTO's new Open Data Portal, a system currently in beta that is scheduled to replace the current Patent Examination Data System in late 2024.
Coverage
United States Patent & Trademark Office
Patent Examination Data - Full Support
Open Data Portal - Full Support
Global Dossier - Full Support
Patent Assignment Data - Lookup Support
Patent Trial & Appeal Board API v2 - Supports Proceedings, Decisions, and Documents
Patent Public Search - Full Support
Bulk Data Storage System - Full Support
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
# 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'
Async Quick Start
To use async with Patent Client, just import the classes you need from the async module. All methods
and iterators that access data or create a network request are asynchronous.
from patent_client._async import USApplication
apps = list()
async for app in USApplication.objects.filter(first_named_applicant="Google"):
apps.append(app)
app = await USApplication.objects.aget("16123456")
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
Python EPO OPS Client
Google Public Patent Data
PatentsView API Wrapper
USPTO Scrapy Scraper
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.