pythonic-fp.splitends 2.0.3__tar.gz → 3.1.0__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.
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/PKG-INFO +24 -36
- pythonic_fp_splitends-2.0.3/README.rst → pythonic_fp_splitends-3.1.0/README.md +14 -25
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/pyproject.toml +34 -25
- pythonic_fp_splitends-2.0.3/.github/workflows/static.yml +0 -64
- pythonic_fp_splitends-2.0.3/.gitignore +0 -9
- pythonic_fp_splitends-2.0.3/CHANGELOG.rst +0 -512
- pythonic_fp_splitends-2.0.3/docs/Makefile +0 -78
- pythonic_fp_splitends-2.0.3/docs/gen_conf.py +0 -110
- pythonic_fp_splitends-2.0.3/docs/requirements.txt +0 -2
- pythonic_fp_splitends-2.0.3/docs/source/_static/.gitkeep +0 -0
- pythonic_fp_splitends-2.0.3/docs/source/_static/custom.css +0 -3
- pythonic_fp_splitends-2.0.3/docs/source/_templates/.gitkeep +0 -0
- pythonic_fp_splitends-2.0.3/docs/source/api/index.rst +0 -15
- pythonic_fp_splitends-2.0.3/docs/source/api/splitend.rst +0 -8
- pythonic_fp_splitends-2.0.3/docs/source/api/splitend_node.rst +0 -8
- pythonic_fp_splitends-2.0.3/docs/source/changelog.rst +0 -7
- pythonic_fp_splitends-2.0.3/docs/source/description.rst +0 -7
- pythonic_fp_splitends-2.0.3/docs/source/index.rst +0 -30
- pythonic_fp_splitends-2.0.3/docs/source/releases.rst +0 -24
- pythonic_fp_splitends-2.0.3/docs/source/usage.rst +0 -21
- pythonic_fp_splitends-2.0.3/src/pythonic_fp/splitends/__init__.pyi +0 -0
- pythonic_fp_splitends-2.0.3/src/pythonic_fp/splitends/splitend.pyi +0 -31
- pythonic_fp_splitends-2.0.3/src/pythonic_fp/splitends/splitend_node.pyi +0 -20
- pythonic_fp_splitends-2.0.3/tests/test_splitend.py +0 -290
- pythonic_fp_splitends-2.0.3/tests/test_splitend_node.py +0 -145
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/LICENSE +0 -0
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/src/pythonic_fp/splitends/__init__.py +0 -0
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/src/pythonic_fp/splitends/py.typed +0 -0
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/src/pythonic_fp/splitends/splitend.py +0 -0
- {pythonic_fp_splitends-2.0.3 → pythonic_fp_splitends-3.1.0}/src/pythonic_fp/splitends/splitend_node.py +0 -0
|
@@ -1,39 +1,44 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonic-fp-splitends
|
|
3
|
-
Version:
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 3.1.0
|
|
4
|
+
Summary: Mutable stack datastructures that can safely share data.
|
|
5
5
|
Keywords: SplitEnd,lifo,stack
|
|
6
6
|
Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
|
|
7
|
-
Requires-Python: >=3.
|
|
8
|
-
Description-Content-Type: text/
|
|
7
|
+
Requires-Python: >=3.14
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
9
|
Classifier: Development Status :: 3 - Alpha
|
|
10
10
|
Classifier: Framework :: Pytest
|
|
11
11
|
Classifier: Intended Audience :: Developers
|
|
12
12
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.14
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
15
16
|
Classifier: Typing :: Typed
|
|
16
17
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: pythonic-fp-fptools>=
|
|
18
|
-
Requires-Dist: pythonic-fp-iterables>=5.1.
|
|
19
|
-
Requires-Dist: pythonic-fp-queues>=5.1.
|
|
20
|
-
|
|
21
|
-
Project-URL:
|
|
22
|
-
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp/projects/splitends.html
|
|
18
|
+
Requires-Dist: pythonic-fp-fptools>=6.1,<6.2
|
|
19
|
+
Requires-Dist: pythonic-fp-iterables>=5.1.4,<6
|
|
20
|
+
Requires-Dist: pythonic-fp-queues>=5.1.3,<6
|
|
21
|
+
Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-splitends/blob/main/CHANGELOG.md
|
|
22
|
+
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp-splitends/release/html/
|
|
23
23
|
Project-URL: Homepage, https://grscheller.github.io/pythonic-fp/
|
|
24
24
|
Project-URL: Source, https://github.com/grscheller/pythonic-fp-splitends
|
|
25
|
-
Provides-Extra: test
|
|
26
25
|
|
|
27
|
-
Pythonic FP - SplitEnds
|
|
28
|
-
|
|
26
|
+
# Pythonic FP - SplitEnds
|
|
27
|
+
|
|
28
|
+
Package Implementing a singularly linked LIFO queue called
|
|
29
|
+
a `SplitEnd`. These data structures can safely share data nodes
|
|
30
|
+
between themselves.
|
|
29
31
|
|
|
30
32
|
PyPI project
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
[pythonic-fp.splitends](https://pypi.org/project/pythonic-fp-splitends/).
|
|
34
|
+
Part of the
|
|
35
|
+
[pythonic-fp](https://grscheller.github.io/pythonic-fp/)
|
|
36
|
+
PyPI projects.
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
## Documentation
|
|
39
|
+
|
|
40
|
+
Documentation and other links for this project are hosted on
|
|
41
|
+
[GitHub Pages](https://grscheller.github.io/pythonic-fp/projects/splitends.html).
|
|
37
42
|
|
|
38
43
|
- each ``SplitEnd`` is a very simple stateful (mutable) LIFO stack
|
|
39
44
|
- data can be "extended" to or "snipped" off of the end (tip)
|
|
@@ -44,24 +49,7 @@ between themselves.
|
|
|
44
49
|
- the ``SplitEnd`` copy method and ``len`` are O(1)
|
|
45
50
|
- in boolean context returns true if the ``SplitEnd`` is not just a "root"
|
|
46
51
|
|
|
47
|
-
|
|
48
|
-
`pythonic-fp
|
|
49
|
-
<https://grscheller.github.io/pythonic-fp/>`_
|
|
50
|
-
PyPI projects.
|
|
51
|
-
|
|
52
|
-
Documentation
|
|
53
|
-
-------------
|
|
54
|
-
|
|
55
|
-
Documentation and other links for this project are hosted on
|
|
56
|
-
`GitHub Pages
|
|
57
|
-
<https://grscheller.github.io/pythonic-fp/projects/splitends.html>`_.
|
|
58
|
-
|
|
59
|
-
Documentation for this project is hosted on
|
|
60
|
-
`GitHub Pages
|
|
61
|
-
<https://grscheller.github.io/pythonic-fp-splitends/development/html/>`_.
|
|
62
|
-
|
|
63
|
-
Copyright and License
|
|
64
|
-
---------------------
|
|
52
|
+
## Copyright and License
|
|
65
53
|
|
|
66
54
|
Copyright (c) 2023-2026 Geoffrey R. Scheller. Licensed under the Apache
|
|
67
55
|
License, Version 2.0. See the LICENSE file for details.
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
Pythonic FP - SplitEnds
|
|
2
|
-
|
|
1
|
+
# Pythonic FP - SplitEnds
|
|
2
|
+
|
|
3
|
+
Package Implementing a singularly linked LIFO queue called
|
|
4
|
+
a `SplitEnd`. These data structures can safely share data nodes
|
|
5
|
+
between themselves.
|
|
3
6
|
|
|
4
7
|
PyPI project
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
[pythonic-fp.splitends](https://pypi.org/project/pythonic-fp-splitends/).
|
|
9
|
+
Part of the
|
|
10
|
+
[pythonic-fp](https://grscheller.github.io/pythonic-fp/)
|
|
11
|
+
PyPI projects.
|
|
7
12
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
## Documentation
|
|
14
|
+
|
|
15
|
+
Documentation and other links for this project are hosted on
|
|
16
|
+
[GitHub Pages](https://grscheller.github.io/pythonic-fp/projects/splitends.html).
|
|
11
17
|
|
|
12
18
|
- each ``SplitEnd`` is a very simple stateful (mutable) LIFO stack
|
|
13
19
|
- data can be "extended" to or "snipped" off of the end (tip)
|
|
@@ -18,24 +24,7 @@ between themselves.
|
|
|
18
24
|
- the ``SplitEnd`` copy method and ``len`` are O(1)
|
|
19
25
|
- in boolean context returns true if the ``SplitEnd`` is not just a "root"
|
|
20
26
|
|
|
21
|
-
|
|
22
|
-
`pythonic-fp
|
|
23
|
-
<https://grscheller.github.io/pythonic-fp/>`_
|
|
24
|
-
PyPI projects.
|
|
25
|
-
|
|
26
|
-
Documentation
|
|
27
|
-
-------------
|
|
28
|
-
|
|
29
|
-
Documentation and other links for this project are hosted on
|
|
30
|
-
`GitHub Pages
|
|
31
|
-
<https://grscheller.github.io/pythonic-fp/projects/splitends.html>`_.
|
|
32
|
-
|
|
33
|
-
Documentation for this project is hosted on
|
|
34
|
-
`GitHub Pages
|
|
35
|
-
<https://grscheller.github.io/pythonic-fp-splitends/development/html/>`_.
|
|
36
|
-
|
|
37
|
-
Copyright and License
|
|
38
|
-
---------------------
|
|
27
|
+
## Copyright and License
|
|
39
28
|
|
|
40
29
|
Copyright (c) 2023-2026 Geoffrey R. Scheller. Licensed under the Apache
|
|
41
30
|
License, Version 2.0. See the LICENSE file for details.
|
|
@@ -4,9 +4,10 @@ build-backend = "flit_core.buildapi"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pythonic-fp-splitends"
|
|
7
|
-
version = "
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
version = "3.1.0"
|
|
8
|
+
description = "Mutable stack datastructures that can safely share data."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.14" # floor: PEP 649/749 deferred annotations — class-level self-reference possible NameErrors on <3.14
|
|
10
11
|
authors = [
|
|
11
12
|
{ name = "Geoffrey R. Scheller", email = "geoffrey@scheller.com" },
|
|
12
13
|
]
|
|
@@ -22,22 +23,26 @@ classifiers = [
|
|
|
22
23
|
"License :: OSI Approved :: Apache Software License",
|
|
23
24
|
"Operating System :: OS Independent",
|
|
24
25
|
"Programming Language :: Python :: 3.14",
|
|
26
|
+
"Programming Language :: Python :: 3.15",
|
|
25
27
|
"Typing :: Typed",
|
|
26
28
|
]
|
|
27
29
|
dependencies = [
|
|
28
|
-
"pythonic-fp-fptools>=
|
|
29
|
-
"pythonic-fp-iterables>=5.1.
|
|
30
|
-
"pythonic-fp-queues>=5.1.
|
|
30
|
+
"pythonic-fp-fptools>=6.1,<6.2",
|
|
31
|
+
"pythonic-fp-iterables>=5.1.4,<6",
|
|
32
|
+
"pythonic-fp-queues>=5.1.3,<6",
|
|
31
33
|
]
|
|
32
|
-
dynamic = ["description"]
|
|
33
34
|
|
|
34
35
|
[project.urls]
|
|
35
|
-
Changelog = "https://github.com/grscheller/pythonic-fp-splitends/blob/main/CHANGELOG.
|
|
36
|
-
Documentation =
|
|
36
|
+
Changelog = "https://github.com/grscheller/pythonic-fp-splitends/blob/main/CHANGELOG.md"
|
|
37
|
+
Documentation ="https://grscheller.github.io/pythonic-fp-splitends/release/html/"
|
|
37
38
|
Homepage = "https://grscheller.github.io/pythonic-fp/"
|
|
38
39
|
Source = "https://github.com/grscheller/pythonic-fp-splitends"
|
|
39
40
|
|
|
40
|
-
[
|
|
41
|
+
[dependency-groups]
|
|
42
|
+
docs = [
|
|
43
|
+
"furo>=2025.12.19",
|
|
44
|
+
"sphinx>=9.1",
|
|
45
|
+
]
|
|
41
46
|
test = [
|
|
42
47
|
"pytest>=8.4.1",
|
|
43
48
|
]
|
|
@@ -45,6 +50,22 @@ test = [
|
|
|
45
50
|
[tool.flit.module]
|
|
46
51
|
name = "pythonic_fp.splitends"
|
|
47
52
|
|
|
53
|
+
[tool.flit.sdist]
|
|
54
|
+
exclude = [
|
|
55
|
+
"docs/",
|
|
56
|
+
"tests/",
|
|
57
|
+
"**/.mypy_cache/",
|
|
58
|
+
"**/.ruff_cache/",
|
|
59
|
+
"**/.pytest_cache/",
|
|
60
|
+
"**/__pycache__/",
|
|
61
|
+
"**/.dmypy.json",
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
[tool.pytest]
|
|
65
|
+
addopts = ["-ra"]
|
|
66
|
+
consider_namespace_packages = true
|
|
67
|
+
testpaths = ["tests/"]
|
|
68
|
+
|
|
48
69
|
[tool.mypy]
|
|
49
70
|
explicit_package_bases = true
|
|
50
71
|
local_partial_types = true
|
|
@@ -53,23 +74,12 @@ warn_redundant_casts = true
|
|
|
53
74
|
warn_return_any = true
|
|
54
75
|
warn_unused_configs = true
|
|
55
76
|
|
|
56
|
-
[tool.pylsp-mypy]
|
|
57
|
-
enabled = true
|
|
58
|
-
live-mode = true
|
|
59
|
-
dmypy = false
|
|
60
|
-
strict = true
|
|
61
|
-
report_progress = true
|
|
62
|
-
|
|
63
|
-
[tool.pytest]
|
|
64
|
-
addopts = [
|
|
65
|
-
"-ra",
|
|
66
|
-
]
|
|
67
|
-
consider_namespace_packages = true
|
|
68
|
-
testpaths = ["tests/"]
|
|
69
|
-
|
|
70
77
|
[tool.ruff]
|
|
71
78
|
target-version = "py314"
|
|
72
79
|
|
|
80
|
+
[tool.ruff.lint]
|
|
81
|
+
ignore = ["RUF022", "E741"]
|
|
82
|
+
|
|
73
83
|
[tool.ruff.lint.flake8-quotes]
|
|
74
84
|
docstring-quotes = "double"
|
|
75
85
|
|
|
@@ -78,7 +88,6 @@ docstring-quotes = "double"
|
|
|
78
88
|
"E731",
|
|
79
89
|
"C901",
|
|
80
90
|
]
|
|
81
|
-
"**/*.py" = ["E741"]
|
|
82
91
|
|
|
83
92
|
[tool.ruff.format]
|
|
84
93
|
quote-style = "single"
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
name: Build and Deploy Furo Themed Sphinx Documentation
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: ["main"]
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
|
|
8
|
-
env:
|
|
9
|
-
RELEASE: '2.0.3'
|
|
10
|
-
DEVEL: '2.0.4'
|
|
11
|
-
PYTHON: '3.14'
|
|
12
|
-
|
|
13
|
-
permissions:
|
|
14
|
-
contents: read
|
|
15
|
-
pages: write
|
|
16
|
-
id-token: write
|
|
17
|
-
|
|
18
|
-
concurrency:
|
|
19
|
-
group: "pages"
|
|
20
|
-
cancel-in-progress: false
|
|
21
|
-
|
|
22
|
-
jobs:
|
|
23
|
-
deploy:
|
|
24
|
-
runs-on: ubuntu-latest
|
|
25
|
-
environment:
|
|
26
|
-
name: github-pages
|
|
27
|
-
url: ${{ steps.deployment.outputs.page_url }}
|
|
28
|
-
steps:
|
|
29
|
-
- name: Checkout
|
|
30
|
-
uses: actions/checkout@v6
|
|
31
|
-
|
|
32
|
-
- name: Select Python
|
|
33
|
-
uses: actions/setup-python@v6
|
|
34
|
-
with:
|
|
35
|
-
python-version: '3.14'
|
|
36
|
-
|
|
37
|
-
- name: Install Sphinx Dependencies
|
|
38
|
-
run: |
|
|
39
|
-
pip install -r docs/requirements.txt
|
|
40
|
-
sudo apt-get install -y graphviz
|
|
41
|
-
|
|
42
|
-
- name: Build Release Docs
|
|
43
|
-
run: |
|
|
44
|
-
pip install pythonic-fp-splitends
|
|
45
|
-
docs/gen_conf.py release ${{ env.RELEASE }} Splitends splitends > docs/source/conf.py
|
|
46
|
-
sphinx-build -M html docs/source docs/build/release
|
|
47
|
-
|
|
48
|
-
- name: Build Development Docs
|
|
49
|
-
run: |
|
|
50
|
-
pip install -e .
|
|
51
|
-
docs/gen_conf.py devel ${{ env.DEVEL }} Splitends splitends > docs/source/conf.py
|
|
52
|
-
sphinx-build -M html docs/source docs/build/development
|
|
53
|
-
|
|
54
|
-
- name: Setup Pages
|
|
55
|
-
uses: actions/configure-pages@v6
|
|
56
|
-
|
|
57
|
-
- name: Upload Artifact
|
|
58
|
-
uses: actions/upload-pages-artifact@v5
|
|
59
|
-
with:
|
|
60
|
-
path: docs/build
|
|
61
|
-
|
|
62
|
-
- name: Deploy to GitHub Pages
|
|
63
|
-
uses: actions/deploy-pages@v5
|
|
64
|
-
id: deployment
|