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.


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 | RSS feed

This version

0.1

Download files

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

Source Distribution

volatile_dictionary-0.1.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

volatile_dictionary-0.1-py3-none-any.whl (3.5 kB view hashes)

Uploaded Python 3

Supported by

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