Skip to main content

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

Project description

https://travis-ci.org/parkerhancock/patent_client.svg?branch=master https://codecov.io/gh/parkerhancock/patent_client/branch/master/graph/badge.svg PyPI Package latest release PyPI Wheel Supported versions

Overview

A set of Django-ORM-Style accessors to publicly available intellectual property data.

Currently supports:

  • 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.

Documentation

The easiest way to get started is with Patent Client Examples. The examples repository has a list of Jupyter notebooks showing application examples of the patent_client library.

Docs, including a fulsome Getting Started are available on Read the Docs.

SUPER 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'

# Fetch from EPO Register (NOTE: This is broken right now :( )
#>>> epo = Epo.objects.get('EP3082535A1')
#>>> epo.title
#'AUTOMATIC FLUID DISPENSER'
#>>> epo.status
#[{'description': 'Examination is in progress', 'code': '14', 'date': '20180615'}]

Other Languages

Merely as a way to explore other languages and technologies, I have built a few (partial) ports of this library to other languages:

Development

To run the all tests run:

pytest

A developer guide is provided in the Documentation. Pull requests welcome!

Changelog

2.1.3 (2020-11-12)

  • Added support for USPTO’s Full Text databases

  • Added corresponding documentation

2.1.0 (2021-03-23)

  • Add support for document downloads from the USPTO PEDS interface

  • Fix flakey tests

  • Update dependencies

2.0.3 (2020-10-14)

  • Merge pull request ensuring that INPADOC produces consistent typing (PR #37)

  • Update dev dependencies in Pipfile

2.0.2 (2020-04-13)

  • Added foreign priority support back to PEDS API

  • Revised and simplified documentation to match v.2, including using Sphinx Autodoc

  • Added doctest support to documentation to confirm examples still work

  • Added docstrings throughout

  • Labeled some broken things as broken

2.0.1 (2020-03-12)

  • Fixed problem where Inpadoc was indexing improperly

2.0.0 (2020-03-11)

  • Major update with breaking API changes

  • Refactored all API’s to use requests_cache rather than custom caching scheme

  • Uses Marshmallow for data validation, and memory-efficient dataclasses for all objects

  • As part of the above, all API’s now re-use the same requests.Session() object

  • Deleted a ton of unnecessary code (Deleted code == debugged code)

  • NOTE: Documentation not yet up-to-date. That is the next project

0.4.0 (2019-01-30)

  • Renewed commitment to adhere to semantic versioning

  • Added several new synthetic data attributes, including expiration date calculations

  • General updates and improvements, including an overhaul of the base Manager and Model classes

0.2.3 (2018-11-02)

  • Added parser for Inpadoc claims so they have an object repesentation

0.1.5 (2018-10-25)

  • Massive refactor of OPS client

0.1.4 (2018-10-24)

  • Support for USPTO Applications, Assignments, and PTAB documents

  • Support for EPO Inpadoc and EPO Register

  • Initial Installation and Getting Started Documentation

0.0.1 (2018-10-15)

  • First release on PyPI.

  • Support for EPO OPS (except Classification data)

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-2.2.0.tar.gz (157.3 kB view details)

Uploaded Source

Built Distribution

patent_client-2.2.0-py2.py3-none-any.whl (158.1 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: patent_client-2.2.0.tar.gz
  • Upload date:
  • Size: 157.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.1

File hashes

Hashes for patent_client-2.2.0.tar.gz
Algorithm Hash digest
SHA256 adc22400e5ed0cb9c2a83878890281e8ddcbf409087f83d60dedcae6c7e778f2
MD5 39834806f903c7dc3667521775450f75
BLAKE2b-256 079d8ef7e72f2e0f93b16a67374af6677d1ce9c00790ed5cb096d7d9ef9fa375

See more details on using hashes here.

File details

Details for the file patent_client-2.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: patent_client-2.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 158.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.1

File hashes

Hashes for patent_client-2.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d8e8dc640516e9ae090844b80b7131809b1b7be29b8dd814287266acb9bfa92e
MD5 7be2759fd9f36099c8ef5e5fd4e5c6b1
BLAKE2b-256 4e3b048a6deed1fb491beb1719845b73a959f4579573e5fdcc85f2e9c856fcbf

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