Skip to main content

bitmapist

Implements a powerful analytics library using Redis bitmaps.

This library makes it possible to implement real-time, highly scalable analytics that can answer following questions:

  • Has user 123 been online today? This week? This month?

  • Has user 123 performed action “X”?

  • How many users have been active have this month? This hour?

  • How many unique users have performed action “X” this week?

  • How many % of users that were active last week are still active?

  • How many % of users that were active last month are still active this month?

This library is very easy to use and enables you to create your own reports easily.

Using Redis bitmaps you can store events for millions of users in a very little amount of memory (megabytes). You should be careful about using huge ids (e.g. 2^32 or bigger) as this could require larger amounts of memory.

If you want to read more about bitmaps please read following:

Requires Redis 2.6+ and newest version of redis-py.

Examples

Setting things up:

from datetime import datetime, timedelta
from bitmapist import mark_event, MonthEvents

now = datetime.utcnow()
last_month = datetime.utcnow() - timedelta(days=30)

Mark user 123 as active:

mark_event('active', 123)

Answer if user 123 has been active this month:

assert 123 in MonthEvents('active', now.year, now.month)

How many users have been active this week?:

print len(WeekEvents('active', now.year, now.isocalendar()[1]))

Perform bit operations. Which users that have been active last month are still active this month?:

active_2_months = BitOpAnd(
    MonthEvents('active', last_month.year, last_month.month),
    MonthEvents('active', now.year, now.month)
)

Nest bit operations!:

active_2_months = BitOpAnd(
    BitOpAnd(
        MonthEvents('active', last_month.year, last_month.month),
        MonthEvents('active', now.year, now.month)
    ),
    MonthEvents('active', now.year, now.month)
)

Copyright: 2012 by Doist Ltd.

Developer: Amir Salihefendic ( http://amix.dk )

License: BSD

Metadata

Release files for bitmapist 1.2

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

Source distribution (sdist)

Source distribution for bitmapist 1.2
File Size Uploaded
bitmapist-1.2.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bitmapist 1.2
File Interpreter ABI Platform
bitmapist-1.2-py2.7.egg Legacy Egg format - - Details

Total release size: 18.6 kB

Release files / bitmapist-1.2.tar.gz

Download URL bitmapist-1.2.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
266473efbee442836c2032a7a47d3bc12a4dd735551cd835b62559640702cacf
BLAKE2b-256 checksum
How to use checksums
e0a4974107ecde2e332935413d136dc402a17428dc7a6496b01147b2e6db34c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / bitmapist-1.2-py2.7.egg

Download URL bitmapist-1.2-py2.7.egg
Size 13.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
13cd51c5a4e90a625037e7d21423bd58272c21009483ef5dea0c4926b003fb7e
BLAKE2b-256 checksum
How to use checksums
3353039c130330ab3f670d3f0113e32c201c27192abba1e379f130b35cca14aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

3.119

2 release files

3.118

2 release files

3.117

2 release files

3.116

2 release files

3.115

2 release files

3.114

2 release files

3.113

2 release files

3.112

2 release files

3.111

2 release files

3.110

1 release file

3.109

2 release files

3.108

2 release files

3.107

2 release files

3.106

1 release file

3.105

2 release files

3.104

2 release files

3.103

2 release files

3.102

2 release files

3.101

2 release files

3.100

2 release files

3.99

1 release file

3.98

1 release file

3.97

1 release file

3.96

1 release file

3.95

2 release files

3.9

2 release files

3.8

1 release file

3.7

2 release files

3.6

1 release file

3.5

1 release file

3.4

1 release file

3.3

1 release file

3.1

2 release files

3.0

2 release files

2.31

2 release files

2.22

2 release files

2.21

2 release files

2.4

2 release files

2.3

2 release files

2.2

2 release files

2.1

2 release files

2.0

2 release files

1.31

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

This release

1.2 This release

2 release files

1.1

2 release files

1.0

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