persidict 0.36.6__tar.gz → 0.36.8__tar.gz
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.
Potentially problematic release.
This version of persidict might be problematic. Click here for more details.
- {persidict-0.36.6 → persidict-0.36.8}/PKG-INFO +23 -3
- {persidict-0.36.6 → persidict-0.36.8}/README.md +22 -2
- {persidict-0.36.6 → persidict-0.36.8}/pyproject.toml +1 -1
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/.DS_Store +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/__init__.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/file_dir_dict.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/jokers.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/overlapping_multi_dict.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/persi_dict.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/s3_dict.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/safe_chars.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/safe_str_tuple.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/safe_str_tuple_signing.py +0 -0
- {persidict-0.36.6 → persidict-0.36.8}/src/persidict/write_once_dict.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: persidict
|
|
3
|
-
Version: 0.36.
|
|
3
|
+
Version: 0.36.8
|
|
4
4
|
Summary: Simple persistent key-value store for Python. Values are stored as files on a disk or as S3 objects on AWS cloud.
|
|
5
5
|
Keywords: persistence,dicts,distributed,parallel
|
|
6
6
|
Author: Vlad (Volodymyr) Pavlov
|
|
@@ -47,7 +47,10 @@ In contrast to traditional persistent dictionaries (e.g., Python’s `shelve)`,
|
|
|
47
47
|
`persidict` is designed for distributed environments where multiple processes
|
|
48
48
|
on different machines concurrently work with the same store.
|
|
49
49
|
|
|
50
|
-
## 2.
|
|
50
|
+
## 2. Why Use It?
|
|
51
|
+
|
|
52
|
+
## 2.1 Features
|
|
53
|
+
|
|
51
54
|
* **Persistent Storage**: Save dictionaries to the local filesystem
|
|
52
55
|
(`FileDirDict`) or AWS S3 (`S3Dict`).
|
|
53
56
|
* **Standard Dictionary API**: Use persidict objects like standard
|
|
@@ -61,6 +64,23 @@ JSON (`json`), or plain text.
|
|
|
61
64
|
instances of a specific class.
|
|
62
65
|
* **Advanced Functionality**: Includes features like write-once dictionaries,
|
|
63
66
|
timestamping of entries, and tools for handling file-system-safe keys.
|
|
67
|
+
* **Hierarchical Keys**: Keys can be sequences of strings,
|
|
68
|
+
creating a directory-like structure within the storage backend.
|
|
69
|
+
|
|
70
|
+
## 2.2 Use Cases
|
|
71
|
+
|
|
72
|
+
`persidict` is well-suited for a variety of applications, including:
|
|
73
|
+
|
|
74
|
+
* **Caching**: Store results of expensive computations and retrieve them later,
|
|
75
|
+
even across different machines.
|
|
76
|
+
* **Configuration Management**: Manage application settings
|
|
77
|
+
in a distributed environment, allowing for easy updates and access.
|
|
78
|
+
* **Data Pipelines**: Share data between different stages
|
|
79
|
+
of a data processing pipeline.
|
|
80
|
+
* **Distributed Task Queues**: Store task definitions and results
|
|
81
|
+
in a shared location.
|
|
82
|
+
* **Memoization**: Cache function call results
|
|
83
|
+
in a persistent and distributed manner.
|
|
64
84
|
|
|
65
85
|
## 3. Usage
|
|
66
86
|
|
|
@@ -135,7 +155,7 @@ print(f"API Key: {cloud_config['api_key']}")
|
|
|
135
155
|
### 4.2 Differences
|
|
136
156
|
|
|
137
157
|
* **Persistence**: Data is saved between program executions.
|
|
138
|
-
* **Keys**: Keys must be
|
|
158
|
+
* **Keys**: Keys must be URL/filename-safe strings or their sequences.
|
|
139
159
|
* **Values**: Values must be pickleable.
|
|
140
160
|
You can also constrain values to a specific class.
|
|
141
161
|
* **Order**: Insertion order is not preserved.
|
|
@@ -13,7 +13,10 @@ In contrast to traditional persistent dictionaries (e.g., Python’s `shelve)`,
|
|
|
13
13
|
`persidict` is designed for distributed environments where multiple processes
|
|
14
14
|
on different machines concurrently work with the same store.
|
|
15
15
|
|
|
16
|
-
## 2.
|
|
16
|
+
## 2. Why Use It?
|
|
17
|
+
|
|
18
|
+
## 2.1 Features
|
|
19
|
+
|
|
17
20
|
* **Persistent Storage**: Save dictionaries to the local filesystem
|
|
18
21
|
(`FileDirDict`) or AWS S3 (`S3Dict`).
|
|
19
22
|
* **Standard Dictionary API**: Use persidict objects like standard
|
|
@@ -27,6 +30,23 @@ JSON (`json`), or plain text.
|
|
|
27
30
|
instances of a specific class.
|
|
28
31
|
* **Advanced Functionality**: Includes features like write-once dictionaries,
|
|
29
32
|
timestamping of entries, and tools for handling file-system-safe keys.
|
|
33
|
+
* **Hierarchical Keys**: Keys can be sequences of strings,
|
|
34
|
+
creating a directory-like structure within the storage backend.
|
|
35
|
+
|
|
36
|
+
## 2.2 Use Cases
|
|
37
|
+
|
|
38
|
+
`persidict` is well-suited for a variety of applications, including:
|
|
39
|
+
|
|
40
|
+
* **Caching**: Store results of expensive computations and retrieve them later,
|
|
41
|
+
even across different machines.
|
|
42
|
+
* **Configuration Management**: Manage application settings
|
|
43
|
+
in a distributed environment, allowing for easy updates and access.
|
|
44
|
+
* **Data Pipelines**: Share data between different stages
|
|
45
|
+
of a data processing pipeline.
|
|
46
|
+
* **Distributed Task Queues**: Store task definitions and results
|
|
47
|
+
in a shared location.
|
|
48
|
+
* **Memoization**: Cache function call results
|
|
49
|
+
in a persistent and distributed manner.
|
|
30
50
|
|
|
31
51
|
## 3. Usage
|
|
32
52
|
|
|
@@ -101,7 +121,7 @@ print(f"API Key: {cloud_config['api_key']}")
|
|
|
101
121
|
### 4.2 Differences
|
|
102
122
|
|
|
103
123
|
* **Persistence**: Data is saved between program executions.
|
|
104
|
-
* **Keys**: Keys must be
|
|
124
|
+
* **Keys**: Keys must be URL/filename-safe strings or their sequences.
|
|
105
125
|
* **Values**: Values must be pickleable.
|
|
106
126
|
You can also constrain values to a specific class.
|
|
107
127
|
* **Order**: Insertion order is not preserved.
|
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "persidict"
|
|
7
|
-
version = "0.36.
|
|
7
|
+
version = "0.36.8"
|
|
8
8
|
description = "Simple persistent key-value store for Python. Values are stored as files on a disk or as S3 objects on AWS cloud."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|