pythonic-fp-circulararray 5.3.1__tar.gz → 5.3.3__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.
Files changed (19) hide show
  1. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/.gitignore +1 -0
  2. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/CHANGELOG.rst +90 -113
  3. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/PKG-INFO +8 -8
  4. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/README.rst +2 -2
  5. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/pyproject.toml +21 -14
  6. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/src/pythonic_fp/circulararray/__init__.py +5 -2
  7. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/src/pythonic_fp/circulararray/auto.py +54 -77
  8. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/src/pythonic_fp/circulararray/auto.pyi +7 -67
  9. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/src/pythonic_fp/circulararray/fixed.py +55 -81
  10. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/src/pythonic_fp/circulararray/fixed.pyi +6 -63
  11. pythonic_fp_circulararray-5.3.3/src/pythonic_fp/circulararray/py.typed +0 -0
  12. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/tests/auto/test_ca.py +0 -1
  13. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/tests/auto/test_ca_capacity.py +0 -1
  14. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/tests/auto/test_repr_str_auto.py +1 -2
  15. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/tests/fixed/test_caf.py +0 -1
  16. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/tests/fixed/test_caf_capacity.py +0 -1
  17. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/tests/fixed/test_repr_str_fixed.py +1 -2
  18. {pythonic_fp_circulararray-5.3.1 → pythonic_fp_circulararray-5.3.3}/LICENSE +0 -0
  19. /pythonic_fp_circulararray-5.3.1/src/pythonic_fp/circulararray/py.typed → /pythonic_fp_circulararray-5.3.3/src/pythonic_fp/circulararray/__init__.pyi +0 -0
@@ -1,6 +1,7 @@
1
1
  # Minimal version - only add to when necessary
2
2
  **/__pycache__/
3
3
  dist/
4
+ **/.dmypy.json
4
5
  **/.mypy_cache/
5
6
  **/.pytest_cache/
6
7
  **/.ruff_cache
@@ -1,9 +1,7 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
- Latest version of
5
- `PyPI pythonic-fp.circulararray project changelog
6
- <https://github.com/grscheller/pythonic-fp-circulararray/blob/main/README.rst>`_.
4
+ PyPI pythonic-fp-circulararray project.
7
5
 
8
6
  Semantic Versioning
9
7
  -------------------
@@ -19,16 +17,30 @@ See `Semantic Versioning 2.0.0 <https://semver.org>`_.
19
17
  Releases and Important Milestones
20
18
  ---------------------------------
21
19
 
22
- 5.3.0 - TBD
23
- ~~~~~~~~~~~
20
+ PyPI 5.3.3 - 2025-09-21
21
+ ~~~~~~~~~~~~~~~~~~~~~~~
22
+
23
+ Polished up docstrings. PyPI documentation link now goes to root, not releases.
24
+
25
+ PyPI 5.3.2 - 2025-09-04
26
+ ~~~~~~~~~~~~~~~~~~~~~~~
27
+
28
+ - removed TypeVar declarations
29
+ - removed Never from union return types
30
+ - seems Never is now interpreted as a bottom
31
+ - regenerated .pyi files with mypy's stubgen
32
+ - updated docstrings for Sphinx documentation
33
+
34
+ PyPI 5.3.1 - 2025-08-02
35
+ ~~~~~~~~~~~~~~~~~~~~~~~
24
36
 
25
37
  Added a second version of circulararray which has a fixed capacity.
26
38
 
27
39
  Also, significant docstring changes as the maintainer irons out
28
40
  how best to leverage Sphinx.
29
41
 
30
- 5.2.0 - 2025-07-13
31
- ~~~~~~~~~~~~~~~~~~
42
+ PyPI 5.2.0 - 2025-07-13
43
+ ~~~~~~~~~~~~~~~~~~~~~~~
32
44
 
33
45
  API addition, removed position only parameters from API `/`
34
46
 
@@ -38,72 +50,63 @@ API addition, removed position only parameters from API `/`
38
50
  - pythonic_fp.circulararray docstrings still a bit rough
39
51
  - fixed broken PyPI links
40
52
 
