dtools.circular-array 3.9.0__tar.gz → 3.10.1__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.
- dtools_circular_array-3.10.1/CHANGELOG.md +216 -0
- dtools_circular_array-3.10.1/PKG-INFO +104 -0
- dtools_circular_array-3.10.1/README.md +81 -0
- {dtools_circular_array-3.9.0 → dtools_circular_array-3.10.1}/pyproject.toml +17 -12
- {dtools_circular_array-3.9.0 → dtools_circular_array-3.10.1}/src/dtools/circular_array/__init__.py +10 -8
- dtools_circular_array-3.10.1/src/dtools/circular_array/ca.py +508 -0
- dtools_circular_array-3.9.0/CHANGELOG.md +0 -192
- dtools_circular_array-3.9.0/PKG-INFO +0 -85
- dtools_circular_array-3.9.0/README.md +0 -63
- dtools_circular_array-3.9.0/src/dtools/circular_array/ca.py +0 -429
- dtools_circular_array-3.9.0/tests/grscheller/circular_array/ca/test_ca_capacity.py +0 -112
- dtools_circular_array-3.9.0/tests/grscheller/circular_array/ca/test_circular_array.py +0 -439
- dtools_circular_array-3.9.0/tests/grscheller/circular_array/ca/test_repr_str.py +0 -68
- {dtools_circular_array-3.9.0 → dtools_circular_array-3.10.1}/LICENSE +0 -0
- {dtools_circular_array-3.9.0 → dtools_circular_array-3.10.1}/src/dtools/circular_array/py.typed +0 -0
@@ -0,0 +1,216 @@
|
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
PyPI grscheller.circular-array project.
|
4
|
+
|
5
|
+
- first digit - major event, epoch, or paradigm shift
|
6
|
+
- second digit - breaking API changes, major changes
|
7
|
+
- third digit - bug fixes, API additions, breaking API in dev env
|
8
|
+
- forth digit - commit count changes/regressions (dev environment only)
|
9
|
+
|
10
|
+
## Releases and Important Milestones
|
11
|
+
|
12
|
+
### Version 3.10.1 - PyPI release date 2025-04-03
|
13
|
+
|
14
|
+
- Major API changes
|
15
|
+
- class name still `ca`
|
16
|
+
- initializer takes 1 or 0 iterables
|
17
|
+
- like Python builtin types `list` or `tuple`
|
18
|
+
- factory function `CA` provided to create a `ca` from mult args
|
19
|
+
- like `[]` or `{}`
|
20
|
+
- otherwise, method names are all snake_case compatible
|
21
|
+
- examples
|
22
|
+
- popL -> popl
|
23
|
+
- pushR -> pushr
|
24
|
+
- fractionFilled -> fraction_filled
|
25
|
+
- updated pyproject.toml
|
26
|
+
- to better match other dtools namespace projects
|
27
|
+
|
28
|
+
### Version 3.9.1 - PyPI release date 2025-02-16
|
29
|
+
|
30
|
+
- Fixed pdoc issues with new typing notation
|
31
|
+
- updated docstrings
|
32
|
+
- had to add TypeVars
|
33
|
+
|
34
|
+
### Version 3.9.0 - PyPI release date 2025-01-16
|
35
|
+
|
36
|
+
- Final release as dtools.circular-array
|
37
|
+
- was previously grscheller.circular-array
|
38
|
+
|
39
|
+
### Version 3.8.0 - PyPI release date 2025-01-03
|
40
|
+
|
41
|
+
- now circular-array indexing methods fully support slicing
|
42
|
+
- `__getitem__`
|
43
|
+
- `__setitem__`
|
44
|
+
- `__delitem__`
|
45
|
+
- added rotL(n) and rotR(n) methods
|
46
|
+
|
47
|
+
### Version 3.7.1 - PyPI release date 2024-11-18
|
48
|
+
|
49
|
+
- for internal changes
|
50
|
+
- mostly for consistency across PyPI namespace projects
|
51
|
+
|
52
|
+
### Version 3.7.0 - PyPI release date 2024-10-26
|
53
|
+
|
54
|
+
- regenerated docs for PyPI release
|
55
|
+
|
56
|
+
### Version 3.6.3.2 - Commit date 2024-10-20
|
57
|
+
|
58
|
+
- preparing for a 3.7.0 PyPI release
|
59
|
+
- renamed class ca -> CA
|
60
|
+
- ca now takes 0 or 1 iterables
|
61
|
+
- created factory function for original constructor use case
|
62
|
+
- `CA[D](*ds: D) -> ca[D]`
|
63
|
+
- generated docs in docs repo - 2024-10-23
|
64
|
+
|
65
|
+
### Version 3.6.2 - PyPI release date 2024-10-20
|
66
|
+
|
67
|
+
- removed docs from repo
|
68
|
+
- docs for all grscheller namespace projects located
|
69
|
+
[here](https://grscheller.github.io/grscheller-pypi-namespace-docs/).
|
70
|
+
|
71
|
+
### Version 3.6.1 - PyPI release date 2024-10-18
|
72
|
+
|
73
|
+
- infrastructure and minor docstring changes
|
74
|
+
- should be compatible with version 3.6.0
|
75
|
+
|
76
|
+
### Version 3.6.0 - PyPI release date 2024-09-21
|
77
|
+
|
78
|
+
- no future changes planned for the foreseeable future
|
79
|
+
- feature complete
|
80
|
+
- no external dependencies
|
81
|
+
- well tested with other grscheller namespace packages
|
82
|
+
- final API tweaks made
|
83
|
+
- several more pytest tests added
|
84
|
+
- made the `compact` method private
|
85
|
+
- now called `_compact_storage_capacity`
|
86
|
+
|
87
|
+
### Version 3.5.0 - PyPI release date 2024-09-21
|
88
|
+
|
89
|
+
- made the `double` method private
|
90
|
+
- now called `_double_storage_capacity`
|
91
|
+
- major docstring improvements
|
92
|
+
- improved indentation and code alignment
|
93
|
+
- now much more Pythonic
|
94
|
+
|
95
|
+
### Version 3.4.1 - PyPI release date 2024-08-17
|
96
|
+
|
97
|
+
- updated README.md to reflect name changes of CA methods
|
98
|
+
- docstring improvements
|
99
|
+
|
100
|
+
### Version 3.4.0 - PyPI release date 2024-08-15
|
101
|
+
|
102
|
+
- updated `__eq__` comparisons
|
103
|
+
- first compare elements by identity before equality
|
104
|
+
- noticed that is what Python builtins do
|
105
|
+
- makes dealing with grscheller.fp.nada module easier
|
106
|
+
- standardizing docstrings across grscheller PyPI projects
|
107
|
+
|
108
|
+
### Version 3.3.0.1 - commit date 2024-08-05
|
109
|
+
|
110
|
+
- made a paradigm "regression", preparing for a 3.4.0 release
|
111
|
+
- felt CA was becoming way too complicated
|
112
|
+
- grscheller.datastructures needed it to fully embrace type annotations
|
113
|
+
- but I was shifting too many features back into grscheller.circular-array
|
114
|
+
- want ca to be useful for non-functional applications
|
115
|
+
- changes made
|
116
|
+
- removed grscheller.fp dependency
|
117
|
+
- remove `_sentinel` and `_storable` slots from CA class
|
118
|
+
- remove copy method, just use `ca2 = CA(*ca1)` to make a shallow copy
|
119
|
+
- adjust `__repr__` and `__str__` methods
|
120
|
+
- experimenting with Spinx syntax in docstrings (still using pdoc3)
|
121
|
+
- changed nomenclature from "left/right" to "front/rear"
|
122
|
+
- unsafe and safe versions of pop & fold functionality
|
123
|
+
- left and right folds improvements
|
124
|
+
- consolidated `foldL, foldL1, foldR, foldR1` into `foldL` & `foldR`
|
125
|
+
- TODO: rename `foldL` to `fold_forward` & `foldR` to `fold_backward`
|
126
|
+
- tests working
|
127
|
+
- basically I changed pops to unsafe pops and added `try except` blocks
|
128
|
+
- safe versions tests needed
|
129
|
+
- safe pops return multiple values in tuples
|
130
|
+
- will take a `default` value to return
|
131
|
+
- if only asked to return 1 value and CA is empty
|
132
|
+
- seems to work properly from iPython
|
133
|
+
|
134
|
+
### Version 3.2.0 - PyPI release date 2024-07-26
|
135
|
+
|
136
|
+
- class name changed CircularArray -> CA
|
137
|
+
- Now takes a "sentinel" or "fallback" value in its initializer
|
138
|
+
- formally used None for this
|
139
|
+
|
140
|
+
### Version 3.1.0 - PyPI release date 2024-07-11
|
141
|
+
|
142
|
+
- generic typing now being used
|
143
|
+
- first PyPI release where mult values can be pushed on CircularArray
|
144
|
+
|
145
|
+
### Version 3.0.0 - commit date 2024-06-28
|
146
|
+
|
147
|
+
- CircularArray class now using Generic Type Parameter
|
148
|
+
|
149
|
+
- new epoch in development, start of 3.0 series
|
150
|
+
|
151
|
+
- now using TypeVars
|
152
|
+
|
153
|
+
- API changes
|
154
|
+
|
155
|
+
- `foldL(self, f: Callable[[T, T], T]) -> T|None`
|
156
|
+
- `foldR(self, f: Callable[[T, T], T]) -> T|None`
|
157
|
+
- `foldL1(self, f: Callable[[S, T], S], initial: S) -> S`
|
158
|
+
- `foldR1(self, f: Callable[[T, S], S], initial: S) -> S`
|
159
|
+
|
160
|
+
### Version 2.0.0 - PyPI release date 2024-03-08
|
161
|
+
|
162
|
+
- new epoch due to resizing bug fixed on previous commit
|
163
|
+
- much improved and cleaned up
|
164
|
+
- much better test suite
|
165
|
+
- method `_double()` made "public" and renamed `double()`
|
166
|
+
- method `resize(new_size)` now resizes to at least new_size
|
167
|
+
|
168
|
+
### Version 1.1.0.0 - commit date 2024-03-08
|
169
|
+
|
170
|
+
- NEXT PyPI RELEASE WILL BE 2.0.0 !!!!!!!!!!!
|
171
|
+
- BUGFIX: Fixed a subtle resizing bug
|
172
|
+
- bug probably present in all previous versions
|
173
|
+
- not previously identified due to inadequate test coverage
|
174
|
+
- test coverage improved vastly
|
175
|
+
- made some major code API changes
|
176
|
+
- upon initialization minimizing size of the CircularArray
|
177
|
+
- have some ideas on how to to improve API for resizing CircularArrays
|
178
|
+
- need to test my other 2 PyPI projects
|
179
|
+
- both use circular-array as a dependency
|
180
|
+
|
181
|
+
### Version 1.0.1 - PyPI release date 2024-03-01
|
182
|
+
|
183
|
+
- docstring updates to match other grscheller PyPI repos
|
184
|
+
|
185
|
+
### Version 1.0.0 - PyPI release date 2024-02-10
|
186
|
+
|
187
|
+
- first stable release
|
188
|
+
- dropped minimum Python requirement to 3.10
|
189
|
+
|
190
|
+
### Version 0.1.1 - PyPI release date 2024-01-30
|
191
|
+
|
192
|
+
- changed circular-array from a package to just a module
|
193
|
+
- actually breaking API change
|
194
|
+
- version number should have been 0.2.0
|
195
|
+
- gave CircularArray class `foldL` & `foldR` methods
|
196
|
+
|
197
|
+
### Version 0.1.0 - PyPI release date 2024-01-28
|
198
|
+
|
199
|
+
- initial PyPI grscheller.circular-array release
|
200
|
+
- migrated Circulararray class from grscheller.datastructures
|
201
|
+
- update docstrings to reflect current nomenclature
|
202
|
+
|
203
|
+
### Version 0.0.3 - commit date 2024-01-28
|
204
|
+
|
205
|
+
- got gh-pages working for the repo
|
206
|
+
|
207
|
+
### Version 0.0.2 - commit date 2024-01-28
|
208
|
+
|
209
|
+
- pushed repo up to GitHub
|
210
|
+
- created README.md file for project
|
211
|
+
|
212
|
+
### Version 0.0.1 - commit date 2024-01-28
|
213
|
+
|
214
|
+
- decided to split Circulararray class out of datastructures
|
215
|
+
- will make it its own PyPI project
|
216
|
+
- got working with datastructures locally
|
@@ -0,0 +1,104 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: dtools.circular-array
|
3
|
+
Version: 3.10.1
|
4
|
+
Summary: ### Developer Tools - circular array data structure
|
5
|
+
Keywords: circular array,circle array,ca,double ended queue,dequeue,dqueue,pop,push,popl,popr,pushl,pushr,indexable,auto-resizing,auto resizing,resizing
|
6
|
+
Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
|
7
|
+
Requires-Python: >=3.12
|
8
|
+
Description-Content-Type: text/markdown
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
10
|
+
Classifier: Framework :: Pytest
|
11
|
+
Classifier: Intended Audience :: Developers
|
12
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
13
|
+
Classifier: Operating System :: OS Independent
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
15
|
+
Classifier: Typing :: Typed
|
16
|
+
License-File: LICENSE
|
17
|
+
Requires-Dist: pytest >=8.3.5 ; extra == "test"
|
18
|
+
Project-URL: Changelog, https://github.com/grscheller/dtools-circular-array/blob/main/CHANGELOG.md
|
19
|
+
Project-URL: Documentation, https://grscheller.github.io/dtools-docs/circular-array
|
20
|
+
Project-URL: Source, https://github.com/grscheller/dtools-circular-array
|
21
|
+
Provides-Extra: test
|
22
|
+
|
23
|
+
# Developer Tools - Circular Array
|
24
|
+
|
25
|
+
Python package containing a module implementing a circular array data
|
26
|
+
structure,
|
27
|
+
|
28
|
+
- **Repositories**
|
29
|
+
- [dtools.circular-array][1] project on *PyPI*
|
30
|
+
- [Source code][2] on *GitHub*
|
31
|
+
- **Detailed documentation**
|
32
|
+
- [Detailed API documentation][3] on *GH-Pages*
|
33
|
+
|
34
|
+
This project is part of the [Developer Tools for Python][4] **dtools.**
|
35
|
+
namespace project.
|
36
|
+
|
37
|
+
## Overview
|
38
|
+
|
39
|
+
- O(1) amortized pushes and pops either end.
|
40
|
+
- O(1) indexing
|
41
|
+
- fully supports slicing
|
42
|
+
- safely mutates while iterating over copies of previous state
|
43
|
+
|
44
|
+
### Module circular_array
|
45
|
+
|
46
|
+
A full featured, auto resizing circular array. Python package containing
|
47
|
+
a module implementing a full featured, indexable, sliceable, double
|
48
|
+
sided, auto-resizing circular array data structure.
|
49
|
+
|
50
|
+
Useful either if used directly as an improved version of a Python List
|
51
|
+
or in a "has-a" relationship when implementing other data structures.
|
52
|
+
|
53
|
+
- *module* dtools.circular_array
|
54
|
+
- *class* ca: circular array data structure
|
55
|
+
- *function* CA: factory function to produce a ca from data
|
56
|
+
|
57
|
+
Above nomenclature modeled after of a builtin data type like `list`, where
|
58
|
+
`ca` takes an optional iterator as an argument and CA is all caps to represent
|
59
|
+
syntactic sugar like `[]` or `{}`.
|
60
|
+
|
61
|
+
#### Usage
|
62
|
+
|
63
|
+
```python
|
64
|
+
from dtools.circular_array.ca import CA
|
65
|
+
|
66
|
+
ca = CA(1, 2, 3)
|
67
|
+
assert ca.popl() == 1
|
68
|
+
assert ca.popr() == 3
|
69
|
+
ca.pushr(42, 0)
|
70
|
+
ca.pushl(0, 1)
|
71
|
+
assert repr(ca) == 'CA(1, 0, 2, 42, 0)'
|
72
|
+
assert str(ca) == '(|1, 0, 2, 42, 0|)'
|
73
|
+
|
74
|
+
ca = ca(range(1,11))
|
75
|
+
assert repr(ca) == 'CA(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)'
|
76
|
+
assert str(ca) == '(|1, 2, 3, 4, 5, 6, 7, 8, 9, 10|)'
|
77
|
+
assert len(ca) == 10
|
78
|
+
tup3 = ca.poplt(3)
|
79
|
+
tup4 = ca.poprt(4)
|
80
|
+
assert tup3 == (1, 2, 3)
|
81
|
+
assert tup4 == (10, 9, 8, 7)
|
82
|
+
|
83
|
+
assert ca == CA(4, 5, 6)
|
84
|
+
four, *rest = ca.popft(1000)
|
85
|
+
assert four == 4
|
86
|
+
assert rest == [5, 6]
|
87
|
+
assert len(ca) == 0
|
88
|
+
|
89
|
+
ca = ca([1, 2, 3])
|
90
|
+
assert ca.popld(42) == 1
|
91
|
+
assert ca.poprd(42) == 3
|
92
|
+
assert ca.popld(42) == 2
|
93
|
+
assert ca.poprd(42) == 42
|
94
|
+
assert ca.popld(42) == 42
|
95
|
+
assert len(ca) == 0
|
96
|
+
```
|
97
|
+
|
98
|
+
______________________________________________________________________
|
99
|
+
|
100
|
+
[1]: https://pypi.org/project/dtools.circular-array
|
101
|
+
[2]: https://github.com/grscheller/dtools-circular-array
|
102
|
+
[3]: https://grscheller.github.io/dtools-docs/circular-array
|
103
|
+
[4]: https://github.com/grscheller/dtools-docs
|
104
|
+
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# Developer Tools - Circular Array
|
2
|
+
|
3
|
+
Python package containing a module implementing a circular array data
|
4
|
+
structure,
|
5
|
+
|
6
|
+
- **Repositories**
|
7
|
+
- [dtools.circular-array][1] project on *PyPI*
|
8
|
+
- [Source code][2] on *GitHub*
|
9
|
+
- **Detailed documentation**
|
10
|
+
- [Detailed API documentation][3] on *GH-Pages*
|
11
|
+
|
12
|
+
This project is part of the [Developer Tools for Python][4] **dtools.**
|
13
|
+
namespace project.
|
14
|
+
|
15
|
+
## Overview
|
16
|
+
|
17
|
+
- O(1) amortized pushes and pops either end.
|
18
|
+
- O(1) indexing
|
19
|
+
- fully supports slicing
|
20
|
+
- safely mutates while iterating over copies of previous state
|
21
|
+
|
22
|
+
### Module circular_array
|
23
|
+
|
24
|
+
A full featured, auto resizing circular array. Python package containing
|
25
|
+
a module implementing a full featured, indexable, sliceable, double
|
26
|
+
sided, auto-resizing circular array data structure.
|
27
|
+
|
28
|
+
Useful either if used directly as an improved version of a Python List
|
29
|
+
or in a "has-a" relationship when implementing other data structures.
|
30
|
+
|
31
|
+
- *module* dtools.circular_array
|
32
|
+
- *class* ca: circular array data structure
|
33
|
+
- *function* CA: factory function to produce a ca from data
|
34
|
+
|
35
|
+
Above nomenclature modeled after of a builtin data type like `list`, where
|
36
|
+
`ca` takes an optional iterator as an argument and CA is all caps to represent
|
37
|
+
syntactic sugar like `[]` or `{}`.
|
38
|
+
|
39
|
+
#### Usage
|
40
|
+
|
41
|
+
```python
|
42
|
+
from dtools.circular_array.ca import CA
|
43
|
+
|
44
|
+
ca = CA(1, 2, 3)
|
45
|
+
assert ca.popl() == 1
|
46
|
+
assert ca.popr() == 3
|
47
|
+
ca.pushr(42, 0)
|
48
|
+
ca.pushl(0, 1)
|
49
|
+
assert repr(ca) == 'CA(1, 0, 2, 42, 0)'
|
50
|
+
assert str(ca) == '(|1, 0, 2, 42, 0|)'
|
51
|
+
|
52
|
+
ca = ca(range(1,11))
|
53
|
+
assert repr(ca) == 'CA(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)'
|
54
|
+
assert str(ca) == '(|1, 2, 3, 4, 5, 6, 7, 8, 9, 10|)'
|
55
|
+
assert len(ca) == 10
|
56
|
+
tup3 = ca.poplt(3)
|
57
|
+
tup4 = ca.poprt(4)
|
58
|
+
assert tup3 == (1, 2, 3)
|
59
|
+
assert tup4 == (10, 9, 8, 7)
|
60
|
+
|
61
|
+
assert ca == CA(4, 5, 6)
|
62
|
+
four, *rest = ca.popft(1000)
|
63
|
+
assert four == 4
|
64
|
+
assert rest == [5, 6]
|
65
|
+
assert len(ca) == 0
|
66
|
+
|
67
|
+
ca = ca([1, 2, 3])
|
68
|
+
assert ca.popld(42) == 1
|
69
|
+
assert ca.poprd(42) == 3
|
70
|
+
assert ca.popld(42) == 2
|
71
|
+
assert ca.poprd(42) == 42
|
72
|
+
assert ca.popld(42) == 42
|
73
|
+
assert len(ca) == 0
|
74
|
+
```
|
75
|
+
|
76
|
+
______________________________________________________________________
|
77
|
+
|
78
|
+
[1]: https://pypi.org/project/dtools.circular-array
|
79
|
+
[2]: https://github.com/grscheller/dtools-circular-array
|
80
|
+
[3]: https://grscheller.github.io/dtools-docs/circular-array
|
81
|
+
[4]: https://github.com/grscheller/dtools-docs
|
@@ -22,14 +22,14 @@ classifiers = [
|
|
22
22
|
dependencies = []
|
23
23
|
dynamic = ["version", "description"]
|
24
24
|
keywords = [
|
25
|
-
"circular array", "circle array", "
|
25
|
+
"circular array", "circle array", "ca",
|
26
26
|
"double ended queue", "dequeue", "dqueue",
|
27
|
-
"pop", "push", "
|
27
|
+
"pop", "push", "popl", "popr", "pushl", "pushr", "indexable",
|
28
28
|
"auto-resizing", "auto resizing", "resizing"
|
29
29
|
]
|
30
30
|
|
31
31
|
[project.optional-dependencies]
|
32
|
-
test = ["pytest >=8.3.
|
32
|
+
test = ["pytest >=8.3.5"]
|
33
33
|
|
34
34
|
[project.urls]
|
35
35
|
Source = "https://github.com/grscheller/dtools-circular-array"
|
@@ -37,7 +37,10 @@ Changelog = "https://github.com/grscheller/dtools-circular-array/blob/main/CHANG
|
|
37
37
|
Documentation = "https://grscheller.github.io/dtools-docs/circular-array"
|
38
38
|
|
39
39
|
[tool.flit.sdist]
|
40
|
-
exclude = ["dist", "
|
40
|
+
exclude = ["dist", "tests", ".gitignore", ".mypy_cache", ".pytest_cache"]
|
41
|
+
|
42
|
+
[tool.pytest.ini_options]
|
43
|
+
consider_namespace_packages = true
|
41
44
|
|
42
45
|
[tool.pylsp-mypy]
|
43
46
|
enabled = true
|
@@ -47,19 +50,21 @@ report_progress = true
|
|
47
50
|
|
48
51
|
[tool.mypy]
|
49
52
|
enable_incomplete_feature = ["NewGenericSyntax"]
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
53
|
+
implicit_reexport = false
|
54
|
+
local_partial_types = true
|
55
|
+
warn_redundant_casts = true
|
56
|
+
warn_return_any = true
|
57
|
+
warn_unused_configs = true
|
54
58
|
|
55
59
|
[tool.ruff]
|
56
60
|
target-version = "py313"
|
57
|
-
|
61
|
+
|
58
62
|
[tool.ruff.lint.per-file-ignores]
|
59
63
|
"__init__.py" = ["F401"]
|
60
64
|
|
61
|
-
[tool.ruff.format]
|
62
|
-
quote-style = "single"
|
63
|
-
|
64
65
|
[tool.ruff.lint.flake8-quotes]
|
65
66
|
docstring-quotes = "double"
|
67
|
+
|
68
|
+
[tool.ruff.format]
|
69
|
+
quote-style = "single"
|
70
|
+
docstring-code-line-length = 72
|
{dtools_circular_array-3.9.0 → dtools_circular_array-3.10.1}/src/dtools/circular_array/__init__.py
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2023-2025 Geoffrey R. Scheller
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -12,16 +12,18 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
-
"""###
|
15
|
+
"""### Developer Tools - circular array data structure
|
16
16
|
|
17
|
-
Package for an indexable circular array
|
17
|
+
Package for an indexable, sliceable, auto-resizing circular array
|
18
|
+
data structure with amortized O(1) pushes and pops either end.
|
18
19
|
|
19
20
|
#### Modules
|
20
21
|
|
21
|
-
* module dtools.circular_array.ca: circular array
|
22
|
+
* module dtools.circular_array.ca: circular array data structure
|
22
23
|
|
23
24
|
"""
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
|
26
|
+
__version__ = '3.10.1'
|
27
|
+
__author__ = 'Geoffrey R. Scheller'
|
28
|
+
__copyright__ = 'Copyright (c) 2023-2025 Geoffrey R. Scheller'
|
29
|
+
__license__ = 'Apache License 2.0'
|