dtools.circular-array 3.14.0__tar.gz → 3.15.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.
@@ -2,13 +2,23 @@
2
2
 
3
3
  PyPI grscheller.circular-array project.
4
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
5
+ - Strict 3 digit semantic versioning (adopted 2025-05-19)
6
+ - MAJOR version for incompatible API changes
7
+ - MINOR version for backward compatible added functionality
8
+ - PATCH version for backward compatible bug fixes
8
9
 
9
10
  ## Releases and Important Milestones
10
11
 
11
- ### Version 3.13.1 - PyPI release date 2025-05-10
12
+ ### Adapting strict Semantic from this point on - date 2025-05-19
13
+
14
+ - [Semantic Versioning 2.0.0](https://semver.org/)
15
+ - see top of file
16
+ - previous versioning scheme used
17
+ - first digit - major event, epoch, or paradigm shift
18
+ - second digit - breaking API changes, major changes
19
+ - third digit - bug fixes, API additions
20
+
21
+ ### Version 3.14.0 - PyPI release date 2025-05-10
12
22
 
13
23
  - Made package just a single module
14
24
  - dtools.circular_array.ca -> dtools.circular_array
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dtools.circular-array
3
- Version: 3.14.0
4
- Summary: ### An indexable circular array data structure.
3
+ Version: 3.15.1
4
+ Summary: An indexable circular array data structure.
5
5
  Keywords: circular array,dequeue,pop,push,indexable,auto resizing
6
6
  Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
7
7
  Requires-Python: >=3.12
@@ -21,10 +21,15 @@ Project-URL: Homepage, https://github.com/grscheller/dtools-namespace-projects/b
21
21
  Project-URL: Source, https://github.com/grscheller/dtools-circular-array
22
22
  Provides-Extra: test
23
23
 
24
- # Developer Tools - Circular Array
24
+ # Developer Tools - Circular Array **DEPRICATED**
25
+
26
+ Please use PyPI project
27
+ [pythonic-fp-circularray](https://pypi.org/project/pythonic-fp-circulararray/)
28
+ instead.
25
29
 
26
30
  Python package containing a module implementing a circular array data
27
- structure,
31
+ structure, This project is part of the [Developer Tools for Python][4]
32
+ **dtools** namespace projects.
28
33
 
29
34
  - **Repositories**
30
35
  - [dtools.circular-array][1] project on *PyPI*
@@ -32,31 +37,26 @@ structure,
32
37
  - **Detailed documentation**
33
38
  - [Detailed API documentation][3] on *GH-Pages*
34
39
 
35
- This project is part of the [Developer Tools for Python][4] **dtools**
36
- namespace projects.
37
-
38
40
  ## Overview
39
41
 
40
- - O(1) amortized pushes and pops either end.
41
- - O(1) indexing
42
- - fully supports slicing
43
- - safely mutates over previous state
44
-
45
- ### Module circular_array
46
-
47
42
  A full featured auto resizing circular array data structure. Double
48
43
  sided, indexable, sliceable, and iterable. When iterated, uses cached
49
44
  copies of its present state so that the circular array itself can safely
50
45
  be mutated.
51
46
 
47
+ - O(1) amortized pushes and pops either end.
48
+ - O(1) indexing
49
+ - fully supports slicing
50
+ - safely mutates over previous state
51
+
52
52
  Useful either if used directly like a Python list, or in a "has-a"
53
53
  relationship when implementing other data structures.
54
54
 
55
55
  - *module* dtools.circular_array
56
56
  - *class* `CA:` circular array data structure
57
57
  - initializer takes 1 or 0 iterators
58
- - like `list` or `set`
59
- - *function* `ca`: produces a `CA` from function's arguments
58
+ - like `list` or `set` does
59
+ - *function* `ca`: produces a `CA` from the function's arguments
60
60
  - similar use case as syntactic constructs `[]` or `{}`
61
61
 
62
62
  Above nomenclature modeled after builtin data types like `list`, where
@@ -1,7 +1,12 @@
1
- # Developer Tools - Circular Array
1
+ # Developer Tools - Circular Array **DEPRICATED**
2
+
3
+ Please use PyPI project
4
+ [pythonic-fp-circularray](https://pypi.org/project/pythonic-fp-circulararray/)
5
+ instead.
2
6
 
3
7
  Python package containing a module implementing a circular array data
4
- structure,
8
+ structure, This project is part of the [Developer Tools for Python][4]
9
+ **dtools** namespace projects.
5
10
 
6
11
  - **Repositories**
7
12
  - [dtools.circular-array][1] project on *PyPI*
@@ -9,31 +14,26 @@ structure,
9
14
  - **Detailed documentation**
10
15
  - [Detailed API documentation][3] on *GH-Pages*
11
16
 
12
- This project is part of the [Developer Tools for Python][4] **dtools**
13
- namespace projects.
14
-
15
17
  ## Overview
16
18
 
17
- - O(1) amortized pushes and pops either end.
18
- - O(1) indexing
19
- - fully supports slicing
20
- - safely mutates over previous state
21
-
22
- ### Module circular_array
23
-
24
19
  A full featured auto resizing circular array data structure. Double
25
20
  sided, indexable, sliceable, and iterable. When iterated, uses cached
26
21
  copies of its present state so that the circular array itself can safely
27
22
  be mutated.
28
23
 
24
+ - O(1) amortized pushes and pops either end.
25
+ - O(1) indexing
26
+ - fully supports slicing
27
+ - safely mutates over previous state
28
+
29
29
  Useful either if used directly like a Python list, or in a "has-a"
30
30
  relationship when implementing other data structures.
31
31
 
32
32
  - *module* dtools.circular_array
33
33
  - *class* `CA:` circular array data structure
34
34
  - initializer takes 1 or 0 iterators
35
- - like `list` or `set`
36
- - *function* `ca`: produces a `CA` from function's arguments
35
+ - like `list` or `set` does
36
+ - *function* `ca`: produces a `CA` from the function's arguments
37
37
  - similar use case as syntactic constructs `[]` or `{}`
38
38
 
39
39
  Above nomenclature modeled after builtin data types like `list`, where
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "dtools.circular-array"
7
- version = "3.14.0"
7
+ version = "3.15.1"
8
8
  authors = [{ name = "Geoffrey R. Scheller", email = "geoffrey@scheller.com" }]
9
9
  license = { file = "LICENSE" }
10
10
  readme = "README.md"
@@ -12,10 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- """### An indexable circular array data structure.
16
-
17
- An indexable, sliceable, auto-resizing circular array
18
- data structure with amortized O(1) pushes and pops either end.
15
+ """An indexable circular array data structure.
16
+
17
+ - generic, stateful, invariant data structure
18
+ - amortized O(1) pushing and popping from either end
19
+ - O(1) random access any element
20
+ - will resize itself as needed
21
+ - sliceable
22
+ - makes defensive copies of contents for the purposes of iteration
23
+ - in boolean context returns
24
+ - `True` when not empty
25
+ - `False` when empty
26
+ - in comparisons compare identity before equality, like builtins do
19
27
 
20
28
  """
21
29
 
@@ -36,7 +44,6 @@ D = TypeVar('D')
36
44
  class CA[D]:
37
45
  """Indexable circular array data structure
38
46
 
39
- - generic, stateful, invariant data structure
40
47
  - amortized O(1) pushing and popping from either end
41
48
  - O(1) random access any element
42
49
  - will resize itself as needed