Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/aenum/CHANGES @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author | shellac |
---|---|
date | Mon, 01 Jun 2020 08:59:25 -0400 |
parents | 79f47841a781 |
children |
comparison
equal
deleted
inserted
replaced
4:79f47841a781 | 5:9b1c78e6ba9c |
---|---|
1 2.2.3 | |
2 ===== | |
3 | |
4 use member type's methods __str__, __repr__, __format__, and | |
5 __reduce_ex__ if directly assigned in Enum class body; i.e.: | |
6 | |
7 --> class Color(str, Enum): | |
8 ... red = 'red' | |
9 ... green = 'green' | |
10 ... blue = 'blue' | |
11 ... __str__ = str.__str__ | |
12 | |
13 --> print(repr(Color.green)) | |
14 <Color.green: 'green'> | |
15 | |
16 --> print(Color.green) | |
17 green | |
18 | |
19 | |
20 2.2.2 | |
21 ===== | |
22 | |
23 replace _RouteClassAttributeToGetattr with enum_property (it is still | |
24 available as an alias) | |
25 | |
26 support constant() and auto() being used together: | |
27 | |
28 --> class Fruit(Flag): | |
29 ... _order_ = 'apple banana lemon orange' | |
30 ... apple = auto() | |
31 ... banana = auto() | |
32 ... lemon = auto() | |
33 ... orange = auto() | |
34 ... CitrusTypes = constant(lemon | orange) | |
35 | |
36 --> list(Fruit) | |
37 [Fruit.apple, Fruit.banana, Fruit.lemon, Fruit.orange] | |
38 | |
39 --> list(Fruit.CitrusTypes) | |
40 [Fruit.orange, Fruit.lemon] | |
41 | |
42 --> Fruit.orange in Fruit.CitrusTypes | |
43 True | |
44 | |
45 | |
46 2.2.1 | |
47 ===== | |
48 | |
49 allow Enums to be called without a value | |
50 | |
51 class Color(Enum): | |
52 black = 0 | |
53 red = 1 | |
54 green = 2 | |
55 blue = 3 | |
56 # | |
57 @classmethod | |
58 def _missing_value_(cls, value): | |
59 if value is no_arg: | |
60 return cls.black | |
61 | |
62 >>> Color() | |
63 <Color.black: 0> | |
64 | |
65 allow Enum name use while constructing Enum (Python 3.4+ only) | |
66 | |
67 --> class Color(Enum): | |
68 ... _order_ = 'BLACK WHITE' | |
69 ... BLACK = Color('black', '#000') | |
70 ... WHITE = Color('white', '#fff') | |
71 ... # | |
72 ... def __init__(self, label, hex): | |
73 ... self.label = label | |
74 ... self.hex = hex | |
75 | |
76 | |
77 2.2.0 | |
78 ===== | |
79 | |
80 BREAKING CHANGE | |
81 --------------- | |
82 In Python 3+ classes defined inside an Enum no longer become members by | |
83 default; in Python 2 they still become members, but see below. | |
84 | |
85 For cross-compatibility and full control two decorators are provided: | |
86 | |
87 - @member --> forces item to become a member | |
88 - @nonmember --> excludes item from becoming a member | |
89 | |
90 So to have an Enum that behaves the same in Python 2 and 3, use the | |
91 decorators (and other compatibility shims): | |
92 | |
93 class Color(Enum): | |
94 | |
95 _order_ = 'red green blue' | |
96 | |
97 red = 1 | |
98 green = 2 | |
99 blue = 3 | |
100 | |
101 @nonmember | |
102 class Shades(Enum): | |
103 | |
104 _order_ = 'light medium dark' | |
105 | |
106 light = 1 | |
107 medium = 2 | |
108 dark = 3 | |
109 | |
110 | |
111 2.1.4 | |
112 ===== | |
113 | |
114 EnumMeta: | |
115 - change __member_new__ to __new_member__ (as the stdlib enum does) | |
116 - assign member name to enum() instances (an Enum helper for defining members) | |
117 - handle empty iterables when using functional API | |
118 - make auto() work with previous enum members | |
119 - keep searching mixins until base class is found | |
120 | |
121 Enum: | |
122 - fix bug in Flag checks (ensure it is a Flag before checking the name) | |
123 - add multiple mixin support | |
124 - do not allow blank names (functional API) | |
125 - raise TypeError if _missing_* returns wrong type | |
126 - fix __format__ to honor custom __str__ | |
127 | |
128 extend_enum: | |
129 - support stdlib Enums | |
130 - use _generate_next_value_ if value not provided | |
131 | |
132 general: | |
133 - standardize exception formatting | |
134 - use getfullargspec() in Python 3 (avoids deprecation warnings) | |
135 | |
136 | |
137 2.1.2 | |
138 ===== | |
139 | |
140 when order is callable, save it for subclass use | |
141 | |
142 | |
143 2.1.1 | |
144 ===== | |
145 | |
146 correctly raise TypeError for non-Enum containment checks | |
147 support combining names with | for Flag key access | |
148 support _order_ being a callable | |
149 | |
150 | |
151 2.1.0 | |
152 ===== | |
153 | |
154 support Flags being combined with other data types: | |
155 - add _create_pseudo_member_values_ | |
156 - add default __new__ and temporary _init_ | |
157 | |
158 | |
159 2.0.10 | |
160 ====== | |
161 | |
162 ensure _ignore_ is set when _settings_ specified in body which includes | |
163 AutoValue | |
164 | |
165 make Flag members iterable | |
166 | |
167 | |
168 2.0.9 | |
169 ===== | |
170 | |
171 fix missing comma in __all__ | |
172 fix extend_enum with custom __new__ methods | |
173 fix MultiValue with AutoNumber without _init_ | |
174 | |
175 | |
176 2.0.8 | |
177 ===== | |
178 | |
179 extend_enum now handles aliases and multivalues correctly | |
180 | |
181 | |
182 2.0.7 | |
183 ===== | |
184 | |
185 support mixin types with extend_enum | |
186 init and AutoNumber can now work together | |
187 add test for new Enum using EnumMeta | |
188 add tests for variations of multivalue and init | |
189 prevent deletion of NamedConstant.constant | |
190 | |
191 | |
192 2.0.6 | |
193 ===== | |
194 | |
195 constants cannot be deleted (they already couldn't be changed) | |
196 constants can be used to define other constants | |
197 | |
198 | |
199 2.0.5 | |
200 ===== | |
201 | |
202 _init_ and MultiValue can now work together | |
203 | |
204 | |
205 2.0.4 | |
206 ===== | |
207 | |
208 _init_ and AutoValue (and _generate_next_value_) can now work together to | |
209 supply missing values even when some of the required values per member are | |
210 absent | |
211 | |
212 | |
213 2.0.3 | |
214 ===== | |
215 | |
216 add _missing_value_ and _missing_name_ methods, deprecate _missing_ | |
217 make enum instances comparable | |
218 | |
219 | |
220 2.0.2 | |
221 ===== | |
222 | |
223 both EnumMeta.__getattr__ and Enum.__new__ fall back to _missing_ | |
224 | |
225 | |
226 2.0.1 | |
227 ===== | |
228 | |
229 auto() now works with other data types | |
230 AutoNumber supports legacy Enums (fixed regression) | |
231 | |
232 | |
233 2.0.0 | |
234 ===== | |
235 | |
236 Flag and IntFlag added. | |
237 | |
238 | |
239 1.4.7 | |
240 ===== | |
241 | |
242 fix %-interpolation bug | |
243 defined SqlLiteEnum only if sqlite exists | |
244 support pyflakes | |
245 | |
246 | |
247 1.4.6 | |
248 ===== | |
249 | |
250 version numbering error | |
251 | |
252 | |
253 1.4.5 | |
254 ===== | |
255 | |
256 revert AutoNumberEnum to custom __new__ instead of AutoNumber | |
257 use _ignore_ to shield against AutoNumber magic | |
258 inherit start and init settings from base Enums | |
259 | |
260 | |
261 1.4.4 | |
262 ===== | |
263 | |
264 enabled export as a decorator | |
265 enabled _order_ to replace __order__ | |
266 enabled python2 support for settings, init, and start | |
267 | |
268 | |
269 1.4.3 | |
270 ===== | |
271 | |
272 support _ignore_ for dynamically creating class bodies | |
273 | |
274 | |
275 1.4.2 | |
276 ===== | |
277 | |
278 MultiValue, NoAlias, Unique, and init now work with Python 2 | |
279 | |
280 | |
281 1.4.1 | |
282 ===== | |
283 | |
284 Py3: added Enum creation flags: Auto, MultiValue, NoAlias, Unique | |
285 | |
286 fixed extend_enum to honor Enum flags | |
287 | |
288 | |
289 1.4.0 | |
290 ===== | |
291 | |
292 When possible aenum inherits from Python's own enum. | |
293 | |
294 Breaking change: enum members now default to evaluating as True to maintain | |
295 compatibility with the stdlib. | |
296 | |
297 Add your own __bool__ (__nonzero__ in Python 2) if need this behavior: | |
298 | |
299 def __bool__(self): | |
300 return bool(self.value) | |
301 __nonzero__ = __bool__ | |
302 |