persidict 0.36.5__tar.gz → 0.36.7__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.5 → persidict-0.36.7}/PKG-INFO +23 -3
- {persidict-0.36.5 → persidict-0.36.7}/README.md +22 -2
- {persidict-0.36.5 → persidict-0.36.7}/pyproject.toml +1 -1
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/.DS_Store +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/__init__.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/file_dir_dict.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/jokers.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/overlapping_multi_dict.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/persi_dict.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/s3_dict.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/safe_chars.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/safe_str_tuple.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/src/persidict/safe_str_tuple_signing.py +0 -0
- {persidict-0.36.5 → persidict-0.36.7}/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.7
|
|
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
|
|
|
@@ -154,7 +174,7 @@ for all persistent dictionaries in the package. It's the foundation
|
|
|
154
174
|
upon which everything else is built.
|
|
155
175
|
* **`PersiDictKey`**: A type hint that specifies what can be used
|
|
156
176
|
as a key in any `PersiDict`. It can be a `SafeStrTuple`, a single string,
|
|
157
|
-
|
|
177
|
+
or a sequence of strings. When a `PesiDict` method requires a key as an input,
|
|
158
178
|
it will accept any of these types and convert them to a `SafeStrTuple` internally.
|
|
159
179
|
* **`SafeStrTuple`**: The core data structure for keys. It's an immutable,
|
|
160
180
|
flat tuple of non-empty, URL/filename-safe strings, ensuring that
|
|
@@ -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
|
|
|
@@ -120,7 +140,7 @@ for all persistent dictionaries in the package. It's the foundation
|
|
|
120
140
|
upon which everything else is built.
|
|
121
141
|
* **`PersiDictKey`**: A type hint that specifies what can be used
|
|
122
142
|
as a key in any `PersiDict`. It can be a `SafeStrTuple`, a single string,
|
|
123
|
-
|
|
143
|
+
or a sequence of strings. When a `PesiDict` method requires a key as an input,
|
|
124
144
|
it will accept any of these types and convert them to a `SafeStrTuple` internally.
|
|
125
145
|
* **`SafeStrTuple`**: The core data structure for keys. It's an immutable,
|
|
126
146
|
flat tuple of non-empty, URL/filename-safe strings, ensuring that
|
|
@@ -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.7"
|
|
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
|