pyUSPTO 0.5.1__tar.gz → 0.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyuspto-0.5.3/.devcontainer/devcontainer-lock.json +14 -0
- pyuspto-0.5.3/.devcontainer/devcontainer.json +30 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/workflows/publish-docs.yaml +1 -1
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.gitignore +1 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/CONTRIBUTING.md +1 -1
- {pyuspto-0.5.1 → pyuspto-0.5.3}/PKG-INFO +14 -3
- {pyuspto-0.5.1 → pyuspto-0.5.3}/README.md +11 -0
- pyuspto-0.5.3/docs/source/about.rst +58 -0
- pyuspto-0.5.3/docs/source/api/clients/bulk_data.rst +268 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/conf.py +8 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/index.rst +2 -1
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/enriched_citations_example.py +6 -9
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/patent_data_example.py +7 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/pyproject.toml +12 -2
- {pyuspto-0.5.1 → pyuspto-0.5.3}/requirements-dev.txt +19 -44
- {pyuspto-0.5.1 → pyuspto-0.5.3}/requirements.txt +9 -7
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/patent_data.py +69 -7
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO.egg-info/PKG-INFO +14 -3
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO.egg-info/SOURCES.txt +3 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO.egg-info/requires.txt +2 -2
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_patent_data_clients.py +97 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_petition_decision_models.py +58 -27
- pyuspto-0.5.1/docs/source/api/clients/bulk_data.rst +0 -7
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/ISSUE_TEMPLATE/documentation-updates.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/dependabot.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/workflows/codeql.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/workflows/publish-to-test-pypi.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.github/workflows/python-tests.yml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/.readthedocs.yaml +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/ADVANCED.md +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/CHANGELOG.md +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/CODE_OF_CONDUCT.md +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/LICENSE +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/_version.pyi +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/Makefile +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/_static/.gitkeep +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/advanced.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/enriched_citations.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/index.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/oa_actions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/oa_citations.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/oa_rejections.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/patent_data.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/petition_decisions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/ptab_appeals.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/ptab_interferences.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/clients/ptab_trials.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/config/config.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/config/http_config.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/config/index.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/exceptions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/index.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/base.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/bulk_data.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/enriched_citations.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/index.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/oa_actions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/oa_citations.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/oa_rejections.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/patent_data.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/petition_decisions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/ptab.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/models/utils.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/api/warnings.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/configuration.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/development.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/bulk_data.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/enriched_citations.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/ifw_example.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/index.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/oa_actions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/oa_citations.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/oa_rejections.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/patent_data.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/petition_decisions.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/ptab_appeals.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/ptab_interferences.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/examples/ptab_trials.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/installation.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/docs/source/quickstart.rst +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/bulk_data_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/error_handling_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/ifw_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/oa_actions_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/oa_citations_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/oa_rejections_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/petition_decisions_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/ptab_appeals_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/ptab_interferences_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/examples/ptab_trials_example.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/pyUSPTO.code-workspace +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/setup.cfg +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/base.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/bulk_data.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/enriched_citations.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/oa_actions.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/oa_citations.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/oa_rejections.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/petition_decisions.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/ptab_appeals.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/ptab_interferences.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/clients/ptab_trials.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/config.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/exceptions.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/http_config.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/base.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/bulk_data.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/enriched_citations.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/oa_actions.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/oa_citations.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/oa_rejections.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/patent_data.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/petition_decisions.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/ptab.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/models/utils.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/py.typed +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/utils/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO/warnings.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO.egg-info/dependency_links.txt +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO.egg-info/top_level.txt +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/src/pyUSPTO.egg-info/zip-safe +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_base.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_bulk_data_clients.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_enriched_citation_clients.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_oa_actions_clients.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_oa_citations_clients.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_oa_rejections_clients.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_petition_decision_clients.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_ptab_appeals_client.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_ptab_interferences_client.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/clients/test_ptab_trials_client.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/conftest.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/conftest.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_bulk_data_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_enriched_citations_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_oa_actions_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_oa_citations_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_oa_rejections_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_patent_data_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_petition_decisions_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_ptab_appeals_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_ptab_interferences_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/integration/test_ptab_trials_integration.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_bulk_data_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_enriched_citation_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_oa_actions_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_oa_citations_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_oa_rejections_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_patent_data_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_ptab_models.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/models/test_utils.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/test_config.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/test_edge_cases.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/test_exceptions.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/test_http_config.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/test_init.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/test_version.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tests/utils/__init__.py +0 -0
- {pyuspto-0.5.1 → pyuspto-0.5.3}/tox.ini +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"features": {
|
|
3
|
+
"ghcr.io/devcontainers/features/git:1": {
|
|
4
|
+
"version": "1.3.5",
|
|
5
|
+
"resolved": "ghcr.io/devcontainers/features/git@sha256:27905dc196c01f77d6ba8709cb82eeaf330b3b108772e2f02d1cd0d826de1251",
|
|
6
|
+
"integrity": "sha256:27905dc196c01f77d6ba8709cb82eeaf330b3b108772e2f02d1cd0d826de1251"
|
|
7
|
+
},
|
|
8
|
+
"ghcr.io/devcontainers/features/node:1": {
|
|
9
|
+
"version": "1.7.1",
|
|
10
|
+
"resolved": "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6",
|
|
11
|
+
"integrity": "sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pyUSPTO",
|
|
3
|
+
"build": { "dockerfile": "Dockerfile" },
|
|
4
|
+
"features": {
|
|
5
|
+
"ghcr.io/devcontainers/features/git:1": {},
|
|
6
|
+
"ghcr.io/devcontainers/features/node:2": {}
|
|
7
|
+
},
|
|
8
|
+
"mounts": [
|
|
9
|
+
"source=pyuspto-claude-home,target=/home/vscode/.claude,type=volume"
|
|
10
|
+
],
|
|
11
|
+
"postCreateCommand": "sudo chown vscode /home/vscode/.claude && touch /home/vscode/.claude/claude.json && ln -sf /home/vscode/.claude/claude.json /home/vscode/.claude.json && pip install -e \".[dev]\"",
|
|
12
|
+
"customizations": {
|
|
13
|
+
"vscode": {
|
|
14
|
+
"extensions": [
|
|
15
|
+
"ms-python.python",
|
|
16
|
+
"ms-python.mypy-type-checker",
|
|
17
|
+
"charliermarsh.ruff"
|
|
18
|
+
],
|
|
19
|
+
"settings": {
|
|
20
|
+
"python.defaultInterpreterPath": "/usr/local/bin/python",
|
|
21
|
+
"python.testing.pytestEnabled": true,
|
|
22
|
+
"python.testing.pytestArgs": ["tests", "--ignore=tests/integration"]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"remoteEnv": {
|
|
27
|
+
"USPTO_API_KEY": "${localEnv:USPTO_API_KEY}",
|
|
28
|
+
"ENABLE_INTEGRATION_TESTS": "${localEnv:ENABLE_INTEGRATION_TESTS}"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing to pyUSPTO
|
|
2
2
|
|
|
3
|
-
We welcome contributions from the community! pyUSPTO is designed to be a useful tool for interacting with USPTO APIs, and your input helps make it better for everyone.
|
|
3
|
+
We welcome contributions from the community! pyUSPTO is designed to be a useful tool for interacting with USPTO APIs, and your input helps make it better for everyone. The repository is hosted on [GitHub](https://github.com/DunlapCoddingPC/pyUSPTO).
|
|
4
4
|
|
|
5
5
|
## Ways to Contribute
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyUSPTO
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.3
|
|
4
4
|
Summary: A Modern Python client for accessing the United States Patent and Trademark Office (USPTO) Open Data Portal (ODP) APIs.
|
|
5
5
|
Author-email: Andrew Piechocki <apiechocki@dunlapcodding.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -42,7 +42,8 @@ Description-Content-Type: text/markdown
|
|
|
42
42
|
License-File: LICENSE
|
|
43
43
|
Requires-Dist: requests>=2.32.5
|
|
44
44
|
Requires-Dist: typing-extensions>=4.15.0; python_version < "3.11"
|
|
45
|
-
Requires-Dist: tzdata>=
|
|
45
|
+
Requires-Dist: tzdata>=2026.1
|
|
46
|
+
Requires-Dist: urllib3>=2.0.0
|
|
46
47
|
Provides-Extra: test
|
|
47
48
|
Requires-Dist: pytest>=9.0.2; extra == "test"
|
|
48
49
|
Requires-Dist: pytest-cov>=7.0.0; extra == "test"
|
|
@@ -51,7 +52,6 @@ Requires-Dist: typing_extensions>=4.15.0; extra == "test"
|
|
|
51
52
|
Provides-Extra: docs
|
|
52
53
|
Requires-Dist: sphinx>=9.1.0; extra == "docs"
|
|
53
54
|
Requires-Dist: sphinx-rtd-theme>=3.1.0; extra == "docs"
|
|
54
|
-
Requires-Dist: sphinx_immaterial>=0.13.9; extra == "docs"
|
|
55
55
|
Requires-Dist: sphinx-autodoc-typehints>=3.9.5; extra == "docs"
|
|
56
56
|
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "docs"
|
|
57
57
|
Requires-Dist: myst-parser>=5.0.0; extra == "docs"
|
|
@@ -165,6 +165,17 @@ config = USPTOConfig(api_key="your_api_key_here")
|
|
|
165
165
|
> [!TIP]
|
|
166
166
|
> For comprehensive examples with detailed explanations, see the [`examples/`](examples/) directory.
|
|
167
167
|
|
|
168
|
+
1. [Patent Data API](#patent-data-api)
|
|
169
|
+
2. [Bulk Data API](#bulk-data-api)
|
|
170
|
+
3. [Final Petition Decisions API](#final-petition-decisions-api)
|
|
171
|
+
4. [PTAB Trials API](#ptab-trials-api)
|
|
172
|
+
5. [PTAB Appeals API](#ptab-appeals-api)
|
|
173
|
+
6. [PTAB Interferences API](#ptab-interferences-api)
|
|
174
|
+
7. [Enriched Citations API](#enriched-citations-api)
|
|
175
|
+
8. [Office Action Text Retrieval API](#office-action-text-retrieval-api)
|
|
176
|
+
9. [Office Action Rejections API](#office-action-rejections-api)
|
|
177
|
+
10. [Office Action Citations API](#office-action-citations-api)
|
|
178
|
+
|
|
168
179
|
### Patent Data API
|
|
169
180
|
|
|
170
181
|
```python
|
|
@@ -98,6 +98,17 @@ config = USPTOConfig(api_key="your_api_key_here")
|
|
|
98
98
|
> [!TIP]
|
|
99
99
|
> For comprehensive examples with detailed explanations, see the [`examples/`](examples/) directory.
|
|
100
100
|
|
|
101
|
+
1. [Patent Data API](#patent-data-api)
|
|
102
|
+
2. [Bulk Data API](#bulk-data-api)
|
|
103
|
+
3. [Final Petition Decisions API](#final-petition-decisions-api)
|
|
104
|
+
4. [PTAB Trials API](#ptab-trials-api)
|
|
105
|
+
5. [PTAB Appeals API](#ptab-appeals-api)
|
|
106
|
+
6. [PTAB Interferences API](#ptab-interferences-api)
|
|
107
|
+
7. [Enriched Citations API](#enriched-citations-api)
|
|
108
|
+
8. [Office Action Text Retrieval API](#office-action-text-retrieval-api)
|
|
109
|
+
9. [Office Action Rejections API](#office-action-rejections-api)
|
|
110
|
+
10. [Office Action Citations API](#office-action-citations-api)
|
|
111
|
+
|
|
101
112
|
### Patent Data API
|
|
102
113
|
|
|
103
114
|
```python
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
About pyUSPTO
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
pyUSPTO is a Python client library for interacting with the `USPTO Open Data Portal (ODP) <https://data.uspto.gov/home>`_ APIs.
|
|
5
|
+
The library handles authentication, HTTP session management, pagination, and response deserialization,
|
|
6
|
+
so you can work directly with typed Python objects instead of raw JSON.
|
|
7
|
+
|
|
8
|
+
The source code for the pyUSPTO library is available on `GitHub <https://github.com/DunlapCoddingPC/pyUSPTO>`_ and is licensed under the MIT License. Contributions are welcome! Please see the :doc:`contributing guidelines <development>`.
|
|
9
|
+
|
|
10
|
+
What is the USPTO Open Data Portal?
|
|
11
|
+
------------------------------------
|
|
12
|
+
|
|
13
|
+
The USPTO Open Data Portal is the United States Patent and Trademark Office's primary API platform
|
|
14
|
+
for publicly available patent and trademark data. It provides programmatic access to patent applications,
|
|
15
|
+
grants, bulk data downloads, PTAB proceedings, Office Actions, and more.
|
|
16
|
+
|
|
17
|
+
.. note::
|
|
18
|
+
|
|
19
|
+
An API key is required to use the ODP APIs. You can register for one at the
|
|
20
|
+
`USPTO Open Data Portal <https://data.uspto.gov/myodp/landing>`_.
|
|
21
|
+
|
|
22
|
+
Available Clients
|
|
23
|
+
-----------------
|
|
24
|
+
|
|
25
|
+
pyUSPTO provides the following clients:
|
|
26
|
+
|
|
27
|
+
.. list-table::
|
|
28
|
+
:header-rows: 1
|
|
29
|
+
:widths: 35 65
|
|
30
|
+
|
|
31
|
+
* - Client
|
|
32
|
+
- Description
|
|
33
|
+
* - :class:`~pyUSPTO.PatentDataClient`
|
|
34
|
+
- Search patent applications and grants, retrieve file wrappers and Image File Wrapper (IFW) documents, and download individual documents and publications.
|
|
35
|
+
* - :class:`~pyUSPTO.BulkDataClient`
|
|
36
|
+
- Search and download bulk data products from the ODP Bulk Dataset Directory, including patent grants, applications, assignments, and research datasets.
|
|
37
|
+
* - :class:`~pyUSPTO.FinalPetitionDecisionsClient`
|
|
38
|
+
- Search and retrieve Final Petition Decisions issued by the USPTO Director.
|
|
39
|
+
* - :class:`~pyUSPTO.PTABTrialsClient`
|
|
40
|
+
- Search PTAB trial proceedings (IPR, PGR, CBM, and derivation), documents, and decisions.
|
|
41
|
+
* - :class:`~pyUSPTO.PTABAppealsClient`
|
|
42
|
+
- Search PTAB ex parte appeal decisions by application number, technology center, examiner, and more.
|
|
43
|
+
* - :class:`~pyUSPTO.PTABInterferencesClient`
|
|
44
|
+
- Search PTAB interference decisions.
|
|
45
|
+
* - :class:`~pyUSPTO.EnrichedCitationsClient`
|
|
46
|
+
- Search enriched citation data linking cited references to the specific claims and rejections they support.
|
|
47
|
+
* - :class:`~pyUSPTO.OAActionsClient`
|
|
48
|
+
- Full-text search of Office Action documents, including body text and structured section data.
|
|
49
|
+
* - :class:`~pyUSPTO.OARejectionsClient`
|
|
50
|
+
- Search rejection-level data from Office Actions, including rejection type, claims, and examiner metadata.
|
|
51
|
+
* - :class:`~pyUSPTO.OACitationsClient`
|
|
52
|
+
- Search citation data from Office Actions derived from Form PTO-892, Form PTO-1449, and Office Action text.
|
|
53
|
+
|
|
54
|
+
Requirements
|
|
55
|
+
------------
|
|
56
|
+
|
|
57
|
+
- Python 3.10 or higher
|
|
58
|
+
- A USPTO Open Data Portal API key
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
Bulk Data Client
|
|
2
|
+
================
|
|
3
|
+
|
|
4
|
+
.. automodule:: pyUSPTO.clients.bulk_data
|
|
5
|
+
:members:
|
|
6
|
+
:undoc-members:
|
|
7
|
+
:show-inheritance:
|
|
8
|
+
|
|
9
|
+
.. _bulk-data-product-identifiers:
|
|
10
|
+
|
|
11
|
+
Bulk Data Product Identifiers
|
|
12
|
+
------------------------------
|
|
13
|
+
|
|
14
|
+
The table below lists all product identifiers available in the USPTO Open Data Portal Bulk Dataset Directory.
|
|
15
|
+
Pass these identifiers to :meth:`~pyUSPTO.BulkDataClient.get_product_by_id` or use them as a filter
|
|
16
|
+
when calling :meth:`~pyUSPTO.BulkDataClient.search_products`.
|
|
17
|
+
|
|
18
|
+
.. note::
|
|
19
|
+
|
|
20
|
+
This table reflects the Bulk Dataset Directory as of 2026-Mar-30 (47 products).
|
|
21
|
+
Source: `2026 Bulk Data Product Descriptions <https://data.uspto.gov/documents/documents/2026BulkDataProductDescriptions.xlsx>`_.
|
|
22
|
+
USPTO adds new products over time; use :meth:`~pyUSPTO.BulkDataClient.search_products`
|
|
23
|
+
without filters to retrieve the current full list.
|
|
24
|
+
|
|
25
|
+
.. list-table::
|
|
26
|
+
:header-rows: 1
|
|
27
|
+
:widths: 10 25 15 8 42
|
|
28
|
+
|
|
29
|
+
* - Identifier
|
|
30
|
+
- Name
|
|
31
|
+
- Dates Available
|
|
32
|
+
- File Types
|
|
33
|
+
- Description
|
|
34
|
+
* - OACT
|
|
35
|
+
- Office Actions Weekly Archives
|
|
36
|
+
- 2023-Dec-18 – Present
|
|
37
|
+
- JSON
|
|
38
|
+
- Full-text of public Office Actions bundled as JSON in downloadable weekly ZIP files. Data covers 2020-01-06 to present.
|
|
39
|
+
* - PTFWPRD
|
|
40
|
+
- Patent File Wrapper (Bulk Datasets) – Daily
|
|
41
|
+
- 2026-Mar-23 – Present
|
|
42
|
+
- JSON
|
|
43
|
+
- Bibliographic and assignment static patent data as daily delta increments.
|
|
44
|
+
* - PTFWPRE
|
|
45
|
+
- Patent File Wrapper (Bulk Datasets) – Weekly
|
|
46
|
+
- 2001-Jan-01 – Present
|
|
47
|
+
- JSON
|
|
48
|
+
- Bibliographic and assignment static patent data as weekly datasets in 10-year increments.
|
|
49
|
+
* - TRTDXFAP
|
|
50
|
+
- Trademark Full Text XML Data (No Images) – Daily Applications
|
|
51
|
+
- 2025-Jan-01 – Present
|
|
52
|
+
- XML
|
|
53
|
+
- Pending and registered trademark text data (no images) for the current calendar year per the U.S. Trademark Applications Version 2.3 DTD.
|
|
54
|
+
* - TTABTDXF
|
|
55
|
+
- Trademark Full Text XML Data (No Images) – Daily TTAB
|
|
56
|
+
- 2025-Jan-01 – Present
|
|
57
|
+
- XML
|
|
58
|
+
- TTAB text data (no images) for the current calendar year per the TTAB Version 1.0 DTD.
|
|
59
|
+
* - PTGRMP2
|
|
60
|
+
- Patent Grant Multi-page PDF Images
|
|
61
|
+
- 1790-Jul-31 – Present
|
|
62
|
+
- PDF
|
|
63
|
+
- Multi-page PDF images of each patent grant issued weekly (Tuesdays) from 1790 to present. Includes Certificates-of-Correction and rescanned older grants.
|
|
64
|
+
* - APPXML
|
|
65
|
+
- Patent Application Full-Text Data (No Images)
|
|
66
|
+
- 2001-Mar-15 – Present
|
|
67
|
+
- XML
|
|
68
|
+
- Concatenated full-text XML of non-provisional utility and plant patent applications published weekly (Thursdays).
|
|
69
|
+
* - APPMP2
|
|
70
|
+
- Patent Application Multi-Page PDF Images
|
|
71
|
+
- 2001-Mar-15 – Present
|
|
72
|
+
- PDF
|
|
73
|
+
- Multi-page PDF images of non-provisional utility and plant patent applications published weekly (Thursdays).
|
|
74
|
+
* - APPBLXML
|
|
75
|
+
- Patent Application Bibliographic (Front Page) Data
|
|
76
|
+
- 2001-Mar-15 – Present
|
|
77
|
+
- XML
|
|
78
|
+
- Concatenated bibliographic (front page) text of patent applications published weekly (Thursdays); excludes images. Subset of APPXML.
|
|
79
|
+
* - APPDT
|
|
80
|
+
- Patent Application Full Text Data with Embedded TIFF Images
|
|
81
|
+
- 2001-Mar-15 – Present
|
|
82
|
+
- XML
|
|
83
|
+
- Full text, images/drawings, and complex work units (tables, math, chemical structures, genetic sequences) of patent applications published weekly (Thursdays).
|
|
84
|
+
* - PTMNFEE2
|
|
85
|
+
- Patent Maintenance Fee Events
|
|
86
|
+
- 2026-Jan-06 – Present
|
|
87
|
+
- ASCII
|
|
88
|
+
- Cumulative weekly file of recorded maintenance fee events for patents granted from 1981-Sep-01 to present.
|
|
89
|
+
* - PTGRDT
|
|
90
|
+
- Patent Grant Full Text Data with Embedded TIFF Images (Grant Red Book / WIPO ST.36)
|
|
91
|
+
- 2002-Jan-01 – Present
|
|
92
|
+
- XML
|
|
93
|
+
- Full text, images/drawings, and complex work units of patent grants issued weekly (Tuesdays).
|
|
94
|
+
* - GZLST
|
|
95
|
+
- Patent Official Gazettes
|
|
96
|
+
- 2002-Jul-02 – Present
|
|
97
|
+
- HTML
|
|
98
|
+
- Weekly bibliographic information, representative claim, and drawing for each patent grant, plus USPTO Notices.
|
|
99
|
+
* - PTGRXML
|
|
100
|
+
- Patent Grant Full-Text Data (No Images)
|
|
101
|
+
- 2002-Jan-01 – Present
|
|
102
|
+
- ASCII, XML
|
|
103
|
+
- Concatenated full-text of patent grant documents issued weekly (Tuesdays); excludes images.
|
|
104
|
+
* - PTBLXML
|
|
105
|
+
- Patent Grant Bibliographic (Front Page) Text Data
|
|
106
|
+
- 2002-Jan-01 – Present
|
|
107
|
+
- ASCII, XML
|
|
108
|
+
- Concatenated bibliographic (front page) text of patent grant documents issued weekly (Tuesdays); excludes images. Subset of PTGRXML.
|
|
109
|
+
* - CPCMCPT
|
|
110
|
+
- CPC Master Classification Files for U.S. Patent Grants
|
|
111
|
+
- 2025-Jun-17 – Present
|
|
112
|
+
- TXT, XML
|
|
113
|
+
- CPC classification data for all U.S. patent grants from 1790-Jul-31 to present, updated monthly.
|
|
114
|
+
* - CPCMCAPP
|
|
115
|
+
- CPC Master Classification Files for U.S. Patent Applications
|
|
116
|
+
- 2025-Jun-17 – Present
|
|
117
|
+
- TXT, XML
|
|
118
|
+
- CPC classification data for all U.S. patent applications published from 2001-Mar-15 to present, updated monthly.
|
|
119
|
+
* - PVPGPUBTXT
|
|
120
|
+
- PatentsView Pre-Grant Publication Long Text Data
|
|
121
|
+
- 2001-Mar-15 – Present
|
|
122
|
+
- TSV
|
|
123
|
+
- Annual files of long-text fields (Brief Summary, Claims, Detail Description, Drawing Description) for pre-grant publications from 2001 to present.
|
|
124
|
+
* - PVGPATTXT
|
|
125
|
+
- PatentsView Granted Patent Long Text Data
|
|
126
|
+
- 1976-Jan-01 – Present
|
|
127
|
+
- TSV
|
|
128
|
+
- Annual files of long-text fields (Brief Summary, Claims, Detail Description, Drawing Description) for granted patents from 1976 to present.
|
|
129
|
+
* - PVPGPUBDIS
|
|
130
|
+
- PatentsView Pre-Grant Publication Disambiguated Data
|
|
131
|
+
- 2001-Mar-15 – Present
|
|
132
|
+
- TSV
|
|
133
|
+
- 25 files for pre-grant publications from 2001 to present, including disambiguated applicants, assignees, inventors, locations, technology categories, and government interest statements.
|
|
134
|
+
* - PVGPATDIS
|
|
135
|
+
- PatentsView Granted Patent Disambiguated Data
|
|
136
|
+
- 1976-Jan-01 – Present
|
|
137
|
+
- TSV
|
|
138
|
+
- 35 files for granted patents from 1976 to present, including disambiguated assignees, inventors, locations, cited prior art, examiner name, and government interest statements.
|
|
139
|
+
* - PVSORTED
|
|
140
|
+
- PatentsView Sorted Data (Beta)
|
|
141
|
+
- 1976-Jan-01 – Present
|
|
142
|
+
- TSV
|
|
143
|
+
- Reorganized bibliographic data correcting inventor/applicant/assignee ordering inconsistencies introduced by the Leahy-Smith America Invents Act.
|
|
144
|
+
* - PVANNUAL
|
|
145
|
+
- PatentsView Annualized Patent Data
|
|
146
|
+
- 1976-Jan-01 – Present
|
|
147
|
+
- CSV
|
|
148
|
+
- Small annual CSV files derived from PatentsView Granted Patent Disambiguated Data, including inventor gender attribution.
|
|
149
|
+
* - TRTYRAP
|
|
150
|
+
- Trademark Full Text XML Data (No Images) – Annual Applications
|
|
151
|
+
- 1884-Apr-07 – Present
|
|
152
|
+
- XML
|
|
153
|
+
- Backfile of pending and registered trademark text data (no images) from 1884-Apr through 2025-Dec per the U.S. Trademark Applications Version 2.3 DTD.
|
|
154
|
+
* - TRTDXFAG
|
|
155
|
+
- Trademark Full Text XML Data (No Images) – Daily Assignments
|
|
156
|
+
- 2025-Jan-01 – Present
|
|
157
|
+
- XML
|
|
158
|
+
- Trademark assignment text data (no images) for the current calendar year per the Trademark Assignments Version 0.4 DTD.
|
|
159
|
+
* - PASDL
|
|
160
|
+
- Patent Assignment XML (Ownership) Text – Daily
|
|
161
|
+
- 2025-Jan-01 – Present
|
|
162
|
+
- XML
|
|
163
|
+
- Daily patent assignment text (no images) for the current calendar year derived from USPTO assignment recordations.
|
|
164
|
+
* - PASYR
|
|
165
|
+
- Patent Assignment XML (Ownership) Text – Annual
|
|
166
|
+
- 1980-Jan-01 – Present
|
|
167
|
+
- XML
|
|
168
|
+
- Annual backfile of patent assignment text (no images) from 1980-Aug through 2025-Dec.
|
|
169
|
+
* - ECOPATAI
|
|
170
|
+
- Artificial Intelligence Patent Dataset (AIPD)
|
|
171
|
+
- 2021-Jul-30 – 2026-Feb-03
|
|
172
|
+
- DTA, TSV
|
|
173
|
+
- AI patent landscape data classifying 13.2M granted patents and PGPubs from 1976–2020 across eight AI component technologies using machine learning models.
|
|
174
|
+
* - TRTYRAG
|
|
175
|
+
- Trademark Full Text XML Data (No Images) – Annual Assignments
|
|
176
|
+
- 1951-Oct-02 – Present
|
|
177
|
+
- XML
|
|
178
|
+
- Backfile of trademark assignment text data from 1955-Jan-03 through 2025-Dec per the Trademark Assignments Version 0.4 DTD.
|
|
179
|
+
* - TTABYR
|
|
180
|
+
- Trademark Full Text XML Data (No Images) – Annual TTAB
|
|
181
|
+
- 1951-Oct-02 – Present
|
|
182
|
+
- XML
|
|
183
|
+
- Backfile of TTAB text data from 1951-Oct-02 through 2025-Dec per the TTAB Version 1.0 DTD.
|
|
184
|
+
* - PEDSJSON
|
|
185
|
+
- Patent Examination Data System (Bulk Datasets) – JSON
|
|
186
|
+
- 1900-Jan-01 – 2000-Dec-31
|
|
187
|
+
- JSON
|
|
188
|
+
- Static snapshot (created 2025-Mar-17) of patent application data from 1900–2000, migrated from the retired PEDS system, in 20-year increment downloads.
|
|
189
|
+
* - PEDSXML
|
|
190
|
+
- Patent Examination Data System (Bulk Datasets) – XML
|
|
191
|
+
- 1900-Jan-01 – 2000-Dec-31
|
|
192
|
+
- XML
|
|
193
|
+
- Static snapshot (created 2025-Mar-16) of patent application data from 1900–2000, migrated from the retired PEDS system, in 20-year increment downloads.
|
|
194
|
+
* - ECORSEXC
|
|
195
|
+
- Patent Assignment Data for Academia and Researchers
|
|
196
|
+
- 2015-Aug-05 – 2024-Apr-19
|
|
197
|
+
- DTA, TSV
|
|
198
|
+
- ~10M patent assignments and transactions recorded at USPTO since 1970, covering ~17.8M patents and applications.
|
|
199
|
+
* - TRASECO
|
|
200
|
+
- Trademark Assignment Data for Academia and Researchers
|
|
201
|
+
- 2014-Apr-18 – 2024-Apr-01
|
|
202
|
+
- CSV, DTA
|
|
203
|
+
- 1.29M trademark assignments and transactions recorded at USPTO between 1952 and 2023, covering 2.28M unique trademark properties.
|
|
204
|
+
* - TRCFECO2
|
|
205
|
+
- Trademark Case File Data for Academia and Researchers
|
|
206
|
+
- 2013-Jan-02 – 2024-Mar-27
|
|
207
|
+
- CSV, DTA
|
|
208
|
+
- 12.1M trademark applications filed with or registrations issued by USPTO between 1870 and January 2023.
|
|
209
|
+
* - PTLITIG
|
|
210
|
+
- Patent Litigation Docket Report Data Files for Academia and Researchers
|
|
211
|
+
- 2016-Dec-29 – 2024-Mar-27
|
|
212
|
+
- CSV, DTA
|
|
213
|
+
- U.S. District Court patent litigation data on 81,350 unique cases filed 1963–2020, sourced from PACER and RECAP, including parties, cause of action, court location, key dates, and 5M+ docket documents.
|
|
214
|
+
* - ECOPAIR
|
|
215
|
+
- Patent Examination Research Dataset (PatEx)
|
|
216
|
+
- 2015-Dec-02 – 2023-Sep-26
|
|
217
|
+
- CSV, DTA
|
|
218
|
+
- 13M+ publicly viewable patent applications and 1M+ PCT applications through June 2023, including prosecution history, continuation history, foreign priority claims, and PTA history.
|
|
219
|
+
* - PTAPOATH
|
|
220
|
+
- Patent and Patent Application Oath Signature Dataset
|
|
221
|
+
- 2022-Sep-30 – 2022-Sep-30
|
|
222
|
+
- JPEG, JSON
|
|
223
|
+
- 883,811 signature images extracted from patent inventor oath documents from 1998-Sep to 2022-Sep, broken into 8 ZIP files by series code (12–17, 29, 35). 40.5 GB total.
|
|
224
|
+
* - PTOFFACT
|
|
225
|
+
- Patent Application Office Actions Research Dataset
|
|
226
|
+
- 2017-Nov-29 – 2017-Nov-29
|
|
227
|
+
- CSV, DTA
|
|
228
|
+
- 4.4M Office actions mailed 2008–June 2017 for 2.2M publicly viewable applications, including grounds for rejection, claims, and pertinent prior art.
|
|
229
|
+
* - PTGRAPS
|
|
230
|
+
- Patent Grant Full-Text Data (No Images) – APS
|
|
231
|
+
- 1976-Jan-06 – Present
|
|
232
|
+
- ASCII, XML
|
|
233
|
+
- Concatenated full-text of patent grants issued weekly (Tuesdays) from 1976-Jan-01 to 2001-Dec-25; excludes images.
|
|
234
|
+
* - PTBLAPS
|
|
235
|
+
- Patent Grant Bibliographic (Front Page) Text Data – APS
|
|
236
|
+
- 1976-Jan-01 – Present
|
|
237
|
+
- ASCII, XML
|
|
238
|
+
- Concatenated bibliographic (front page) text of patent grants issued weekly (Tuesdays) from 1976-Jan-01 to 2000-Dec-26; excludes images. Subset of PTGRAPS.
|
|
239
|
+
* - PTAPPCLM
|
|
240
|
+
- Patent and Patent Application Claims Research Dataset
|
|
241
|
+
- 2016-Oct-07 – 2016-Oct-11
|
|
242
|
+
- CSV, DTA
|
|
243
|
+
- Claims data for U.S. patents granted 1976–2014 and applications published 2001–2014, including individual claim text, dependency relationships, claim-level and document-level statistics.
|
|
244
|
+
* - MOONSHOT
|
|
245
|
+
- Cancer Moonshot Patent Data Files
|
|
246
|
+
- 2016-Aug-19 – 2016-Aug-19
|
|
247
|
+
- CSV
|
|
248
|
+
- 269,353 patent documents from 1976–2016 curated to identify R&D in diagnostics, therapeutics, data analytics, and model biological systems.
|
|
249
|
+
* - HISTEXC
|
|
250
|
+
- Historical Patent Data Files for Academia and Researchers
|
|
251
|
+
- 2015-Jun-25 – 2015-Jul-02
|
|
252
|
+
- CSV, DTA
|
|
253
|
+
- Four NBER research datasets with time-series and micro-level data by technology sub-category spanning two centuries of patent applications, grants, and in-force patents.
|
|
254
|
+
* - PTBLSGM
|
|
255
|
+
- Patent Grant Bibliographic (Front Page) Text Data – SGML
|
|
256
|
+
- 2001-Jan-02 – Present
|
|
257
|
+
- ASCII, XML
|
|
258
|
+
- Concatenated bibliographic (front page) text of patent grants issued weekly (Tuesdays) from 2001-Jan-02 to 2001-Dec-25; excludes images. Subset of PTGRDSGM.
|
|
259
|
+
* - PTGRDSGM
|
|
260
|
+
- Patent Grant Full Text Data with Embedded TIFF Images (Grant Red Book / WIPO ST.36) – SGML
|
|
261
|
+
- 2001-Jan-02 – Present
|
|
262
|
+
- XML
|
|
263
|
+
- Full text, images/drawings, and complex work units of patent grants issued weekly (Tuesdays) from 2001-Jan-02 to 2001-Dec-25.
|
|
264
|
+
* - PTGRSGM
|
|
265
|
+
- Patent Grant Full-Text Data (No Images) – SGML
|
|
266
|
+
- 2001-Jan-02 – Present
|
|
267
|
+
- ASCII, XML
|
|
268
|
+
- Concatenated full-text of patent grants issued weekly (Tuesdays) from 2001-Jan-02 to 2001-Dec-25; excludes images.
|
|
@@ -52,6 +52,14 @@ language = "en"
|
|
|
52
52
|
html_theme = "sphinx_rtd_theme"
|
|
53
53
|
html_static_path = ["_static"]
|
|
54
54
|
|
|
55
|
+
html_context = {
|
|
56
|
+
"display_github": True,
|
|
57
|
+
"github_user": "DunlapCoddingPC",
|
|
58
|
+
"github_repo": "pyUSPTO",
|
|
59
|
+
"github_version": "main",
|
|
60
|
+
"conf_py_path": "/docs/source/",
|
|
61
|
+
}
|
|
62
|
+
|
|
55
63
|
# -- Extension configuration -------------------------------------------------
|
|
56
64
|
napoleon_google_docstring = True
|
|
57
65
|
napoleon_numpy_docstring = False
|
|
@@ -12,9 +12,7 @@ from pyUSPTO import EnrichedCitationsClient, USPTOConfig
|
|
|
12
12
|
# --- Client Initialization ---
|
|
13
13
|
api_key = os.environ.get("USPTO_API_KEY", "YOUR_API_KEY_HERE")
|
|
14
14
|
if api_key == "YOUR_API_KEY_HERE":
|
|
15
|
-
raise ValueError(
|
|
16
|
-
"API key is not set. Set the USPTO_API_KEY environment variable."
|
|
17
|
-
)
|
|
15
|
+
raise ValueError("API key is not set. Set the USPTO_API_KEY environment variable.")
|
|
18
16
|
config = USPTOConfig(api_key=api_key)
|
|
19
17
|
client = EnrichedCitationsClient(config=config)
|
|
20
18
|
|
|
@@ -72,9 +70,7 @@ response = client.search_citations(
|
|
|
72
70
|
examiner_cited_q=True,
|
|
73
71
|
rows=5,
|
|
74
72
|
)
|
|
75
|
-
print(
|
|
76
|
-
f"Found {response.num_found} examiner-cited 'Y' citations in tech center 2800."
|
|
77
|
-
)
|
|
73
|
+
print(f"Found {response.num_found} examiner-cited 'Y' citations in tech center 2800.")
|
|
78
74
|
for citation in response.docs:
|
|
79
75
|
print(
|
|
80
76
|
f" App {citation.patent_application_number}: "
|
|
@@ -111,9 +107,10 @@ print("-" * 40)
|
|
|
111
107
|
|
|
112
108
|
max_items = 30
|
|
113
109
|
count = 0
|
|
114
|
-
for
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
for citation in client.paginate_citations(tech_center_q="2800", rows=10):
|
|
111
|
+
print(
|
|
112
|
+
f" App {citation.patent_application_number}: {citation.cited_document_identifier}"
|
|
113
|
+
)
|
|
117
114
|
count += 1
|
|
118
115
|
if count >= max_items:
|
|
119
116
|
print(f" ... (stopping at {max_items} items)")
|
|
@@ -154,6 +154,13 @@ if patent_wrapper_detail:
|
|
|
154
154
|
overwrite=True,
|
|
155
155
|
)
|
|
156
156
|
print(f"Downloaded document to: {downloaded_path}")
|
|
157
|
+
|
|
158
|
+
print("\nStreaming same document to memory...")
|
|
159
|
+
with client.stream_document(
|
|
160
|
+
document=document_to_download, format="PDF"
|
|
161
|
+
) as response:
|
|
162
|
+
content = response.content
|
|
163
|
+
print(f"Streamed {len(content)} bytes")
|
|
157
164
|
else:
|
|
158
165
|
print(
|
|
159
166
|
"No downloadable formats available for the first document or document identifier missing."
|
|
@@ -46,7 +46,8 @@ keywords = ["uspto", "patent", "odp", "client", "bulk data", "patent data"]
|
|
|
46
46
|
dependencies = [
|
|
47
47
|
"requests>=2.32.5",
|
|
48
48
|
"typing-extensions>=4.15.0; python_version < '3.11'",
|
|
49
|
-
"tzdata>=
|
|
49
|
+
"tzdata>=2026.1",
|
|
50
|
+
"urllib3>=2.0.0",
|
|
50
51
|
]
|
|
51
52
|
dynamic = ["version"]
|
|
52
53
|
|
|
@@ -60,7 +61,6 @@ test = [
|
|
|
60
61
|
docs = [
|
|
61
62
|
"sphinx>=9.1.0",
|
|
62
63
|
"sphinx-rtd-theme>=3.1.0",
|
|
63
|
-
"sphinx_immaterial>=0.13.9",
|
|
64
64
|
"sphinx-autodoc-typehints>=3.9.5",
|
|
65
65
|
"sphinx-copybutton>=0.5.2",
|
|
66
66
|
"myst-parser>=5.0.0",
|
|
@@ -172,3 +172,13 @@ warn_unreachable = false
|
|
|
172
172
|
[[tool.mypy.overrides]]
|
|
173
173
|
module = ["pytest.*", "pytest", "requests.*", "urllib3.*"]
|
|
174
174
|
ignore_missing_imports = true
|
|
175
|
+
|
|
176
|
+
[tool.deptry.per_rule_ignores]
|
|
177
|
+
DEP002 = [
|
|
178
|
+
"tzdata",
|
|
179
|
+
"pytest", "pytest-cov", "pytest-mock",
|
|
180
|
+
"sphinx", "sphinx-rtd-theme", "sphinx-autodoc-typehints",
|
|
181
|
+
"sphinx-copybutton", "myst-parser",
|
|
182
|
+
"mypy", "types-requests",
|
|
183
|
+
"ruff",
|
|
184
|
+
]
|