pythonic-fp.containers 4.1.0__tar.gz → 4.2.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.
Files changed (33) hide show
  1. pythonic_fp_containers-4.2.0/PKG-INFO +51 -0
  2. pythonic_fp_containers-4.2.0/README.md +25 -0
  3. {pythonic_fp_containers-4.1.0 → pythonic_fp_containers-4.2.0}/pyproject.toml +29 -25
  4. pythonic_fp_containers-4.1.0/.github/workflows/static.yml +0 -64
  5. pythonic_fp_containers-4.1.0/.gitignore +0 -9
  6. pythonic_fp_containers-4.1.0/CHANGELOG.rst +0 -676
  7. pythonic_fp_containers-4.1.0/PKG-INFO +0 -62
  8. pythonic_fp_containers-4.1.0/README.rst +0 -35
  9. pythonic_fp_containers-4.1.0/docs/Makefile +0 -78
  10. pythonic_fp_containers-4.1.0/docs/gen_conf.py +0 -110
  11. pythonic_fp_containers-4.1.0/docs/requirements.txt +0 -2
  12. pythonic_fp_containers-4.1.0/docs/source/_static/.gitkeep +0 -0
  13. pythonic_fp_containers-4.1.0/docs/source/_static/custom.css +0 -3
  14. pythonic_fp_containers-4.1.0/docs/source/_templates/.gitkeep +0 -0
  15. pythonic_fp_containers-4.1.0/docs/source/api/functional_tuple.rst +0 -6
  16. pythonic_fp_containers-4.1.0/docs/source/api/immutable_list.rst +0 -6
  17. pythonic_fp_containers-4.1.0/docs/source/api/index.rst +0 -19
  18. pythonic_fp_containers-4.1.0/docs/source/changelog.rst +0 -7
  19. pythonic_fp_containers-4.1.0/docs/source/description.rst +0 -7
  20. pythonic_fp_containers-4.1.0/docs/source/index.rst +0 -30
  21. pythonic_fp_containers-4.1.0/docs/source/releases.rst +0 -22
  22. pythonic_fp_containers-4.1.0/docs/source/usage.rst +0 -21
  23. pythonic_fp_containers-4.1.0/src/pythonic_fp/containers/__init__.pyi +0 -0
  24. pythonic_fp_containers-4.1.0/src/pythonic_fp/containers/functional_tuple.pyi +0 -22
  25. pythonic_fp_containers-4.1.0/src/pythonic_fp/containers/immutable_list.pyi +0 -28
  26. pythonic_fp_containers-4.1.0/tests/test_functional_tuple.py +0 -174
  27. pythonic_fp_containers-4.1.0/tests/test_immutable_list.py +0 -152
  28. pythonic_fp_containers-4.1.0/tests/test_immutable_list_fp.py +0 -86
  29. {pythonic_fp_containers-4.1.0 → pythonic_fp_containers-4.2.0}/LICENSE +0 -0
  30. {pythonic_fp_containers-4.1.0 → pythonic_fp_containers-4.2.0}/src/pythonic_fp/containers/__init__.py +0 -0
  31. {pythonic_fp_containers-4.1.0 → pythonic_fp_containers-4.2.0}/src/pythonic_fp/containers/functional_tuple.py +0 -0
  32. {pythonic_fp_containers-4.1.0 → pythonic_fp_containers-4.2.0}/src/pythonic_fp/containers/immutable_list.py +0 -0
  33. {pythonic_fp_containers-4.1.0 → pythonic_fp_containers-4.2.0}/src/pythonic_fp/containers/py.typed +0 -0