41
- 5.1.2 - 2025-07-06
42
- ~~~~~~~~~~~~~~~~~~
53
+ PyPI 5.1.2 - 2025-07-06
54
+ ~~~~~~~~~~~~~~~~~~~~~~~
43
55
 
44
56
  Documentation across pythonic-fp namespace projects brought closer into agreement.
45
57
 
46
- 5.1.1 - 2025-07-06
47
- ~~~~~~~~~~~~~~~~~~
58
+ PyPI 5.1.1 - 2025-07-06
59
+ ~~~~~~~~~~~~~~~~~~~~~~~
48
60
 
49
61
  Devel environment and documentation changes only.
50
62
 
51
63
  - documentation improvements
52
64
  - forgot to updated changelog.rst before PyPI release
53
65
  - Pythonic FP homepage now points to its GitHub README.md
54
-
55
66
  - used to point to its GH-Pages
56
67
 
57
-
58
- 5.1.0 - 2025-07-04
59
- ~~~~~~~~~~~~~~~~~~
68
+ PyPI 5.1.0 - 2025-07-04
69
+ ~~~~~~~~~~~~~~~~~~~~~~~
60
70
 
61
71
  First PyPI Release with Sphinx replacing pdoc.
62
72
 
63
73
  - switched from ``pdoc`` to ``sphinx`` for document generation
64
-
65
74
  - no longer source code controlling generated HTML (too wasteful)
66
75
  - using ``sphinx.ext.githubpages`` extension to publish from this repo
67
76
  - using ``sphinx.ext.autodoc`` to generate detailed API documentation
68
77
  - using the ``piccolo-theme at https://pypi.org/project/piccolo-theme/``
69
-
70
78
  - beautiful dark mode
71
79
  - plays nice with ``autodoc`` and ``DarkReader``
72
-
73
80
  - some formatting changes
74
-
75
81
  - no actual code changes
76
82
  - did remove TypeVar hack used for pdoc
77
-
78
83
  - made pyproject.toml improvements
79
-
80
84
  - better tooling configurations
81
85
  - removed all version caps from pyproject.toml, see this
82
86
  `blog post <https://iscinumpy.dev/post/bound-version-constraints>`_.
83
87
 
84
- 5.0.0 - 2025-05-23
85
- ~~~~~~~~~~~~~~~~~~
88
+ PyPI 5.0.0 - 2025-05-23
89
+ ~~~~~~~~~~~~~~~~~~~~~~~
86
90
 
87
91
  First PyPI release as ``pythonic-fp.circular-array``.
88
92
 
89
93
  - there was already a PyPI project with the dtools name
90
94
  - the name pythonic-fp was not taken
91
-
92
95
  - using it as the namespace name for the entire group
93
96
  - does exist as an "skeleton" project just to claim the name
94
97
  - installing it will break all the namespace packages
95
98
  - didn't want any confusion caused by someone else claiming the name
96
99
 
97
- 3.14.0 - 2025-05-10
98
- ~~~~~~~~~~~~~~~~~~~
100
+ PyPI 3.14.0 - 2025-05-10
101
+ ~~~~~~~~~~~~~~~~~~~~~~~~
99
102
 
100
103
  Made package just a single module.
101
104
 
102
105
  - dtools.circular_array.ca -> dtools.circular_array
103
106
  - docstring consolidations/updates
104
107
 
105
- 3.13.0 - 2025-05-06
106
- ~~~~~~~~~~~~~~~~~~~
108
+ PyPI 3.13.0 - 2025-05-06
109
+ ~~~~~~~~~~~~~~~~~~~~~~~~
107
110
 
108
111
  Version no longer determined dynamically.
109
112
 
@@ -111,31 +114,28 @@ Version no longer determined dynamically.
111
114
  - version now set in pyproject.toml
112
115
  - no longer doing 4 part development versioning
113
116
  - version will either denote
114
-
115
117
  - the current PyPI release - if no substantive changes made
116
118
  - the next PyPI release - what development is working toward
117
119
 
118
- 3.12.1 - 2025-04-22
119
- ~~~~~~~~~~~~~~~~~~~
120
+ PyPI 3.12.1 - 2025-04-22
121
+ ~~~~~~~~~~~~~~~~~~~~~~~~
120
122
 
