Skip to main content

An extension of python's native dictionary class, that implements volatile sets.

Project description

Volatile Sets Dictionary

This project aims to extend python's native dictionary class, in order to add volatile sets. Volatile sets are a combination of key and value that expires after a period of time. This time is decided by the user.


You can install it using pip with the following command.

pip install volatile_dictionary

To install it by cloning its github repository, use the following commands. The "-e" flag install it in the path you clone it to, so, changes in the code will be instantly valid for the package users.

git clone
cd volatile_dictionary
pip install -e .

Using the VolatileDictionary Class

First import it in your project:

from volatile_dictionary import VolatileDictionary

Then instantiate it:

volatile_dict = VolatileDictionary()

VolatileDictionary works as a normal dictionary

volatile_dict['key'] = 'value'

saves internally the set "{'key', 'value'}" and outputs:


This set added above is nonvolatile. To add a volatile the key must be a length 2 tuple and with the second element being the set's duration time in seconds.

volatile_dict['volatile_key', 2] = 'volatile_value'

for the 2 seconds after the above line is ran, this code


will output:


after 2 seconds the set "{'volatile_key': 'volatile_value'}" will be deleted.

To manipulate this volatile sets three methods were created:

  • is_set_volatile(key): returns "True" if the set is volatile and "False" if the set is nonvolatile.
  • get_set_lifetime(key): returns the remaining lifetime of the specified key. If the key doesn't represent a volatile set, the method raises "NonvolatileTypeError".
  • cancel_volatily(key): cancel the volatility of a volatile set. If the key doesn't represent a volatile set, the method raises "NonvolatileTypeError".

In order to work with this differentiation between volatile and nonvolatile sets, the basic dict methods "keys", "values" and "items" were implemented too:

  • volatile_keys and nonvolatile_keys;
  • volatile_values and nonvolatile_values;
  • volatile_items and nonvolatile_items.

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for volatile-dictionary, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size volatile_dictionary-0.1-py3-none-any.whl (3.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size volatile_dictionary-0.1.tar.gz (3.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page