Skip to main content

Twitter API Client by Typed Python.

Project description

✨✨ Twitter API Client by Typed Python ✨✨

Test Suite Package version

demo

Install

pip install twitter_api_py

Features

  • Fully type annotated.
  • OAuth1 / OAuth2 support.
  • Sync / Async Client support.
  • Mock Client support.

Usage

The simplest way to use the library is as follows:

from twitter_api import TwitterApiClient

with TwitterApiClient.from_oauth2_app_env() as twitter_client:
    response_body = (
        twitter_client.chain()
        .request("https://api.twitter.com/2/tweets")
        .get({
            "ids": "1460323737035677698",
            "expansions": ["referenced_tweets.id"]
        })
    )

As a characteristic feature of the library, it explicitly prompts the user to write the Endpoint URL, which makes it clear from the source code which Twitter API is being called.

Test Code

A mock client is provided by the library to simplify the writing of test code.

This client has the same interface as TwitterApiClient/TwitterApiAsyncClient, and also provides methods (inject_*_response_body) for injecting test data.

from twitter_api import TwitterApiClient
from twitter_api.client.twitter_api_mock_client import TwitterApiMockClient

def your_logic(twitter_client: TwitterApiClient):
    ...

def test_your_logic():
    twitter_client = (
        TwitterApiMockClient.from_oauth2_app_env()
        .inject_post_response_body("https://api.twitter.com/2/tweets", post_response_body)
        .inject_get_response_body("https://api.twitter.com/2/tweets/:id", get_response_body)
        .inject_delete_response_body("https://api.twitter.com/2/tweets", delete_response_body)
    )

    assert your_logic(twitter_client) is True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twitter_api_py-0.3.0.tar.gz (54.1 kB view hashes)

Uploaded Source

Built Distribution

twitter_api_py-0.3.0-py3-none-any.whl (138.9 kB view hashes)

Uploaded Python 3

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