121
- - docstring changes
122
- - pyproject.toml standardization
123
+ Docstring changes and pyproject.toml standardization.
123
124
 
124
- 3.12.0 - 2025-04-07
125
- ~~~~~~~~~~~~~~~~~~~
125
+ PyPI 3.12.0 - 2025-04-07
126
+ ~~~~~~~~~~~~~~~~~~~~~~~~
126
127
 
127
128
  API change.
128
129
 
129
130
  - class CA[D] no longer inherits from Sequence[D]
130
131
  - typing improvements
131
132
 
132
- 3.11.0 - 2025-04-06
133
- ~~~~~~~~~~~~~~~~~~~
133
+ PyPI 3.11.0 - 2025-04-06
134
+ ~~~~~~~~~~~~~~~~~~~~~~~~
134
135
 
135
136
  Major API change.
136
137
 
137
138
  - swapped names `ca` and `CA`
138
-
139
139
  - class name now `CA`
140
140
  - factory function taking variable number of arguments is now `ca`
141
141
 
@@ -144,77 +144,65 @@ Major API change.
144
144
  - still want this class to behave like a builtin
145
145
  - but got tired fighting linters
146
146
  - maybe being "Pythonic" means
147
-
148
147
  - that only builtins should break naming conventions
149
148
  - naming conventions being
150
-
151
149
  - snake_case for functions and method names
152
150
  - CamelCase for class names
153
-
154
151
  - perhaps a visual distinction is useful to tell when you
155
152
  - are dealing with user/library Python code
156
153
  - C code presenting itself as a Python class
157
-
158
154
  - typing improvements
159
155
 
160
- 3.10.1 - 2025-04-03
161
- ~~~~~~~~~~~~~~~~~~~
156
+ PyPI 3.10.1 - 2025-04-03
157
+ ~~~~~~~~~~~~~~~~~~~~~~~~
162
158
 
163
159
  Major API changes.
164
160
 
165
161
  - class name still `ca`
166
-
167
162
  - initializer takes 1 or 0 iterables
168
-
169
163
  - like Python builtin types `list` or `tuple`
170
-
171
164
  - factory function `CA` provided to create a `ca` from mult args
172
-
173
165
  - like `[]` or `{}`
174
-
175
166
  - otherwise, method names are all snake_case compatible
176
-
177
167
  - examples
178
-
179
168
  - popL -> popl
180
169
  - pushR -> pushr
181
170
  - fractionFilled -> fraction_filled
182
-
183
171
  - updated pyproject.toml
184
172
  - to better match other dtools namespace projects
185
173
 
186
- 3.9.1 - 2025-02-16
187
- ~~~~~~~~~~~~~~~~~~
174
+ PyPI 3.9.1 - 2025-02-16
175
+ ~~~~~~~~~~~~~~~~~~~~~~~
188
176
 
189
177
  Fixed pdoc issues with new typing notation.
190
178
 
191
179
  - updated docstrings
192
180
  - had to add TypeVars
193
181
 
194
- 3.9.0 - 2025-01-16
195
- ~~~~~~~~~~~~~~~~~~
182
+ PyPI 3.9.0 - 2025-01-16
183
+ ~~~~~~~~~~~~~~~~~~~~~~~
196
184
 
197
185
  First release as dtools.circular-array,
198
186
  was previously grscheller.circular-array.
199
187
 
200
- 3.8.0 - 2025-01-03
201
- ~~~~~~~~~~~~~~~~~~
188
+ PyPI 3.8.0 - 2025-01-03
189
+ ~~~~~~~~~~~~~~~~~~~~~~~
202
190
 
203
191
  Now circular-array indexing methods fully support slicing, also added
204
192
  the rotL(n) and rotR(n) methods.
205
193
 
206
- 3.7.1 - 2024-11-18
207
- ~~~~~~~~~~~~~~~~~~
194
+ PyPI 3.7.1 - 2024-11-18
195
+ ~~~~~~~~~~~~~~~~~~~~~~~
208
196
 
209
197
  For internal changes. Mostly for consistency across PyPI namespace projects
