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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: persidict
3
- Version: 0.36.6
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. Features
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 strings or sequences of URL/filename-safe strings.
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. Features
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 strings or sequences of URL/filename-safe strings.
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.6"
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"