collections-cache 0.1.8__py3-none-any.whl → 0.1.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- collections_cache-0.1.9.dist-info/METADATA +94 -0
- collections_cache-0.1.9.dist-info/RECORD +6 -0
- collections_cache-0.1.8.dist-info/METADATA +0 -93
- collections_cache-0.1.8.dist-info/RECORD +0 -6
- {collections_cache-0.1.8.dist-info → collections_cache-0.1.9.dist-info}/LICENSE +0 -0
- {collections_cache-0.1.8.dist-info → collections_cache-0.1.9.dist-info}/WHEEL +0 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: collections-cache
|
3
|
+
Version: 0.1.9
|
4
|
+
Summary: Collection Cache is a Python package for managing data collections across multiple SQLite databases. It allows efficient storage, retrieval, and updating of key-value pairs, supporting various data types serialized with pickle. The package uses parallel processing for fast access and manipulation of large collections.
|
5
|
+
License: MIT
|
6
|
+
Author: Luiz-Trindade
|
7
|
+
Author-email: luiz.gabriel.m.trindade@gmail.com
|
8
|
+
Requires-Python: >=3.12,<4.0
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
12
|
+
Description-Content-Type: text/markdown
|
13
|
+
|
14
|
+
# collections-cache
|
15
|
+
|
16
|
+
`collections-cache` is a simple and efficient caching solution built with SQLite databases. It allows storing, updating, and retrieving data using unique keys while supporting complex data types through `pickle`. Designed to scale across multiple CPU cores, it distributes data across multiple SQLite databases for improved performance.
|
17
|
+
|
18
|
+
## Features
|
19
|
+
|
20
|
+
- **Multiple SQLite databases**: Distributes data across multiple databases for better scalability.
|
21
|
+
- **Key-value store**: Stores data as key-value pairs.
|
22
|
+
- **Supports complex data types**: Data is serialized using `pickle`, allowing you to store lists, dictionaries, and other Python objects.
|
23
|
+
- **Parallel processing**: Utilizes Python’s `multiprocessing` module to handle large collections in parallel across multiple CPU cores.
|
24
|
+
- **Efficient data retrieval**: Retrieves stored data efficiently based on the key.
|
25
|
+
- **Cross-platform**: Works on Linux, macOS, and Windows.
|
26
|
+
|
27
|
+
## Installation
|
28
|
+
|
29
|
+
To install the `collections-cache` package, use [Poetry](https://python-poetry.org/) to manage dependencies.
|
30
|
+
|
31
|
+
1. Clone the repository:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
git clone https://github.com/Luiz-Trindade/collections_cache.git
|
35
|
+
cd collections-cache
|
36
|
+
```
|
37
|
+
|
38
|
+
2. Install the package with Poetry:
|
39
|
+
|
40
|
+
```bash
|
41
|
+
poetry install
|
42
|
+
```
|
43
|
+
|
44
|
+
## Usage
|
45
|
+
|
46
|
+
To use the `collections-cache` package, import the main class `Collection_Cache` and interact with your collection.
|
47
|
+
|
48
|
+
### Example
|
49
|
+
|
50
|
+
```python
|
51
|
+
from collections_cache import Collection_Cache
|
52
|
+
|
53
|
+
# Create a new collection
|
54
|
+
cache = Collection_Cache("STORE")
|
55
|
+
|
56
|
+
# Set a key-value pair
|
57
|
+
cache.set_key("products", ["apple", "orange", "onion"])
|
58
|
+
|
59
|
+
# Get the value by key
|
60
|
+
products = cache.get_key("products")
|
61
|
+
print(products) # Output: ['apple', 'orange', 'onion']
|
62
|
+
```
|
63
|
+
|
64
|
+
### Methods
|
65
|
+
|
66
|
+
- **`set_key(key, value)`**: Stores a key-value pair in the cache. If the key already exists, its value is updated.
|
67
|
+
- **`get_key(key)`**: Retrieves the value associated with a key.
|
68
|
+
- **`delete_key(key)`**: Removes an existing key from the cache.
|
69
|
+
|
70
|
+
## Development
|
71
|
+
|
72
|
+
To contribute or run tests:
|
73
|
+
|
74
|
+
1. Install development dependencies:
|
75
|
+
|
76
|
+
```bash
|
77
|
+
poetry install --dev
|
78
|
+
```
|
79
|
+
|
80
|
+
2. Run tests:
|
81
|
+
|
82
|
+
```bash
|
83
|
+
poetry run pytest
|
84
|
+
```
|
85
|
+
|
86
|
+
## License
|
87
|
+
|
88
|
+
This project is licensed under the MIT License – see the [LICENSE](LICENSE) file for details.
|
89
|
+
|
90
|
+
## Acknowledgements
|
91
|
+
|
92
|
+
- This package was created to demonstrate how to work with SQLite, `pickle`, and Python's `multiprocessing` module.
|
93
|
+
- Created by: Luiz Trindade.
|
94
|
+
|
@@ -0,0 +1,6 @@
|
|
1
|
+
collections_cache/__init__.py,sha256=uUp8lhp-HnZRumnU_8MT6qVq95t0pOzn7oLW7ARbnvc,48
|
2
|
+
collections_cache/collections_cache.py,sha256=qwK6heBRGqMy6lVfAalpXLUmuooeVCIePgvjsOOWSfg,5348
|
3
|
+
collections_cache-0.1.9.dist-info/LICENSE,sha256=RAIL-FmXSiNRgyiVlfhm2SvVI4XDVsN0jDt9207SJ8o,1168
|
4
|
+
collections_cache-0.1.9.dist-info/METADATA,sha256=9zEnDjTiUCrhpe2K_PhMY53fXNRMkFsIYqQbfk-AM4M,3235
|
5
|
+
collections_cache-0.1.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
6
|
+
collections_cache-0.1.9.dist-info/RECORD,,
|
@@ -1,93 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.1
|
2
|
-
Name: collections-cache
|
3
|
-
Version: 0.1.8
|
4
|
-
Summary: Collection Cache is a Python package for managing data collections across multiple SQLite databases. It allows efficient storage, retrieval, and updating of key-value pairs, supporting various data types serialized with pickle. The package uses parallel processing for fast access and manipulation of large collections.
|
5
|
-
License: MIT
|
6
|
-
Author: Luiz-Trindade
|
7
|
-
Author-email: luiz.gabriel.m.trindade@gmail.com
|
8
|
-
Requires-Python: >=3.12,<4.0
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
11
|
-
Classifier: Programming Language :: Python :: 3.12
|
12
|
-
Description-Content-Type: text/markdown
|
13
|
-
|
14
|
-
# collections-cache
|
15
|
-
|
16
|
-
`collections-cache` is a simple and efficient caching solution built using SQLite databases. It allows for storing, updating, and retrieving data using unique keys, supporting complex data types through the use of `pickle`. It is designed to scale across multiple CPU cores by distributing the data across multiple SQLite databases.
|
17
|
-
|
18
|
-
## Features
|
19
|
-
|
20
|
-
- **Multiple SQLite databases**: Distributes data across multiple databases for better scalability.
|
21
|
-
- **Key-value store**: Store data as key-value pairs.
|
22
|
-
- **Supports complex data types**: Data is serialized using `pickle`, so you can store lists, dictionaries, and other complex Python objects.
|
23
|
-
- **Parallel processing**: Uses Python’s `multiprocessing` to handle large collections in parallel across multiple CPU cores.
|
24
|
-
- **Efficient data retrieval**: Retrieves stored data based on the key using an efficient search across the collection.
|
25
|
-
|
26
|
-
## Installation
|
27
|
-
|
28
|
-
To install the `collections-cache` package, use [Poetry](https://python-poetry.org/) for managing dependencies.
|
29
|
-
|
30
|
-
1. Clone the repository:
|
31
|
-
|
32
|
-
```bash
|
33
|
-
git clone https://github.com/Luiz-Trindade/collections_cache.git
|
34
|
-
cd collection-cache
|
35
|
-
```
|
36
|
-
|
37
|
-
2. Install the package with Poetry:
|
38
|
-
|
39
|
-
```bash
|
40
|
-
poetry install
|
41
|
-
```
|
42
|
-
|
43
|
-
## Usage
|
44
|
-
|
45
|
-
To use the `collections-cache` package, you can import the main class `Collection_Cache` and interact with your collection.
|
46
|
-
|
47
|
-
### Example:
|
48
|
-
|
49
|
-
```python
|
50
|
-
from collections_cache import Collection_Cache
|
51
|
-
|
52
|
-
# Create a new collection
|
53
|
-
cache = Collection_Cache("STORE")
|
54
|
-
|
55
|
-
# Set a key-value pair
|
56
|
-
cache.set_key("products", ["apple", "orange", "onion"])
|
57
|
-
|
58
|
-
# Get the value by key
|
59
|
-
students = cache.get_key("alunos")
|
60
|
-
print(students) # Output: ['Luiz', 'Marcos', 'João']
|
61
|
-
```
|
62
|
-
|
63
|
-
### Methods:
|
64
|
-
|
65
|
-
- **`set_key(key, value)`**: Set a key-value pair in the cache. If the key already exists, it will be updated.
|
66
|
-
- **`get_key(key)`**: Retrieve the value associated with a key.
|
67
|
-
- **`delete_key(key)`**: Delete an existing key.
|
68
|
-
|
69
|
-
## Development
|
70
|
-
|
71
|
-
To contribute or run tests:
|
72
|
-
|
73
|
-
1. Install development dependencies:
|
74
|
-
|
75
|
-
```bash
|
76
|
-
poetry install --dev
|
77
|
-
```
|
78
|
-
|
79
|
-
2. Run tests:
|
80
|
-
|
81
|
-
```bash
|
82
|
-
poetry run pytest
|
83
|
-
```
|
84
|
-
|
85
|
-
## License
|
86
|
-
|
87
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
88
|
-
|
89
|
-
## Acknowledgements
|
90
|
-
|
91
|
-
- This package was created to demonstrate how to work with SQLite, `pickle`, and Python's `multiprocessing` module.
|
92
|
-
-Created by: Luiz Trindade.
|
93
|
-
|
@@ -1,6 +0,0 @@
|
|
1
|
-
collections_cache/__init__.py,sha256=uUp8lhp-HnZRumnU_8MT6qVq95t0pOzn7oLW7ARbnvc,48
|
2
|
-
collections_cache/collections_cache.py,sha256=qwK6heBRGqMy6lVfAalpXLUmuooeVCIePgvjsOOWSfg,5348
|
3
|
-
collections_cache-0.1.8.dist-info/LICENSE,sha256=RAIL-FmXSiNRgyiVlfhm2SvVI4XDVsN0jDt9207SJ8o,1168
|
4
|
-
collections_cache-0.1.8.dist-info/METADATA,sha256=KYDrDYEidxreV-hlBaNz2wUCfsz89aJG-Et0Yxp6KQQ,3118
|
5
|
-
collections_cache-0.1.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
6
|
-
collections_cache-0.1.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|