@@ -0,0 +1,51 @@
1
+ Metadata-Version: 2.4
2
+ Name: pythonic-fp-containers
3
+ Version: 4.2.0
4
+ Summary: Containers with FP interfaces.
5
+ Keywords: functional_containers,functional_tuple,immutable_list
6
+ Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
7
+ Requires-Python: >=3.14
8
+ Description-Content-Type: text/markdown
9
+ Classifier: Development Status :: 3 - Alpha
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.14
15
+ Classifier: Programming Language :: Python :: 3.15
16
+ Classifier: Typing :: Typed
17
+ License-File: LICENSE
18
+ Requires-Dist: pythonic-fp-circulararray>=6.2.2,<6.3
19
+ Requires-Dist: pythonic-fp-fptools>=6,<6.2
20
+ Requires-Dist: pythonic-fp-iterables>=5.1.4,<6
21
+ Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-containers/blob/main/CHANGELOG.md
22
+ Project-URL: Documentation, https://grscheller.github.io/pythonic-fp-containers/release/html/
23
+ Project-URL: Homepage, https://grscheller.github.io/pythonic-fp/
24
+ Project-URL: Source, https://github.com/grscheller/pythonic-fp-containers
25
+
26
+ # Pythonic FP - Containers
27
+
28
+ Python package for containers of like data structures with functional
29
+ programming inspired tweaks.
30
+
31
+ PyPI project
32
+ [pythonic-fp-containers](https://pypi.org/project/pythonic-fp-containers).
33
+ Part of the
34
+ [pythonic-fp](https://grscheller.github.io/pythonic-fp/)
35
+ PyPI projects.
36
+
37
+ ## Documentation
38
+
39
+ Documentation and other links for this project are hosted on
40
+ [GitHub Pages](https://grscheller.github.io/pythonic-fp/projects/containers.html).
41
+
42
+ | module | class | name |
43
+ |:------ |:-----:|:---- |
44
+ | `pythonic_fp.containers.functional_tuple` | FTuple | Functional Tuple |
45
+ | `pythonic_fp.containers.immutable_list` | IList | Immutable List |
46
+
47
+ ## Copyright and License
48
+
49
+ Copyright (c) 2023-2026 Geoffrey R. Scheller. Licensed under the Apache
50
+ License, Version 2.0. See the LICENSE file for details.
51
+
@@ -0,0 +1,25 @@
1
+ # Pythonic FP - Containers
2
+
3
+ Python package for containers of like data structures with functional
4
+ programming inspired tweaks.
5
+
6
+ PyPI project
7
+ [pythonic-fp-containers](https://pypi.org/project/pythonic-fp-containers).
8
+ Part of the
9
+ [pythonic-fp](https://grscheller.github.io/pythonic-fp/)
10
+ PyPI projects.
11
+
12
+ ## Documentation
13
+
14
+ Documentation and other links for this project are hosted on
15
+ [GitHub Pages](https://grscheller.github.io/pythonic-fp/projects/containers.html).
16
+
17
+ | module | class | name |
18
+ |:------ |:-----:|:---- |
19
+ | `pythonic_fp.containers.functional_tuple` | FTuple | Functional Tuple |
20
+ | `pythonic_fp.containers.immutable_list` | IList | Immutable List |
21
+
22
+ ## Copyright and License
23
+
24
+ Copyright (c) 2023-2026 Geoffrey R. Scheller. Licensed under the Apache
25
+ 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-containers"
7
- version = "4.1.0"
8
- readme = "README.rst"
9
- requires-python = ">=3.13"
7
+ version = "4.2.0"
8
+ description = "Containers with FP interfaces."
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-circulararray>=6.0.4",
29
- "pythonic-fp-fptools>=5.2.0",
30
- "pythonic-fp-iterables>=5.1.3",
30
+ "pythonic-fp-circulararray>=6.2.2,<6.3",
31
+ "pythonic-fp-fptools>=6,<6.2",
32
+ "pythonic-fp-iterables>=5.1.4,<6",
31
33
  ]
32
- dynamic = ["description"]
33
34
 
34
35
  [project.urls]
35
- Changelog = "https://github.com/grscheller/pythonic-fp-containers/blob/main/CHANGELOG.rst"
36
- Documentation = "https://grscheller.github.io/pythonic-fp/projects/containers.html"
36
+ Changelog = "https://github.com/grscheller/pythonic-fp-containers/blob/main/CHANGELOG.md"
37
+ Documentation ="https://grscheller.github.io/pythonic-fp-containers/release/html/"
37
38
  Homepage = "https://grscheller.github.io/pythonic-fp/"
38
39
  Source = "https://github.com/grscheller/pythonic-fp-containers"
39
40
 
40
- [project.optional-dependencies]
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,17 @@ test = [
45
50
  [tool.flit.module]
46
51
  name = "pythonic_fp.containers"
47
52
 
53
+ [tool.flit.sdist]
54
+ exclude = [
55
+ "docs/",
56
+ "tests/",
57
+ ]
58
+
59
+ [tool.pytest]
60
+ addopts = ["-ra"]
61
+ consider_namespace_packages = true
62
+ testpaths = ["tests/"]
63
+
48
64
  [tool.mypy]
49
65
  explicit_package_bases = true
50
66
  local_partial_types = true
@@ -53,23 +69,12 @@ warn_redundant_casts = true
53
69
  warn_return_any = true
54
70
  warn_unused_configs = true
55
71
 
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
72
  [tool.ruff]
71
73
  target-version = "py314"
72
74
 
75
+ [tool.ruff.lint]
76
+ ignore = ["RUF022", "E741"]
77
+
73
78
  [tool.ruff.lint.flake8-quotes]
74
79
  docstring-quotes = "double"
75
80
 
@@ -78,7 +83,6 @@ docstring-quotes = "double"
78
83
  "E731",
79
84
  "C901",
80
85
  ]
81
- "**/*.py" = ["E741"]
82
86
 
83
87
  [tool.ruff.format]
84
88
  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: '4.1.0'
10
- DEVEL: '5.0.0'
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: ${{ env.PYTHON }}
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-circulararray
45
- docs/gen_conf.py release ${{ env.RELEASE }} Containers containers > 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 }} Containers containers > 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
@@ -1,9 +0,0 @@
1
- # Minimal version - only add to when necessary
2
- **/__pycache__/
3
- dist/
4
- docs/build/
5
- docs/source/conf.py
6
- **/.dmypy.json
7
- **/.mypy_cache/
8
- **/.pytest_cache/
9
- **/.ruff_cache