Skip to main content

A set of ORM-style clients for publicly available intellectual property data

Project description

patent_client_logo

Build codecov Documentation

PyPI PyPI - Python Versions PyPI - Downloads

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.

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

  • 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 the asyncio methods, simply use async with for iterators, and call any methods with a a prefix:

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

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

patent_client-3.2.10.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

patent_client-3.2.10-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file patent_client-3.2.10.tar.gz.

File metadata

  • Download URL: patent_client-3.2.10.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.6.0

File hashes

Hashes for patent_client-3.2.10.tar.gz
Algorithm Hash digest
SHA256 d22b2594669bdc0f78956bf20d725fe00ee0ab0abb0d1de496391573abebc3b8
MD5 a0bf6223b2ba5308abfb273cdbecd132
BLAKE2b-256 c8e8beb97703c7f96c2de250296f4103f0d478ca0f41c59a2f046403c99b9b1c

See more details on using hashes here.

File details

Details for the file patent_client-3.2.10-py3-none-any.whl.

File metadata

  • Download URL: patent_client-3.2.10-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.6.0

File hashes

Hashes for patent_client-3.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b95b56ce626e8f3e0dbe1044766b223305384fe57fe4f4b648bb5e277ea0e5b0
MD5 05e7f798b78faa7aaba672ac4f1c5dfa
BLAKE2b-256 da213672d6df6b3b96564e6dd282009a6970e5a2a53cc180738cc9c894a9ea74

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page