range-set


Namerange-set JSON
Version 0.3.3 PyPI version JSON
download
home_pagehttps://github.com/smurfix/range_set
SummaryEfficient storage for sets of mostly-consecutive integers
upload_time2024-11-14 13:58:02
maintainerNone
docs_urlNone
authorMatthias Urlichs
requires_python>=3.4
licenseMIT -or- Apache License 2.0
keywords set coalesce compact consecutive
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            RangeSet
========

License: Your choice of MIT or Apache License 2.0

Rationale
---------

Python Sets are nice to work with, but very inefficient if you need a large
set with mostly-consecutive integers. The RangeSet class provides efficient
handling and storage for these sets.

Non-integers?
-------------

RangeSet works with any class whose instances are

* comparable

* step-able, i.e. you can add 1 to them / subtract 1 from them.

* discrete, i.e. there is no value between ``n`` and ``n+1``.

RangeSet doesn't add or subtract any other values, nor does it try to
subtract two instances from each other.

The requirement to subtract 1 is an optimization that could be removed if
necessary.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/smurfix/range_set",
    "name": "range-set",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.4",
    "maintainer_email": null,
    "keywords": "set, coalesce, compact, consecutive",
    "author": "Matthias Urlichs",
    "author_email": "matthias@urlichs.de",
    "download_url": "https://files.pythonhosted.org/packages/64/0a/73670a9e60946a5295ea3137eb09f745d1bdfb9f3683b64968e6251563bf/range_set-0.3.3.tar.gz",
    "platform": null,
    "description": "RangeSet\n========\n\nLicense: Your choice of MIT or Apache License 2.0\n\nRationale\n---------\n\nPython Sets are nice to work with, but very inefficient if you need a large\nset with mostly-consecutive integers. The RangeSet class provides efficient\nhandling and storage for these sets.\n\nNon-integers?\n-------------\n\nRangeSet works with any class whose instances are\n\n* comparable\n\n* step-able, i.e. you can add 1 to them / subtract 1 from them.\n\n* discrete, i.e. there is no value between ``n`` and ``n+1``.\n\nRangeSet doesn't add or subtract any other values, nor does it try to\nsubtract two instances from each other.\n\nThe requirement to subtract 1 is an optimization that could be removed if\nnecessary.\n\n",
    "bugtrack_url": null,
    "license": "MIT -or- Apache License 2.0",
    "summary": "Efficient storage for sets of mostly-consecutive integers",
    "version": "0.3.3",
    "project_urls": {
        "Homepage": "https://github.com/smurfix/range_set"
    },
    "split_keywords": [
        "set",
        " coalesce",
        " compact",
        " consecutive"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4bf43e2860057d58a7de94fd6e161cde2f627edb4cfc126a5d4500c6a62bfdb",
                "md5": "0e03a78ca1e3d2eb8268cad4f2324945",
                "sha256": "7eebfd08740dc6c2ff5d88a68d10ef130a809054f4d3cc10a0d696d63e03c755"
            },
            "downloads": -1,
            "filename": "range_set-0.3.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0e03a78ca1e3d2eb8268cad4f2324945",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.4",
            "size": 10138,
            "upload_time": "2024-11-14T13:58:00",
            "upload_time_iso_8601": "2024-11-14T13:58:00.896810Z",
            "url": "https://files.pythonhosted.org/packages/a4/bf/43e2860057d58a7de94fd6e161cde2f627edb4cfc126a5d4500c6a62bfdb/range_set-0.3.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "640a73670a9e60946a5295ea3137eb09f745d1bdfb9f3683b64968e6251563bf",
                "md5": "1acb660fe62692d32dcdfa3bb112649f",
                "sha256": "4d8cb72c2abfd7aab6ac00730020a204d633d29f1ed7ea32d52531108e52bcfd"
            },
            "downloads": -1,
            "filename": "range_set-0.3.3.tar.gz",
            "has_sig": false,
            "md5_digest": "1acb660fe62692d32dcdfa3bb112649f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.4",
            "size": 23893,
            "upload_time": "2024-11-14T13:58:02",
            "upload_time_iso_8601": "2024-11-14T13:58:02.662783Z",
            "url": "https://files.pythonhosted.org/packages/64/0a/73670a9e60946a5295ea3137eb09f745d1bdfb9f3683b64968e6251563bf/range_set-0.3.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-14 13:58:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "smurfix",
    "github_project": "range_set",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": false,
    "appveyor": true,
    "lcname": "range-set"
}
        
Elapsed time: 1.83567s