Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

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.


Instalatiton

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 https://github.com/pedrogyrao/volatile_dictionary
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'
print(volatile_dict['key'])

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

value

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

print(volatile_dict['volatile_key'])

will output:

volatile_value

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

This version
History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
volatile_dictionary-0.1-py3-none-any.whl (3.5 kB) Copy SHA256 hash SHA256 Wheel py3
volatile_dictionary-0.1.tar.gz (3.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page