Metadata-Version: 2.1
Name: slicemap
Version: 1.0.28
Summary: A tiny package containing a dict-like data structure with numeric slices as keys.
Home-page: https://github.com/gahaalt/slicemap.git
Author: Szymon Mikler
Author-email: sjmikler@gmail.com
License: MIT License (MIT)
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/markdown

[![PyPi version](https://badgen.net/pypi/v/slicemap)](https://pypi.org/project/slicemap)
[![PyPi version](https://badgen.net/pypi/license/slicemap)](https://pypi.org/project/slicemap)
[![PyPI license](https://img.shields.io/pypi/l/slicemap)](https://pypi.org/project/slicemap/)
[![Python 3.7](https://github.com/gahaalt/slicemap/actions/workflows/python37.yaml/badge.svg)](https://github.com/gahaalt/slicemap/actions/workflows/python37.yaml)
[![Python 3.8](https://github.com/gahaalt/slicemap/actions/workflows/python38.yaml/badge.svg)](https://github.com/gahaalt/slicemap/actions/workflows/python38.yaml)
[![Python 3.9](https://github.com/gahaalt/slicemap/actions/workflows/python39.yaml/badge.svg)](https://github.com/gahaalt/slicemap/actions/workflows/python39.yaml)
[![Python 3.10](https://github.com/gahaalt/slicemap/actions/workflows/python310.yml/badge.svg)](https://github.com/gahaalt/slicemap/actions/workflows/python310.yml)

Package slicemap is introducing a useful, dictionary-like data structure,
similar to normal Python dict, but instead of setting values key by key, you set entire slices.

* Implemented entirely in Python
* Has only one dependency: [sortedcontainers](https://grantjenks.com/docs/sortedcontainers/)
* Is efficient, it has `O(log(n))` time complexity for insertion and query
    * Adding new slices might make old ones become redundant, `n` correspondes to the maximal number of slices present in SliceMap at a time
* Makes life easier, see [applications](https://gahaalt.github.io/slicemap/applications/)

## Installation

Install easily with pip:

```
pip install slicemap
```

Or download from source and install locally:

```
git clone https://github.com/gahaalt/slicemap.git
cd slicemap && pip install -e .
```

## Links

* [See Documentation](https://gahaalt.github.io/slicemap/)
* [See on GitHub](https://github.com/gahaalt/slicemap)
* [See on PyPI](https://pypi.org/project/slicemap/)

