A collection of Twitter-related helper functions for python.
Project description
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()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file twitwi-0.19.2.tar.gz
.
File metadata
- Download URL: twitwi-0.19.2.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84d042b7ca72590a94654e9cb8b8f7baabd2963ca54d886e1e2c3a8c8c75d5e0 |
|
MD5 | c43af0259d835c48cf9a50c16c8e9dc6 |
|
BLAKE2b-256 | da938da14a993699c138be541ef3328cb296884893cd1c6aa790a22eb7ae4271 |
File details
Details for the file twitwi-0.19.2-py3-none-any.whl
.
File metadata
- Download URL: twitwi-0.19.2-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d1eff610acb6087a51f7a0e426002d5c3092d739bce5ffb6e39fd9976556abe |
|
MD5 | 9bc86f8839851fe8ffbcd0b834c29cc2 |
|
BLAKE2b-256 | 3131a2de9ae9bca672aa6010bcf9061ffa0f1f204ccbb8f202ffb2290c486f7c |