Skip to content

Python package to access USPTO bulk data in rectangular format

License

Notifications You must be signed in to change notification settings

JYProjs/patentpy

Repository files navigation

patentpy: Access USPTO data in Rectangular Format

CI status
Docker CircleCI Build Status
Code coverage codecov

License: MIT Downloads

Overview

The patentpy package allows easy access to USPTO (United States Patent and Trademark Office) bulk patent data in rectangular format. By downloading, converting, and storing patent data directly from the USPTO website, patentpy minimizes the work needed to acquire usable data, allowing users to focus on analyzing the data. The R version of this can be found at https://github.com/JYProjs/patentr.

Installation

# install from PyPI
pip install patentpy

# To install development version
# clone repository then run follow code from its parent directory
pip install ./patentpy

Note: This package utilizes pybind11 to wrap a custom txt parser written in C++ code, lxml to parse xml files, and pandas for the option of presenting uspto bulk data as a dataframe.

Sample code

Bulk patent data in TXT or XML format (1976+) can be downloaded using the year and week (within each year) as follows:

# import get_bulk_patent_data functionality
from patentpy.acquire import get_bulk_patent_data


# download patents from the first week of 1976 and get data frame
patent_data = get_bulk_patent_data(year = 1976, week = 1)

# download patents from the last 5 weeks of 1980
# and store in a CSV file named "patent-data.csv"
# Note: uspto patent data is reported on Tuesdays and 1980
# has 53 Tuesdays, hence, 53 weeks worth of data
get_bulk_patent_data(year = [1980] * 5, week = [i for i in range(49,54)], output_file = "patent-data.csv")

Functionality

Data collected for each patent

  • unique identifier (patent number - WKU)
  • application date
  • patent issue date
  • patent title
  • inventor name(s)
  • assignee name(s)
  • ICL classification (IPC or Locarno)
  • referenced patent numbers
  • claims

API Documentation

https://jyprojs.github.io/patentpy/index.html

Contribute

To contribute to patentpy, you can create issues for any bugs/suggestions on the issues page. You can also fork the patentpy repository and create pull requests to add features you think will be useful for users.

Citation

Yu J, Wadhwa RR, Beltz H, Desai MY, Scott JG, Érdi P. patentpy: Access USPTO Bulk Data in Rectangular Format. 2021; Python package version 0.1.0. URL https://github.com/JYProjs/patentpy.