Metadata-Version: 2.4
Name: pythonic-fp-splitends
Version: 3.1.0
Summary: Mutable stack datastructures that can safely share data.
Keywords: SplitEnd,lifo,stack
Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
Requires-Python: >=3.14
Description-Content-Type: text/markdown
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Typing :: Typed
License-File: LICENSE
Requires-Dist: pythonic-fp-fptools>=6.1,<6.2
Requires-Dist: pythonic-fp-iterables>=5.1.4,<6
Requires-Dist: pythonic-fp-queues>=5.1.3,<6
Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-splitends/blob/main/CHANGELOG.md
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp-splitends/release/html/
Project-URL: Homepage, https://grscheller.github.io/pythonic-fp/
Project-URL: Source, https://github.com/grscheller/pythonic-fp-splitends

# Pythonic FP - SplitEnds

Package Implementing a singularly linked LIFO queue called
a `SplitEnd`. These data structures can safely share data nodes
between themselves.

PyPI project
[pythonic-fp.splitends](https://pypi.org/project/pythonic-fp-splitends/).
Part of the
[pythonic-fp](https://grscheller.github.io/pythonic-fp/)
PyPI projects.

## Documentation

Documentation and other links for this project are hosted on
[GitHub Pages](https://grscheller.github.io/pythonic-fp/projects/splitends.html).

- each ``SplitEnd`` is a very simple stateful (mutable) LIFO stack
- data can be "extended" to or "snipped" off of the end (tip)
- the "root" value of a ``SplitEnd`` is fixed and cannot be "snipped"
- different mutable split ends can safely share the same "tail"
- each ``SplitEnd`` sees itself as a singularly linked list
- bush-like datastructures can be formed using multiple ``SplitEnds``
- the ``SplitEnd`` copy method and ``len`` are O(1)
- in boolean context returns true if the ``SplitEnd`` is not just a "root"

## Copyright and License

Copyright (c) 2023-2026 Geoffrey R. Scheller. Licensed under the Apache
License, Version 2.0. See the LICENSE file for details.

