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"
}