grscheller.datastructures


Namegrscheller.datastructures JSON
Version 0.14.0 PyPI version JSON
download
home_pageNone
SummaryClasses of containers supporting the use & implementation of various
upload_time2024-03-09 17:23:47
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords datastructures data structures fifo lifo stack queue functional fp maybe either
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PyPI grscheller.datastructures Project

Python package of data structures which support the use and
implementation of algorithms.

* Functional & imperative programming styles supported
* FP supported but project endeavors to remain Pythonic
* Methods which mutate objects don't return anything
* [grscheller.datastructures][1] project on PyPI
* [Detailed API documentation][2] on GH-Pages
* [Source code][3] on GitHub

## Overview

Data structures allowing developers to focus on the algorithms they are
using instead of all the "bit fiddling" required to implement behaviors,
perform memory management, handle coding edge cases, and dealing with
exceptional events. These data structures allow iterators to leisurely
iterate over inaccessible copies of internal state while the data
stuctures themselves are free to safely mutate. They are designed to be
reasonably "atomic" without introducing inordinate complexity. Some of
these data structures allow data to be safely shared between multiple
data structure instances by making shared data immutable and
inaccessible to client code.

This package does not force functional programming paradigms on client
code, but provide functional tools to opt into. It also does not force
unnecessary exception driven code paths upon client code. Purity is
important, but not at the expense of practicality. Sometimes the real
power of a data structure comes not from what it empowers you to do, but
from what it prevents you from doing to yourself.

As a design choice, Python `None` is semantically used by this package
to indicate the absence of a value. While still freely used as an
implementation detail, `None` values are not stored in any of these data
structures. Functional `Maybe` and `Either` classes are provided in the
core.fp sub-module as better ways to handle "missing" data.

---

[1]: https://pypi.org/project/grscheller.datastructures/
[2]: https://grscheller.github.io/datastructures/API/development/html/grscheller/datastructures/index.html
[3]: https://github.com/grscheller/datastructures

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "grscheller.datastructures",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "datastructures,data structures,fifo,lifo,stack,queue,functional,fp,maybe,either",
    "author": null,
    "author_email": "\"Geoffrey R. Scheller\" <geoffrey@scheller.com>",
    "download_url": "https://files.pythonhosted.org/packages/91/3e/e32ba1d8f858222b8adbbe816e44922aa85a110f09fb0df9ebcc3a02c4af/grscheller_datastructures-0.14.0.tar.gz",
    "platform": null,
    "description": "# PyPI grscheller.datastructures Project\n\nPython package of data structures which support the use and\nimplementation of algorithms.\n\n* Functional & imperative programming styles supported\n* FP supported but project endeavors to remain Pythonic\n* Methods which mutate objects don't return anything\n* [grscheller.datastructures][1] project on PyPI\n* [Detailed API documentation][2] on GH-Pages\n* [Source code][3] on GitHub\n\n## Overview\n\nData structures allowing developers to focus on the algorithms they are\nusing instead of all the \"bit fiddling\" required to implement behaviors,\nperform memory management, handle coding edge cases, and dealing with\nexceptional events. These data structures allow iterators to leisurely\niterate over inaccessible copies of internal state while the data\nstuctures themselves are free to safely mutate. They are designed to be\nreasonably \"atomic\" without introducing inordinate complexity. Some of\nthese data structures allow data to be safely shared between multiple\ndata structure instances by making shared data immutable and\ninaccessible to client code.\n\nThis package does not force functional programming paradigms on client\ncode, but provide functional tools to opt into. It also does not force\nunnecessary exception driven code paths upon client code. Purity is\nimportant, but not at the expense of practicality. Sometimes the real\npower of a data structure comes not from what it empowers you to do, but\nfrom what it prevents you from doing to yourself.\n\nAs a design choice, Python `None` is semantically used by this package\nto indicate the absence of a value. While still freely used as an\nimplementation detail, `None` values are not stored in any of these data\nstructures. Functional `Maybe` and `Either` classes are provided in the\ncore.fp sub-module as better ways to handle \"missing\" data.\n\n---\n\n[1]: https://pypi.org/project/grscheller.datastructures/\n[2]: https://grscheller.github.io/datastructures/API/development/html/grscheller/datastructures/index.html\n[3]: https://github.com/grscheller/datastructures\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Classes of containers supporting the use & implementation of various",
    "version": "0.14.0",
    "project_urls": {
        "Changelog": "https://github.com/grscheller/datastructures/blob/main/CHANGELOG.md",
        "Documentation": "https://grscheller.github.io/datastructures/",
        "Source": "https://github.com/grscheller/datastructures"
    },
    "split_keywords": [
        "datastructures",
        "data structures",
        "fifo",
        "lifo",
        "stack",
        "queue",
        "functional",
        "fp",
        "maybe",
        "either"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d9f4e46010a368b7b8f0f365c3abf2f8df2e537dc9b58bfafb93e57ead73f0bd",
                "md5": "be05cc8607daa0d011b94f334af05e11",
                "sha256": "79df272b19786511eab3f6cd0f19b21f50e68432541f38eda5b7141376b1e20a"
            },
            "downloads": -1,
            "filename": "grscheller_datastructures-0.14.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "be05cc8607daa0d011b94f334af05e11",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 23302,
            "upload_time": "2024-03-09T17:23:45",
            "upload_time_iso_8601": "2024-03-09T17:23:45.700900Z",
            "url": "https://files.pythonhosted.org/packages/d9/f4/e46010a368b7b8f0f365c3abf2f8df2e537dc9b58bfafb93e57ead73f0bd/grscheller_datastructures-0.14.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "913ee32ba1d8f858222b8adbbe816e44922aa85a110f09fb0df9ebcc3a02c4af",
                "md5": "44f5f60f362b1b878e7118450ff7a16b",
                "sha256": "05a64b51ac49cd30340b674ef5b4579747e9b4264a7110c26ff06bc3538ca9cf"
            },
            "downloads": -1,
            "filename": "grscheller_datastructures-0.14.0.tar.gz",
            "has_sig": false,
            "md5_digest": "44f5f60f362b1b878e7118450ff7a16b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 37630,
            "upload_time": "2024-03-09T17:23:47",
            "upload_time_iso_8601": "2024-03-09T17:23:47.319454Z",
            "url": "https://files.pythonhosted.org/packages/91/3e/e32ba1d8f858222b8adbbe816e44922aa85a110f09fb0df9ebcc3a02c4af/grscheller_datastructures-0.14.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-09 17:23:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "grscheller",
    "github_project": "datastructures",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "grscheller.datastructures"
}
        
Elapsed time: 0.20866s