← Back to all sparks
P

patentsview

ANALYTICS
Velocity0.0

An R client to the PatentsView API. Contribute to ropensci/patentsview development by creating an account on GitHub.

Dormant for years, then rewritten wholesale when the API underneath it broke.

api-clientbreaking-changepatent-datar-packageupstream-dependency
Current state
patentsview is an R client for the USPTO PatentsView API, and version 1.0.0 is less a feature release than a forced reconstruction: the upstream API introduced mandatory keys, renamed and re-nested its endpoints, and the package had to follow. Between 2017 and 2021 the release cadence was roughly annual and almost entirely defensive — wrapping examples so CRAN would not fail during API outages, patching URL encoding, adding throttling retries. The 1.0.0 work restores the package to parity with an API that no longer resembles the one it was written against.
Where it's heading
The arc here is a client package whose roadmap is entirely dictated by an upstream service it does not control. Every release since 0.2.0 has been reactive — HTTPS migration, throttling, encoding fixes, and now a full breaking rewrite. The one forward-looking piece is retrieve_linked_data(), which follows HATEOAS links the API now returns, meaning the package is starting to navigate the API rather than just query fixed endpoints.
Prediction
Expect the next releases to be small follow-ups against the reworked API — field list refreshes and error handling for endpoints that behave differently in practice than in the documentation. The entries do not show any independent roadmap, so anything beyond that would depend on further upstream API changes.

Recent moves

  1. 6mo ago

    Rebuilt for PatentsView's new API: keys, nested endpoints

    ⚡ SPARK

    The first genuinely directional release in the package's history, and it was not optional: the upstream API changed shape, so every endpoint name, the field table, and the authentication model changed with it. It also adds the first capability the package did not previously have, retrieve_linked_data(), which follows the API's HATEOAS links.

    View source ↗
  2. 4y ago

    Moves to HTTPS endpoints and handles API throttling

    A maintenance release that tracks upstream changes rather than adding capability: HTTPS endpoints, a refreshed field list, URL-encoding fixes, and the first ad-hoc handling of API throttling. In hindsight the throttling work is the early sign of an upstream service tightening access, which 1.0.0 later formalizes with mandatory keys.

    View source ↗
  3. 7y ago

    Vignettes dropped so CRAN builds survive API outages

    Packaging hygiene with no user-visible change: vignettes were removed so CRAN checks stop failing when the upstream API is down. It is the second consecutive release spent working around the same fragility.

    View source ↗
  4. 8y ago

    API examples wrapped in dontrun for CRAN stability

    Examples that hit the live API were wrapped so CRAN would not flag the package during outages. Nothing changes for users; it is the same upstream-availability problem being managed at the packaging layer.

    View source ↗
  5. 8y ago

    cast_pv_data() converts returned columns to real types

    Adds cast_pv_data() to coerce API responses into proper R types, plus new upstream fields and a locations-endpoint error handler. A real usability gain in the era when the package was still tracking an expanding but stable API.

    View source ↗
  6. 9y ago

    First release: query DSL for the PatentsView API

    The founding release, establishing the shape the package kept for the next seven years: search_pv() for requests, the qry_funs list for composing queries, field and endpoint introspection, and unnest_pv_data() for flattening results. Version 1.0.0 preserves this design while replacing everything underneath it.

    View source ↗