Skip to main content

A library to parse or validate Twitter texts properly

Project description

twitter-text-python

Documentation Status https://travis-ci.com/swen128/twitter-text-python.svg?branch=master

This is a Python port of the twitter/twitter-text libraries, fully compliant with the official conformance test suite.

Features

This library calculates length of a tweet message according to the documentation from Twitter Developers, so that you can validate the tweet without calling the Web API at all. Although counting characters might seem an easy task, in actual fact it is very complicated, especially when the text contains CJK characters, URLs, or emojis.

The original twitter-text libraries have hit-highlighting and auto-linking features as well, however they are not yet supported by this Python port.

Usage

Installation

$ pip install twitter-text-parser

Examples

See the API reference for more details.

from twitter_text import parse_tweet, extract_emojis_with_indices, extract_urls_with_indices

text = 'english text 日本語 😷 https://example.com'

assert parse_tweet(text).asdict() == {
    'weightedLength': 46,
    'valid': True,
    'permillage': 164,
    'validRangeStart': 0,
    'validRangeEnd': 38,
    'displayRangeStart': 0,
    'displayRangeEnd': 38
}

assert extract_urls_with_indices(text) == [{
    'url': 'https://example.com',
    'indices': [19, 38]
}]

assert extract_emojis_with_indices(text) == [{
    'emoji': '😷',
    'indices': [17, 18]
}]

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_text_parser-3.0.0.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

twitter_text_parser-3.0.0-py3-none-any.whl (69.9 kB view details)

Uploaded Python 3

File details

Details for the file twitter_text_parser-3.0.0.tar.gz.

File metadata

  • Download URL: twitter_text_parser-3.0.0.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for twitter_text_parser-3.0.0.tar.gz
Algorithm Hash digest
SHA256 9426e4fb9393c8c1adfb36ff5d91495ff4524782e85f80748f6ae0bc1efffcda
MD5 838a35f9c35a615d29cd0ed65f570309
BLAKE2b-256 a6e6332b2a4a8e29c773274099e0fa92fb68d72cd276b0e7f960780bc7898881

See more details on using hashes here.

File details

Details for the file twitter_text_parser-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for twitter_text_parser-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b36bd22e147db2234e79c73b021f10c3073e8c54f22b68c31696239b6917cdd3
MD5 e34b95f84ede09daf83d3a7049838a56
BLAKE2b-256 49107ef9bd301d70cb92a35eee7d38a6378c8b327dc16bdac3089386bd5f3231

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page