Skip to main content

readtime

Tests Coverage

Calculates the time some text takes the average human to read, based on Medium's read time forumula.

Algorithm

Medium's Help Center says,

Read time is based on the average reading speed of an adult (roughly 265 WPM). We take the total word count of a post and translate it into minutes, with an adjustment made for images. For posts in Chinese, Japanese and Korean, it's a function of number of characters (500 characters/min) with an adjustment made for images.

Source: https://help.medium.com/hc/en-us/articles/214991667-Read-time (Read Sept 23rd, 2018)

Double checking with real articles, the English algorithm is:

seconds = num_words / 265 * 60 + img_weight * num_images

With img_weight starting at 12 and decreasing one second with each image encountered, with a minium img_weight of 3 seconds.

Installation

virtualenv venv
. venv/bin/activate
pip install readtime

Or if you like to live dangerously:

sudo pip install readtime

Usage

Import readtime and pass it some text, HTML, or Markdown to get back the time it takes to read:

>>> import readtime
>>> result = readtime.of_text('The shortest blog post in the world!')
>>> result.seconds
2
>>> result.text
u'1 min'

The result can also be used as a string:

>>> str(readtime.of_text('The shortest blog post in the world!'))
u'1 min read'

To calculate read time of Markdown:

>>> readtime.of_markdown('This is **Markdown**')
1 min read

To calculate read time of HTML:

>>> readtime.of_html('This is <strong>HTML</strong>')
1 min read

To customize the WPM (default 265):

>>> result = readtime.of_text('The shortest blog post in the world!', wpm=5)
>>> result.seconds
96
>>> result.text
u'2 min'
>>> result.wpm
5

Contributing

Before contributing a pull request, make sure tests pass:

virtualenv venv
. venv/bin/activate
pip install tox
tox

Many thanks to all contributors!

Metadata

Release files for readtime 3.0.0

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

Source distribution (sdist)

Source distribution for readtime 3.0.0
File Size Uploaded
readtime-3.0.0.tar.gz 6.3 kB Details

Release files / readtime-3.0.0.tar.gz

Download URL readtime-3.0.0.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
76c5a0d773ad49858c53b42ba3a942f62fbe20cc8c6f07875797ac7dc30963a9
BLAKE2b-256 checksum
How to use checksums
e29fa8e3d08eab31d92e49ef2fe6423ce385503e74f793e0e1a81d343ea991d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release history Release notifications | RSS feed

This release

3.0.0 This release

1 release file

2.0.0

2 release files

1.1.1

1 release file

1.1.0

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

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