210
198
 
211
- 3.7.0 - 2024-10-26
212
- ~~~~~~~~~~~~~~~~~~
199
+ PyPI 3.7.0 - 2024-10-26
200
+ ~~~~~~~~~~~~~~~~~~~~~~~
213
201
 
214
202
  Regenerated docs for PyPI release.
215
203
 
216
- 3.6.3.2 - 2024-10-20
217
- ~~~~~~~~~~~~~~~~~~~~
204
+ Version 3.6.3.2 - 2024-10-20
205
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218
206
 
219
207
  Just a commit, preparing for a 3.7.0 PyPI release.
220
208
 
@@ -222,20 +210,20 @@ Just a commit, preparing for a 3.7.0 PyPI release.
222
210
  - created factory function for original constructor use case
223
211
  - generated docs in docs repo
224
212
 
225
- 3.6.2 - 2024-10-20
226
- ~~~~~~~~~~~~~~~~~~
213
+ PyPI 3.6.2 - 2024-10-20
214
+ ~~~~~~~~~~~~~~~~~~~~~~~
227
215
 
228
216
  Removed docs from repo, now docs for all grscheller namespace projects located
229
217
  [here](https://grscheller.github.io/grscheller-pypi-namespace-docs/).
230
218
 
231
- 3.6.1 - 2024-10-18
232
- ~~~~~~~~~~~~~~~~~~
219
+ PyPI 3.6.1 - 2024-10-18
220
+ ~~~~~~~~~~~~~~~~~~~~~~~
233
221
 
234
222
  Infrastructure and minor docstring changes. Should be compatible with
235
223
  version 3.6.0.
236
224
 
237
- 3.6.0 - 2024-09-21
238
- ~~~~~~~~~~~~~~~~~~
225
+ PyPI 3.6.0 - 2024-09-21
226
+ ~~~~~~~~~~~~~~~~~~~~~~~
239
227
 
240
228
  No future changes planned for the foreseeable future
241
229
 
@@ -246,8 +234,8 @@ No future changes planned for the foreseeable future
246
234
  - several more pytest tests added
247
235
  - made the `compact` method private, now called `_compact_storage_capacity`
248
236
 
249
- 3.5.0 - 2024-09-21
250
- ~~~~~~~~~~~~~~~~~~
237
+ PyPI 3.5.0 - 2024-09-21
238
+ ~~~~~~~~~~~~~~~~~~~~~~~
251
239
 
252
240
  - made the `double` method
253
241
  - O(1) amortized pushes and pops either end.
@@ -257,33 +245,30 @@ No future changes planned for the foreseeable future
257
245
  - major docstring improvements
258
246
  - improved indentation and code alignment, now much more Pythonic
259
247
 
260
- 3.4.1 - 2024-08-17
261
- ~~~~~~~~~~~~~~~~~~
248
+ PyPI 3.4.1 - 2024-08-17
249
+ ~~~~~~~~~~~~~~~~~~~~~~~
262
250
 
263
251
  - updated README.md to reflect name changes of CA methods
264
252
  - docstring improvements
265
253
 
266
- 3.4.0 - 2024-08-15
267
- ~~~~~~~~~~~~~~~~~~
254
+ PyPI 3.4.0 - 2024-08-15
255
+ ~~~~~~~~~~~~~~~~~~~~~~~
268
256
 
269
257
  Updated `__eq__` comparisons.
270
258
 
271
259
  - first compare elements by identity before equality
272
-
273
260
  - I noticed that is what Python builtins do
274
261
  - makes dealing with grscheller.fp.nada module easier
275
-
276
262
  - standardizing docstrings across grscheller PyPI projects
277
263
 
278
- 3.3.0.1 - 2024-08-05
279
- ~~~~~~~~~~~~~~~~~~~~
264
+ Version 3.3.0.1 - 2024-08-05
265
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
280
266
 
281
267
  Just a commit, made a paradigm "regression".
282
268
 
283
269
  - made a paradigm "regression", preparing for a 3.4.0 release
284
270
  - felt CA was becoming way too complicated
285
271
  - grscheller.datastructures needed it to fully embrace type annotations
286
-
287
272
  - but I was shifting too many features back into grscheller.circular-array
288
273
  - want ca to be useful for non-functional applications
289
274
 
@@ -297,34 +282,29 @@ The changes made were
297
282
  - changed nomenclature from "left/right" to "front/rear"
298
283
  - unsafe and safe versions of pop & fold functionality
299
284
  - left and right folds improvements
300
-
301
285
  - consolidated `foldL, foldL1, foldR, foldR1` into `foldL` & `foldR`
302
-
303
286
  - tests working
304
-
305
287
  - basically I changed pops to unsafe pops and added `try except` blocks
306
288
  - safe versions tests needed
307
-
308
289
  - safe pops return multiple values in tuples
309
290
  - will take a `default` value to return
310
-
311
291
  - if only asked to return 1 value and CA is empty
312
292
  - seems to work properly from iPython
313
293
 
314
- 3.2.0 - 2024-07-26
315
- ~~~~~~~~~~~~~~~~~~
294
+ PyPI 3.2.0 - 2024-07-26
295
+ ~~~~~~~~~~~~~~~~~~~~~~~
316
296
 
317
297
  The class name was changed ``CircularArray -> CA`` Now takes a "sentinel" or "fallback" value in its
318
298
  initializer, formally used ``None`` for this.
319
299
 
320
- 3.1.0 - 2024-07-11
321
- ~~~~~~~~~~~~~~~~~~
300
+ PyPI 3.1.0 - 2024-07-11
301
+ ~~~~~~~~~~~~~~~~~~~~~~~
322
302
 
323
303
  Generic typing now being used, first PyPI release where multiple values can be
324
304
  pushed on CircularArray.
325
305
 
326
- 3.0.0 - 2024-06-28
327
- ~~~~~~~~~~~~~~~~~~
306
+ Version 3.0.0 - 2024-06-28
307
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
328
308
  Just a commit, not a PyPI release.
329
309
 
330
310
  CircularArray class now using Generic Type Parameter. new epoch in development,
@@ -337,8 +317,8 @@ API changes:
337
317
  - ``foldL1(self, f: Callable[[S, T], S], initial: S) -> S``
338
318
  - ``foldR1(self, f: Callable[[T, S], S], initial: S) -> S``
339
319
 
340
- 2.0.0 - 2024-03-08
341
- ~~~~~~~~~~~~~~~~~~
320
+ PyPI 2.0.0 - 2024-03-08
321
+ ~~~~~~~~~~~~~~~~~~~~~~~
342
322
 
343
323
  New "epoch" due to resizing bug fixed on previous commit.
344
324
 
@@ -347,59 +327,56 @@ New "epoch" due to resizing bug fixed on previous commit.
347
327
  - method `_double()` made "public" and renamed `double()`
348
328
  - method `resize(new_size)` now resizes to at least new_size
349
329
 
350
- 1.1.0.0 - 2024-03-08
351
- ~~~~~~~~~~~~~~~~~~~~
330
+ Version 1.1.0.0 - 2024-03-08
331
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
352
332
 
353
333
  Just a commit to prepare for PyPI release 2.0.0!!!
354
334
 
355
335
  - BUGFIX: Fixed a subtle resizing bug
356
-
357
336
  - bug probably present in all previous versions
358
337
  - not previously identified due to inadequate test coverage
359
338
  - test coverage improved vastly
360
-
361
339
  - made some major code API changes
362
-
363
340
  - upon initialization minimizing size of the CircularArray
364
341
  - have some ideas on how to improve API for resizing CircularArrays
365
342
  - need to test my other 2 PyPI projects, both use circular-array as a dependency
366
343
 
367
- 1.0.1 - 2024-03-01
368
- ~~~~~~~~~~~~~~~~~~
344
+ PyPI 1.0.1 - 2024-03-01
345
+ ~~~~~~~~~~~~~~~~~~~~~~~
369
346
 
370
347
  Docstring updates to match other grscheller PyPI repos.
371
348
 
372
- 1.0.0 - 2024-02-10
373
- ~~~~~~~~~~~~~~~~~~
349
+ PyPI 1.0.0 - 2024-02-10
350
+ ~~~~~~~~~~~~~~~~~~~~~~~
374
351
 
375
352
  First stable PyPI release, dropped minimum Python requirement to 3.10.
376
353
 
377
- 0.1.1 - 2024-01-30
378
- ~~~~~~~~~~~~~~~~~~
354
+ PyPI 0.1.1 - 2024-01-30
355
+ ~~~~~~~~~~~~~~~~~~~~~~~
379
356
 
380
357
  Changed circular-array from a package to just a module, actually a breaking API
381
358
  change. Version number should have been 0.2.0 Also, gave CircularArray class
382
359
  `foldL` & `foldR` methods.
383
360
 
384
- 0.1.0 - 2024-01-28
385
- ~~~~~~~~~~~~~~~~~~
361
+ PyPI 0.1.0 - 2024-01-28
362
+ ~~~~~~~~~~~~~~~~~~~~~~~
386
363
 
387
364
  - initial PyPI grscheller.circular-array release
388
365
  - migrated Circulararray class from grscheller.datastructures
389
366
  - update docstrings to reflect current nomenclature
390
367
 
391
- 0.0.3 - 2024-01-28
392
- ~~~~~~~~~~~~~~~~~~
368
+ Version 0.0.3 - 2024-01-28
369
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
393
370
 
394
371
  Got gh-pages working for the repo.
395
372
 
396
- 0.0.2 - 2024-01-28
397
- ~~~~~~~~~~~~~~~~~~
373
+ Version 0.0.2 - 2024-01-28
374
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
398
375
 
399
376
  Pushed repo up to GitHub, created README.md file for project.
400
377
 
401
- 0.0.1 - 2024-01-28
402
- ~~~~~~~~~~~~~~~~~~
378
+ Version 0.0.1 - 2024-01-28
379
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
403
380
 
404
381
  Decided to split Circulararray class out of grscheller.datastructures, will make it its own PyPI
405
382
  project. Got it working with datastructures locally.
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pythonic-fp-circulararray
3
- Version: 5.3.1
4
- Summary: Package implementing stateful circular array data structures.
5
- Keywords: auto resizing,circular array,dequeue,indexable,pop,push
3
+ Version: 5.3.3
4
+ Summary: Circular Array
5
+ Keywords: auto resizing,circular array,circulararray,dequeue,indexable,pop,push
6
6
  Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
7
- Requires-Python: >=3.12
7
+ Requires-Python: >=3.13
8
8
  Description-Content-Type: text/x-rst
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Framework :: Pytest
@@ -16,13 +16,13 @@ Classifier: Typing :: Typed
16
16
  License-File: LICENSE
17
17
  Requires-Dist: pytest>=8.4.1 ; extra == "test"
18
18
  Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-circulararray/blob/main/CHANGELOG.rst
19
- Project-URL: Documentation, https://grscheller.github.io/pythonic-fp/circulararray/development/build/html/releases.html
20
- Project-URL: Homepage, https://github.com/grscheller/pythonic-fp/blob/main/README.rst
19
+ Project-URL: Documentation, https://grscheller.github.io/pythonic-fp/circulararray/development/build/html/index.html
20
+ Project-URL: Homepage, https://github.com/grscheller/pythonic-fp/blob/main/README.md
21
21
  Project-URL: Source, https://github.com/grscheller/pythonic-fp-circulararray
22
22
  Provides-Extra: test
23
23
 
24
- PPythonic FP - Circular Array
25
- =============================
24
+ Pythonic FP - Circular Array
25
+ ============================
26
26
 
27
27
  PyPI project
28
28
  `pythonic-fp-circulararray
@@ -1,5 +1,5 @@
1
- PPythonic FP - Circular Array
2
- =============================
1
+ Pythonic FP - Circular Array
2
+ ============================
3
3
 
4
4
  PyPI project
5
5
  `pythonic-fp-circulararray
@@ -1,17 +1,14 @@
1
- [build-system]
2
- requires = ["flit_core>=3.12,<4"]
3
- build-backend = "flit_core.buildapi"
4
-
5
1
  [project]
6
2
  name = "pythonic-fp-circulararray"
7
- version = "5.3.1"
3
+ version = "5.3.3"
8
4
  readme = "README.rst"
9
- requires-python = ">=3.12"
5
+ requires-python = ">=3.13"
10
6
  license = { file = "LICENSE" }
11
7
  authors = [{ name = "Geoffrey R. Scheller", email = "geoffrey@scheller.com" }]
12
8
  keywords = [
13
9
  "auto resizing",
14
10
  "circular array",
11
+ "circulararray",
15
12
  "dequeue",
16
13
  "indexable",
17
14
  "pop",
@@ -29,24 +26,30 @@ classifiers = [
29
26
  dependencies = []
30
27
  dynamic = ["description"]
31
28
 
29
+ [project.urls]
30
+ Changelog = "https://github.com/grscheller/pythonic-fp-circulararray/blob/main/CHANGELOG.rst"
31
+ Documentation = "https://grscheller.github.io/pythonic-fp/circulararray/development/build/html/index.html"
32
+ Homepage = "https://github.com/grscheller/pythonic-fp/blob/main/README.md"
33
+ Source = "https://github.com/grscheller/pythonic-fp-circulararray"
34
+
32
35
  [project.optional-dependencies]
33
36
  test = [
34
37
  "pytest>=8.4.1",
35
38
  ]
36
39
 
37
- [project.urls]
38
- Changelog = "https://github.com/grscheller/pythonic-fp-circulararray/blob/main/CHANGELOG.rst"
39
- Documentation = "https://grscheller.github.io/pythonic-fp/circulararray/development/build/html/releases.html"
40
- Homepage = "https://github.com/grscheller/pythonic-fp/blob/main/README.rst"
41
- Source = "https://github.com/grscheller/pythonic-fp-circulararray"
40
+ [build-system]
41
+ requires = ["flit_core>=3.12,<4"]
42
+ build-backend = "flit_core.buildapi"
42
43
 
43
44
  [tool.flit.module]
44
45
  name = "pythonic_fp.circulararray"
45
46
 
46
47
  [tool.mypy]
47
- enable_incomplete_feature = ["NewGenericSyntax"]
48
+ enable_incomplete_feature = "NewGenericSyntax"
49
+ explicit_package_bases = true
48
50
  implicit_reexport = false
49
51
  local_partial_types = true
52
+ namespace_packages = true
50
53
  warn_redundant_casts = true
51
54
  warn_return_any = true
52
55
  warn_unused_configs = true
@@ -54,21 +57,25 @@ warn_unused_configs = true
54
57
  [tool.pylsp-mypy]
55
58
  enabled = true
56
59
  live-mode = true
60
+ dmypy = false
57
61
  strict = true
58
62
  report_progress = true
59
63
 
60
64
  [tool.pytest.ini_options]
65
+ addopts = "-ra"
61
66
  consider_namespace_packages = true
62
67
  testpaths = ["tests/"]
63
- addopts = "-ra"
64
68
 
65
69
  [tool.ruff]
66
70
  target-version = "py313"
67
- ignore = ["E741"]
68
71
 
69
72
  [tool.ruff.lint.flake8-quotes]
70
73
  docstring-quotes = "double"
71
74
 
75
+ [tool.ruff.lint.per-file-ignores]
76
+ "tests/*" = ["C901"]
77
+ "**/*.py" = ["E741"]
78
+
72
79
  [tool.ruff.format]
73
80
  quote-style = "single"
74
81
  docstring-code-line-length = 72
@@ -12,7 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- """Package implementing stateful circular array data structures.
15
+ """
16
+ Circular Array
17
+ --------------
18
+
19
+ Package implementing stateful circular array data structures.
16
20
 
17
21
  - O(1) pops and pushes either end
18
22
  - O(1) indexing and size determination
@@ -25,7 +29,6 @@
25
29
  +-------------------------------------+-------------------------------------------+
26
30
  | **pythonic_fp.circulararray.fixed** | Fixed storage capacity circular array. |
27
31
  +-------------------------------------+-------------------------------------------+
28
-
29
32
  """
30
33
 
31
34
  __author__ = 'Geoffrey R. Scheller'