/PyPocket

A Python Wrapper (Unofficial) for GetPocket (https://getpocket.com)

Primary LanguagePythonMIT LicenseMIT

PyPocket

Actions Status PyPI version MIT License Code Style: Black


SonarCloud

Coverage Security Rating Vulnerabilities Maintainability Rating Reliability Rating Lines of Code

PyPocket is a Python wrapper for GetPocket (https://getpocket.com). The Export option in Pocket will generate a dry html file containing only the saved article links. PyPocket library will generate a more sophisticated HTML report with given tags, the article title, time added. You can specify the number of articles you want to retrieve too (particularly useful if you have a large collection of saved articles).

More functionalies are under development like the ability to filter and export by tag(s), additional metadata, etc.

Check the development roadmap for this project here. Feel free to request a new feature!

Installation

pip install pypocket

Library Requirements

  • requests (pip install requests)
  • dominate (pip install dominate)

Prerequisite: Obtain Your Consumer Key & Access Token

In order to use PyPocket, you will need consumer_key and access_token for your Pocket. For the consumer_key, you can follow Step 1 of Pocket Authentication API Documentation to obtain your consumer_key.

For obtaining your access_token, you can either follow the pocket documentation (above link) to get your access_token, or use the Auth class available in this library for your convenience as below.

from pypocket.auth import Auth
auth = Auth(consumer_key="your_consumer_key")
# The following will automatically obtain a request_token and ask you to authorize it. 
auth.authorize_request_token_browser() 

The auth.authorize_request_token_browser() will open a webpage to getpocket.com website asking you to authorize the token. Once, you authorize it. Then you can get your access token by running the following:

access_token = auth.get_access_token() 

Usage

from pypocket import Pocket

p =  Pocket(
    consumer_key="your_consumer_key", 
    access_token="your_token", 
    html_filename="report"
)
p.to_html(num_post=10)

New features in the pipeline

  • Retrieve pocket contents according to given tags
  • Modify the pocket contents properties