aldict 1.1.0__tar.gz → 1.1.2__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.
- {aldict-1.1.0 → aldict-1.1.2}/PKG-INFO +31 -31
- {aldict-1.1.0 → aldict-1.1.2}/README.md +30 -30
- {aldict-1.1.0 → aldict-1.1.2}/aldict/__init__.py +1 -1
- {aldict-1.1.0 → aldict-1.1.2}/pyproject.toml +1 -1
- {aldict-1.1.0 → aldict-1.1.2}/LICENSE +0 -0
- {aldict-1.1.0 → aldict-1.1.2}/aldict/alias_dict.py +0 -0
- {aldict-1.1.0 → aldict-1.1.2}/aldict/exception.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aldict
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.2
|
|
4
4
|
Summary: Multi-key dictionary, supports adding and manipulating key-aliases pointing to shared values
|
|
5
5
|
Keywords: multi-key dictionary,multidict,alias-dict
|
|
6
6
|
Author-Email: kaliv0 <kaloyan.ivanov88@gmail.com>
|
|
@@ -28,9 +28,9 @@ Multi-key dictionary, supports adding and manipulating key-aliases pointing to s
|
|
|
28
28
|
## How to use
|
|
29
29
|
|
|
30
30
|
- initialize with aliases
|
|
31
|
-
<br>(one-liner with <i>aliases</i> dict mapping <i>key</i> to
|
|
31
|
+
<br>(one-liner with <i>aliases</i> dict mapping <i>original key</i> to <i>alias keys</i>)
|
|
32
32
|
```python
|
|
33
|
-
ad = AliasDict({"a": 1, "b": 2}, aliases={"a": ["aa", "aaa"], "b":
|
|
33
|
+
ad = AliasDict({"a": 1, "b": 2}, aliases={"a": ["aa", "aaa"], "b": "bb"})
|
|
34
34
|
assert ad["a"] == ad["aa"] == ad["aaa"] == 1
|
|
35
35
|
assert ad["b"] == ad["bb"] == 2
|
|
36
36
|
```
|
|
@@ -104,11 +104,6 @@ ad.items()
|
|
|
104
104
|
ad.pop("y")
|
|
105
105
|
assert list(ad.items()) == [('x', 10), ('Xx', 10)]
|
|
106
106
|
```
|
|
107
|
-
- origin_keys
|
|
108
|
-
<br>(get original <i>keys</i> only)
|
|
109
|
-
```python
|
|
110
|
-
assert list(ad.origin_keys()) == ['x', 'y']
|
|
111
|
-
```
|
|
112
107
|
- origin_len
|
|
113
108
|
<br>(get original dict <i>length</i> without aliases)
|
|
114
109
|
```python
|
|
@@ -118,30 +113,10 @@ assert list(ad.keys()) == ["a", "b", "aa"]
|
|
|
118
113
|
assert len(ad) == 3
|
|
119
114
|
assert ad.origin_len() == 2
|
|
120
115
|
```
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
ad = AliasDict({"a": 1, "b": 2})
|
|
124
|
-
ad.add_alias("a", "aa")
|
|
125
|
-
ad_copy = ad.copy()
|
|
126
|
-
assert ad_copy == ad
|
|
127
|
-
assert ad_copy is not ad
|
|
128
|
-
```
|
|
129
|
-
- merge with | and |= operators
|
|
130
|
-
```python
|
|
131
|
-
ad1 = AliasDict({"a": 1}, aliases={"a": ["aa"]})
|
|
132
|
-
ad2 = AliasDict({"b": 2}, aliases={"b": ["bb"]})
|
|
133
|
-
|
|
134
|
-
merged = ad1 | ad2
|
|
135
|
-
assert merged["aa"] == 1
|
|
136
|
-
assert merged["bb"] == 2
|
|
137
|
-
|
|
138
|
-
ad1 |= {"c": 3}
|
|
139
|
-
assert ad1["c"] == 3
|
|
140
|
-
```
|
|
141
|
-
- fromkeys
|
|
116
|
+
- origin_keys
|
|
117
|
+
<br>(get original <i>keys</i> only)
|
|
142
118
|
```python
|
|
143
|
-
ad
|
|
144
|
-
assert ad["a"] == ad["aa"] == 0
|
|
119
|
+
assert list(ad.origin_keys()) == ['x', 'y']
|
|
145
120
|
```
|
|
146
121
|
- origin_key
|
|
147
122
|
<br>(get original <i>key</i> for an <i>alias</i>)
|
|
@@ -167,3 +142,28 @@ ad.add_alias("a", "aa")
|
|
|
167
142
|
assert ad.has_aliases("a") is True
|
|
168
143
|
assert ad.has_aliases("b") is False
|
|
169
144
|
```
|
|
145
|
+
- copy
|
|
146
|
+
```python
|
|
147
|
+
ad = AliasDict({"a": 1, "b": 2})
|
|
148
|
+
ad.add_alias("a", "aa")
|
|
149
|
+
ad_copy = ad.copy()
|
|
150
|
+
assert ad_copy == ad
|
|
151
|
+
assert ad_copy is not ad
|
|
152
|
+
```
|
|
153
|
+
- merge with | and |= operators
|
|
154
|
+
```python
|
|
155
|
+
ad1 = AliasDict({"a": 1}, aliases={"a": ["aa"]})
|
|
156
|
+
ad2 = AliasDict({"b": 2}, aliases={"b": ["bb"]})
|
|
157
|
+
|
|
158
|
+
merged = ad1 | ad2
|
|
159
|
+
assert merged["aa"] == 1
|
|
160
|
+
assert merged["bb"] == 2
|
|
161
|
+
|
|
162
|
+
ad1 |= {"c": 3}
|
|
163
|
+
assert ad1["c"] == 3
|
|
164
|
+
```
|
|
165
|
+
- fromkeys
|
|
166
|
+
```python
|
|
167
|
+
ad = AliasDict.fromkeys(["a", "b", "c"], 0, aliases={"a": ["aa"]})
|
|
168
|
+
assert ad["a"] == ad["aa"] == 0
|
|
169
|
+
```
|
|
@@ -17,9 +17,9 @@ Multi-key dictionary, supports adding and manipulating key-aliases pointing to s
|
|
|
17
17
|
## How to use
|
|
18
18
|
|
|
19
19
|
- initialize with aliases
|
|
20
|
-
<br>(one-liner with <i>aliases</i> dict mapping <i>key</i> to
|
|
20
|
+
<br>(one-liner with <i>aliases</i> dict mapping <i>original key</i> to <i>alias keys</i>)
|
|
21
21
|
```python
|
|
22
|
-
ad = AliasDict({"a": 1, "b": 2}, aliases={"a": ["aa", "aaa"], "b":
|
|
22
|
+
ad = AliasDict({"a": 1, "b": 2}, aliases={"a": ["aa", "aaa"], "b": "bb"})
|
|
23
23
|
assert ad["a"] == ad["aa"] == ad["aaa"] == 1
|
|
24
24
|
assert ad["b"] == ad["bb"] == 2
|
|
25
25
|
```
|
|
@@ -93,11 +93,6 @@ ad.items()
|
|
|
93
93
|
ad.pop("y")
|
|
94
94
|
assert list(ad.items()) == [('x', 10), ('Xx', 10)]
|
|
95
95
|
```
|
|
96
|
-
- origin_keys
|
|
97
|
-
<br>(get original <i>keys</i> only)
|
|
98
|
-
```python
|
|
99
|
-
assert list(ad.origin_keys()) == ['x', 'y']
|
|
100
|
-
```
|
|
101
96
|
- origin_len
|
|
102
97
|
<br>(get original dict <i>length</i> without aliases)
|
|
103
98
|
```python
|
|
@@ -107,30 +102,10 @@ assert list(ad.keys()) == ["a", "b", "aa"]
|
|
|
107
102
|
assert len(ad) == 3
|
|
108
103
|
assert ad.origin_len() == 2
|
|
109
104
|
```
|
|
110
|
-
-
|
|
111
|
-
|
|
112
|
-
ad = AliasDict({"a": 1, "b": 2})
|
|
113
|
-
ad.add_alias("a", "aa")
|
|
114
|
-
ad_copy = ad.copy()
|
|
115
|
-
assert ad_copy == ad
|
|
116
|
-
assert ad_copy is not ad
|
|
117
|
-
```
|
|
118
|
-
- merge with | and |= operators
|
|
119
|
-
```python
|
|
120
|
-
ad1 = AliasDict({"a": 1}, aliases={"a": ["aa"]})
|
|
121
|
-
ad2 = AliasDict({"b": 2}, aliases={"b": ["bb"]})
|
|
122
|
-
|
|
123
|
-
merged = ad1 | ad2
|
|
124
|
-
assert merged["aa"] == 1
|
|
125
|
-
assert merged["bb"] == 2
|
|
126
|
-
|
|
127
|
-
ad1 |= {"c": 3}
|
|
128
|
-
assert ad1["c"] == 3
|
|
129
|
-
```
|
|
130
|
-
- fromkeys
|
|
105
|
+
- origin_keys
|
|
106
|
+
<br>(get original <i>keys</i> only)
|
|
131
107
|
```python
|
|
132
|
-
ad
|
|
133
|
-
assert ad["a"] == ad["aa"] == 0
|
|
108
|
+
assert list(ad.origin_keys()) == ['x', 'y']
|
|
134
109
|
```
|
|
135
110
|
- origin_key
|
|
136
111
|
<br>(get original <i>key</i> for an <i>alias</i>)
|
|
@@ -156,3 +131,28 @@ ad.add_alias("a", "aa")
|
|
|
156
131
|
assert ad.has_aliases("a") is True
|
|
157
132
|
assert ad.has_aliases("b") is False
|
|
158
133
|
```
|
|
134
|
+
- copy
|
|
135
|
+
```python
|
|
136
|
+
ad = AliasDict({"a": 1, "b": 2})
|
|
137
|
+
ad.add_alias("a", "aa")
|
|
138
|
+
ad_copy = ad.copy()
|
|
139
|
+
assert ad_copy == ad
|
|
140
|
+
assert ad_copy is not ad
|
|
141
|
+
```
|
|
142
|
+
- merge with | and |= operators
|
|
143
|
+
```python
|
|
144
|
+
ad1 = AliasDict({"a": 1}, aliases={"a": ["aa"]})
|
|
145
|
+
ad2 = AliasDict({"b": 2}, aliases={"b": ["bb"]})
|
|
146
|
+
|
|
147
|
+
merged = ad1 | ad2
|
|
148
|
+
assert merged["aa"] == 1
|
|
149
|
+
assert merged["bb"] == 2
|
|
150
|
+
|
|
151
|
+
ad1 |= {"c": 3}
|
|
152
|
+
assert ad1["c"] == 3
|
|
153
|
+
```
|
|
154
|
+
- fromkeys
|
|
155
|
+
```python
|
|
156
|
+
ad = AliasDict.fromkeys(["a", "b", "c"], 0, aliases={"a": ["aa"]})
|
|
157
|
+
assert ad["a"] == ad["aa"] == 0
|
|
158
|
+
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|