Skip to main content

Build Status

Twitwi

A collection of Twitter-related helper functions for python.

Installation

You can install twitwi with pip with the following command:

pip install twitwi

Usage

Normalization functions

Formatting functions

Useful constants (under twitwi.constants)

normalize_tweets_payload_v2

Function taking an entire tweets payload from the v2 API and returning a list of the contained tweets normalized and structured in a way that makes further analysis of the data convenient.

from twitwi import normalize_tweets_payload_v2

# Normalizing an entire tweets payload to extract a list of tweets
normalize_tweets_payload_v2(payload)

# Normalizing an entire tweets payload to extract a list of tweets
# as well as the referenced tweets (quoted, retweeted, etc.)
normalize_tweets_payload_v2(payload, extract_referenced_tweets=True)

# Converting found dates to a chosen timezone
from pytz import timezone
paris_tz = timezone('Europe/Paris')

normalize_tweets_payload_v2(payload, locale=paris_tz)

Arguments

  • payload (dict): tweets payload coming from Twitter API v2.
  • locale (pytz.timezone, optional): timezone used to convert dates. If not given, will default to UTC.
  • extract_referenced_tweets (bool, optional): whether to keep referenced tweets (retweeted, quoted etc.) in the output. Defaults to False.
  • collection_source *(string, optional): An optional information to add to the tweets to indicate whence you collected them.

transform_tweet_into_csv_dict

Function transforming (i.e. mutating, so beware) a given normalized tweet into a suitable dict able to be written by a csv.DictWriter as a row.

from twitwi import transform_tweet_into_csv_dict

# The function returns nothing, `normalized_tweet` has been mutated
transform_tweet_into_csv_dict(normalized_tweet)

transform_user_into_csv_dict

Function transforming (i.e. mutating, so beware) a given normalized Twitter user into a suitable dict able to be written by a csv.DictWriter as a row.

from twitwi import transform_user_into_csv_dict

# The function returns nothing, `normalized_user` has been mutated
transform_user_into_csv_dict(normalized_user)

format_tweet_as_csv_row

Function formatting the given normalized tweet as a list able to be written by a csv.writer as a row.

from twitwi import format_tweet_as_csv_row

row = format_tweet_as_csv_row(normalized_tweet)

format_user_as_csv_row

Function formatting the given normalized Twitter user as a list able to be written by a csv.writer as a row.

from twitwi import format_user_as_csv_row

row = format_user_as_csv_row(normalized_user)

TWEET_FIELDS

List of tweet field names. Useful to declare headers with csv writers:

from twitwi.constants import TWEET_FIELDS

# Using csv.writer
w = csv.writer(f)
w.writerow(TWEET_FIELDS)

# Using csv.DictWriter
w = csv.DictWriter(f, fieldnames=TWEET_FIELDS)
w.writeheader()

USER_FIELDS

from twitwi.constants import USER_FIELDS

# Using csv.writer
w = csv.writer(f)
w.writerow(USER_FIELDS)

# Using csv.DictWriter
w = csv.DictWriter(f, fieldnames=USER_FIELDS)
w.writeheader()

Release files for twitwi 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for twitwi 0.7.1
File Size Uploaded
twitwi-0.7.1.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for twitwi 0.7.1
File Interpreter ABI Platform
twitwi-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 28.7 kB

Release files / twitwi-0.7.1.tar.gz

Download URL twitwi-0.7.1.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f1d619ae02635a3d22ee59264df188ada0f9b812a7ec6ee8235b8e85050c613b
BLAKE2b-256 checksum
How to use checksums
3e7e8c65a8b258e5d338122e5549d0f2cf5ef9d438fa89bc3b07ef8e6f3a2b0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.10

Release files / twitwi-0.7.1-py3-none-any.whl

Download URL twitwi-0.7.1-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcca50e85820fa77a0e4766adeb4be7477a9e6f35c7e554e3f03054f0aa22a93
BLAKE2b-256 checksum
How to use checksums
40ae04ca5040445fbd0a9a72cafbe3f7041cce0959d8b2b416ad2792d8625420
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.10

Release history Release notifications | RSS feed

0.25.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.1

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.3

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.2

2 release files

This release

0.7.1 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page