{
"info": {
"author": "Frank Sauerburger",
"author_email": "frank@sauerburger.com",
"bugtrack_url": null,
"classifiers": [
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: C",
"Programming Language :: Python :: 3 :: Only"
],
"description": "Numpy and Numpy arrays are a really great tool. However, intersecting and\nmerging multiple sorted numpy arrays is rather less performant. The current numpy\nimplementation concatenates the two arrays and sorts the combination. If you\nwant to merge or intersect multiple numpy arrays, there is a much faster way,\nby using the property, that the resulting array is sorted.\n\nSortednp (sorted numpy) operates on sorted numpy arrays to calculate the\nintersection or the union of two numpy arrays in an efficient way. The\nresulting array is again a sorted numpy array, which can be merged or\nintersected with the next array. The intended use case is that sorted numpy\narrays are sorted as the basic data structure and merged or intersected at\nrequest. Typical applications include information retrieval and search engines\nin particular.\n\nIt is also possible to implement a k-way merging or intersecting algorithm,\nwhich operates on an arbitrary number of arrays at the same time. This package\nis intended to deal with arrays with $`10^6`$ or $`10^{10}`$ items. Usually, these\narrays are too large to keep more than two of them in memory at the same\ntime. This package implements methods to merge and intersect multiple arrays,\nwhich can be loaded on-demand.\n\n# Installation\nThere are two different methods to install `sortednp`.\n\n## Using `pip` (recommended)\n\nYou can install the package directly from PyPI using `pip` (here `pip3`). There are\npre-compiled wheels for `linux` 32- and 64bit.\n\n```bash\n$ pip3 install sortednp\n```\n\n## Using `setuptools`\n\nAlternatively, you can clone the git repository and run the\nsetup script.\n\n```bash\n$ git clone https://gitlab.sauerburger.com/frank/sortednp.git\n$ cd sortednp\n$ python3 setup.py install\n```\n## Numpy Dependency\nThe installation fails in some cases, because of a build-time dependency on\nnumpy. Usually, the problem can be solved by manually installing a recent numpy\nversion via `pip3 install -U numpy`.\n\n# Usage\n\nThe package provides two different kinds of methods. The first class is intended\nto operate on two arrays. The second class operates on two or more arrays and\ncalls the first class of methods internally.\n\n## Two-way methods\n\nTwo numpy sorted arrays can be merged with the `merge` method, which takes two\nnumpy arrays and returns the sorted union of the two arrays.\n\n\n```python\n# merge.py\nimport numpy as np\nimport sortednp as snp\n\na = np.array([0, 3, 4, 6, 7])\nb = np.array([1, 2, 3, 5, 7, 9])\n\nm = snp.merge(a, b)\nprint(m)\n```\n\nIf you run this, you should see the union of both arrays as a sorted numpy\narray.\n\n```python\n$ python3 merge.py\n[0 1 2 3 3 4 5 6 7 7 9]\n```\n\nTwo sorted numpy arrays can be intersected with the `intersect` method, which takes two\nnumpy arrays and returns the sorted intersection of the two arrays.\n\n\n```python\n# intersect.py\nimport numpy as np\nimport sortednp as snp\n\na = np.array([0, 3, 4, 6, 7])\nb = np.array([1, 2, 3, 5, 7, 9])\n\ni = snp.intersect(a, b)\nprint(i)\n```\n\nIf you run this, you should see the intersection of both arrays as a sorted numpy\narray.\n\n```python\n$ python3 intersect.py\n[3 7]\n```\n\n## Returning array indices\nThe `intersect` method takes an optional argument `indices` which is `False`\nby default. If this is set to `True`, the return value consists of the\nintersection array and a tuple with the indices of the common values for both\narrays.\n\n\n```python\n# intersect_indices.py\nimport numpy as np\nimport sortednp as snp\n\na = np.array([2,4,6,8,10])\nb = np.array([1,2,3,4])\n\nintersection, indices = snp.intersect(a,b, indices=True)\n\nprint(intersection)\nprint(indices)\n```\n\nThe above example gives:\n\n```python\n$ python3 intersect_indices.py\n[2 4]\n(array([0, 1]), array([1, 3]))\n```\n\nThe first line shows the intersection of the two arrays. The second line\nprints a tuple with the indices where the common values appeared in the input\narrays. For example, the value `4` is at position `1` in array `a` and at position\n`3` in array `b`. \n\n## k-way methods\nSimilarly, the k-way intersect and merge methods take two or more arrays and\nperform the merge or intersect operation on its arguments.\n\n\n```python\n# kway_intersect.py\nimport numpy as np\nimport sortednp as snp\n\na = np.array([0, 3, 4, 6, 7])\nb = np.array([0, 3, 5, 7, 9])\nc = np.array([1, 2, 3, 5, 7, 9])\nd = np.array([2, 3, 6, 7, 8])\n\ni = snp.kway_intersect(a, b, c, d)\nprint(i)\n```\n\nIf you run this, you should see the intersection of all four arrays as a sorted numpy\narray.\n\n```python\n$ python3 kway_intersect.py\n[3 7]\n```\n\nThe k-way merger `sortednp.kway_merge` works analogously. However, the native\n`numpy` implementation is faster compared to the merge provided by this package.\nThe k-way merger has been added for completeness. The package `heapq` provides\nefficient methods to merge multiple arrays simultaneously.\n\nThe methods `kway_merge` and `kway_intersect` accept the optional keyword\nargument `assume_sorted`. By default, it is set to `True`. If it is set to `False`,\nthe method calls `sort()` on the input arrays before performing the operation.\nThe default should be kept if the arrays are already sorted to save the time it\ntakes to sort the arrays.\n\nSince the arrays might be too large to keep all of them in memory at the same\ntime, it is possible to pass a `callable` instead of an array to the methods.\nThe `callable` is expected to return the actual array. It is called immediately\nbefore the array is required. This reduces the memory consumption.\n\n## Algorithms\nIntersections are calculated by iterating both arrays. For a given element in\none array, the method needs to search the other and check if the element is\ncontained. In order to make this more efficient, we can use the fact that the\narrays are sorted. There are three search methods, which can be selected via the\noptional keyword argument `algorithm`.\n\n * `sortednp.SIMPLE_SEARCH`: Search for an element by linearly iterating over the\n array element-by-element.\n [More Information](https://en.wikipedia.org/wiki/Linear_search).\n * `sortednp.BINARY_SEARCH`: Slice the remainder of the array in halves and\n repeat the procedure on the slice which contains the searched element.\n [More Information](https://en.wikipedia.org/wiki/Binary_search_algorithm).\n * `sortednp.GALLOPING_SEARCH`: First, search for an element linearly, doubling\n the step size after each step. If a step goes beyond the search element,\n perform a binary search between the last two positions.\n [More Information](https://en.wikipedia.org/wiki/Exponential_search).\n\nThe default is `sortednp.GALLOPING_SEARCH`. The performance of all three\nalgorithms is compared in the next section.\n\n# Performance\nThe performance of the package can be compared with the default implementation\nof numpy, the intersect1d` method. The ratio of the execution time between sortednp and numpy is\nshown for various different benchmark tests.\n\nThe merge or intersect time can be estimated under two different assumptions. If\nthe arrays, which are merged or intersected, are already sorted, one should not\nconsider the time it takes to sort the random arrays in the benchmark. On the\nother hand, if one considers a scenario in which the arrays are not sorted, one\nshould take the sorting time into account.\n\n## Intersect\n\nThe performance of the intersection operation depends on the sparseness of the\ntwo arrays. For example, if the first element of one of the arrays is larger\nthan all elements in the other array, only the other array has to be searched\n(linearly, binarily, or exponentially). Similarly, if the common elements are\nfar apart in the arrays (sparseness), large chunks of the arrays can be skipped.\nThe arrays in the benchmark contain random (unique) integers. The sparseness is\ndefined as the average difference between two consecutive elements in one array.\n\nThe first set of tests studies the performance dependence on the size of the\narrays. The second set of tests studies the dependence on the sparseness of the\narray.\n\n### Assume sorted arrays\nThe following table summarizes the performance compared to numpy if one ignores\nthe time it takes to sort the initial arrays.\n
\n \n | Test | \n Simple Search | \n Binary Search | \n Galloping Search | \n
\n \n | Intersect | \n | \n | \n | \n
\n \n | Intersect Sparseness | \n | \n | \n | \n
\n
\n\n### Include sorting time\nThe following table summarizes the performance compared to numpy if one takes\nthe time it takes to sort the initial arrays into account.\n\n \n | Test | \n Simple Search | \n Binary Search | \n Galloping Search | \n
\n \n | Intersect | \n | \n | \n | \n
\n \n | Intersect Sparseness | \n | \n | \n | \n
\n
\n\n## Merge\n\n \n | Assume sorted | \n Include sorting time | \n
\n \n | \n | \n
\n \n
\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://gitlab.sauerburger.com/frank/sortednp",
"keywords": "merge intersect sorted numpy",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "sortednp",
"package_url": "https://pypi.org/project/sortednp/",
"platform": "Linux",
"project_url": "https://pypi.org/project/sortednp/",
"project_urls": {
"Homepage": "https://gitlab.sauerburger.com/frank/sortednp"
},
"release_url": "https://pypi.org/project/sortednp/0.2.1/",
"requires_dist": [
"numpy (>=1.14)"
],
"requires_python": ">=3",
"summary": "Merge and intersect sorted numpy arrays.",
"version": "0.2.1"
},
"last_serial": 5152281,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "7ee1ee23d1b3e3a9474507aa1377df7a",
"sha256": "df096549919d9feb2349da57000ebeabe3e087e03736d70066332739dd5deb3f"
},
"downloads": -1,
"filename": "sortednp-0.1.0-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "7ee1ee23d1b3e3a9474507aa1377df7a",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 62626,
"upload_time": "2018-01-10T10:51:32",
"url": "https://files.pythonhosted.org/packages/2e/77/facb7cd1e06e34f509fd15049dbcb0e0db1c7b9fc361ead2d91e7dcc9a72/sortednp-0.1.0-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "cbc546410acf2c1c76d085d3e5df4808",
"sha256": "216a149f4008a8676c6ddfd6042c759f6c76531b9fd185861587bd50c539ef2e"
},
"downloads": -1,
"filename": "sortednp-0.1.0-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "cbc546410acf2c1c76d085d3e5df4808",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 59773,
"upload_time": "2018-01-10T10:51:33",
"url": "https://files.pythonhosted.org/packages/fc/fe/ace0b98bdfbd14c6cc1e363ef0c4c3f3830cb569795bcd17bb7bc2fd9c50/sortednp-0.1.0-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "64d9deee7f9517901e47969340b799c4",
"sha256": "d89d0e301f9061414f8274b79143efffdc90015a47bf5f0fc918a59b1ec684d0"
},
"downloads": -1,
"filename": "sortednp-0.1.0-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "64d9deee7f9517901e47969340b799c4",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 62816,
"upload_time": "2018-01-10T10:51:35",
"url": "https://files.pythonhosted.org/packages/ce/36/6e516414707ce59617af9080812bcea461998f7a516ff7ce213b7000622b/sortednp-0.1.0-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2eab276efef31abe0814150044e54775",
"sha256": "3ee9b01650775fa265d4e0a48e5b6b37275b8cc5f96866b7ca68441669030cf2"
},
"downloads": -1,
"filename": "sortednp-0.1.0-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "2eab276efef31abe0814150044e54775",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 59959,
"upload_time": "2018-01-10T10:51:37",
"url": "https://files.pythonhosted.org/packages/f8/ce/2736294591159607824cc326239b2f6ca3aa6c9214f3449c115b7b549ce5/sortednp-0.1.0-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5d9252c517a82201738a8ac13ed413f3",
"sha256": "907d1d687779f6ae389506497eefb56e82ba1271017275924f87b9814ae193de"
},
"downloads": -1,
"filename": "sortednp-0.1.0-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "5d9252c517a82201738a8ac13ed413f3",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 62815,
"upload_time": "2018-01-10T10:51:39",
"url": "https://files.pythonhosted.org/packages/e2/c5/d234accbf9809d480b97c2ca33ac06f97521212ddbab17593ba5f9177d00/sortednp-0.1.0-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "38f87a83b0679692761ba22b12ac8d37",
"sha256": "ec447cf0a0f78ec0d3fde23fce26515c4e927e01d4b5711fc13e7491790a6257"
},
"downloads": -1,
"filename": "sortednp-0.1.0-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "38f87a83b0679692761ba22b12ac8d37",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 59959,
"upload_time": "2018-01-10T10:51:41",
"url": "https://files.pythonhosted.org/packages/fc/82/72c2136a38e9830621f54013ccf7e8c4a53d66b61e52bc7d1107328ac52e/sortednp-0.1.0-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "985057ab09a2273ea834978e559f9f98",
"sha256": "b5ec35b234a1bd80eaf4ce8efc3204b857d55ae9af6adc23342b6d891bfddf30"
},
"downloads": -1,
"filename": "sortednp-0.1.0.tar.gz",
"has_sig": true,
"md5_digest": "985057ab09a2273ea834978e559f9f98",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 16717,
"upload_time": "2018-01-10T10:51:43",
"url": "https://files.pythonhosted.org/packages/ed/ef/64eec2c4599f8489fdebe725c35218faac5160eaf3207debdb257f16200d/sortednp-0.1.0.tar.gz"
}
],
"0.1.0rc1": [
{
"comment_text": "",
"digests": {
"md5": "e60344313815dd319aca242498b03c91",
"sha256": "1d36d07e0b70bbec6667075f75c4594a995253ae80abc037a2863115b11de5a2"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "e60344313815dd319aca242498b03c91",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 62679,
"upload_time": "2018-01-09T01:35:29",
"url": "https://files.pythonhosted.org/packages/18/c6/c3ec52ee550ce28523e171ad42309a497384c63b06dfb943ed7be11552eb/sortednp-0.1.0rc1-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4503e1b133ce596ee5f573d62361ff17",
"sha256": "91defc5847d36ee2776d97e280e7ae88238ffe47f9aba8ad8f561e3e9f48088c"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "4503e1b133ce596ee5f573d62361ff17",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 59817,
"upload_time": "2018-01-09T01:35:31",
"url": "https://files.pythonhosted.org/packages/57/80/5756728029e82f3642e06c3839160234147c9b9a1d46fa9528c72feae983/sortednp-0.1.0rc1-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "cde6c99d052c14ececa416df6b50fed5",
"sha256": "779f31f52a9f07bfefa4a6b840c4f1e0fd7c441d5ee1b556af697cda8b4d286f"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "cde6c99d052c14ececa416df6b50fed5",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 62858,
"upload_time": "2018-01-09T01:35:33",
"url": "https://files.pythonhosted.org/packages/6a/40/f67ce5e74fb8eeacd8aee16c55852c3b9ff7b6bc32a230b69e4abf49d357/sortednp-0.1.0rc1-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e99252da270cfd15e796f8d356f68de8",
"sha256": "ca0cfd4c53fa78d6be4cd15f92ab6a3c727e78781c750e7c055951db0f4f1c45"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "e99252da270cfd15e796f8d356f68de8",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 60003,
"upload_time": "2018-01-09T01:35:35",
"url": "https://files.pythonhosted.org/packages/10/33/9d598569909132a14696e2b88fef8d5962eca6ac374e94fb1fe6c4f38ab8/sortednp-0.1.0rc1-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "976937a804addf1c660f0954eeb50566",
"sha256": "726212ffc4ba169fc2df3e43c0585d4ce8fed9f601ae47251a1218cc91be4ae1"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "976937a804addf1c660f0954eeb50566",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 62854,
"upload_time": "2018-01-09T01:35:37",
"url": "https://files.pythonhosted.org/packages/30/35/991396b482768f9340c448df5e3ce6ffa26fd107ba303817dad726dee48b/sortednp-0.1.0rc1-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0b754e22854d490e0df5fdeb561e8b80",
"sha256": "ee81ac7ea1f84cbdd34e686b9dd2d02219e7213e3c8a34b7fcc2f34e4e3cbb84"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "0b754e22854d490e0df5fdeb561e8b80",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 60000,
"upload_time": "2018-01-09T01:35:39",
"url": "https://files.pythonhosted.org/packages/3a/11/19f487856a7420f0418181de7626270929a83f731e8fbac9a852b57aa380/sortednp-0.1.0rc1-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "80816afd36b02c11cf3218b165b6b46b",
"sha256": "8db94f998f819dd35d115c3ccd2e931a68aa33e65c3e149f11d08a18fd730596"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc1.tar.gz",
"has_sig": true,
"md5_digest": "80816afd36b02c11cf3218b165b6b46b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 15701,
"upload_time": "2018-01-09T01:35:41",
"url": "https://files.pythonhosted.org/packages/de/c2/3d86ebeda13e258b410d49707d32c80ec4d159e63c6d2612ed005d563c70/sortednp-0.1.0rc1.tar.gz"
}
],
"0.1.0rc2": [
{
"comment_text": "",
"digests": {
"md5": "233bd95f840e650120cab08fb3b8ec62",
"sha256": "509802d8609dda8f622700c30b7a7fab6398cf7b06e22a07516ddfc827ddcfca"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "233bd95f840e650120cab08fb3b8ec62",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 62669,
"upload_time": "2018-01-09T23:11:28",
"url": "https://files.pythonhosted.org/packages/dc/b2/1c2a4a7d44ce8e9349f4d0e9006a10de6a6c541e4a7c861f326ec6f6178a/sortednp-0.1.0rc2-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ccf4f50dcefe69954ddd8e614043c0dc",
"sha256": "bbddebfa9842debc77ec4c4672ae446989cf9acf29407be64f7d02a057c47c76"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "ccf4f50dcefe69954ddd8e614043c0dc",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 59819,
"upload_time": "2018-01-09T23:11:30",
"url": "https://files.pythonhosted.org/packages/27/c9/4465891acd5e874e70635fa252a1846ed06073570a674a093df9162b8cee/sortednp-0.1.0rc2-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b1a41adbead34add6b028d2445178756",
"sha256": "54f7774e2bdebb14e373e6aab485e8552d4a9f06916cf0450cf20501349765fd"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "b1a41adbead34add6b028d2445178756",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 62862,
"upload_time": "2018-01-09T23:11:31",
"url": "https://files.pythonhosted.org/packages/f4/fe/e1b28a4e080e23668d0eed6858f2ad8d940cb109eb7cdf4f4be89f205bad/sortednp-0.1.0rc2-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2812b0c70b80ee44c34a8468de89c1b4",
"sha256": "475ed38bdb831be0282e5fa7fc29261d05bb39d2d7567584798c8566dd4fd2fb"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "2812b0c70b80ee44c34a8468de89c1b4",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 60000,
"upload_time": "2018-01-09T23:11:33",
"url": "https://files.pythonhosted.org/packages/b5/93/2da1d9b26c372fd025335fc78220492513f6223ea24972b61631431c5e40/sortednp-0.1.0rc2-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a14863dd1a7e96cd076c7fa642dc03ad",
"sha256": "9dc9fb804d2686f085d13f2cf38d92f6bcde2d993d645a4a258cd70b01f70c6c"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "a14863dd1a7e96cd076c7fa642dc03ad",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 62859,
"upload_time": "2018-01-09T23:11:35",
"url": "https://files.pythonhosted.org/packages/27/b9/7f2841d27c3634bbf3ac12b686546379a5a70f6fd63f86507137f411f7e3/sortednp-0.1.0rc2-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "16c2a3b0a16f6080cd085a86eef8b3d8",
"sha256": "2729bafd6ec655f8b2b9196f90bb25cf74d275c5b19ac49d47c63d172a5f5321"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "16c2a3b0a16f6080cd085a86eef8b3d8",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 60011,
"upload_time": "2018-01-09T23:11:37",
"url": "https://files.pythonhosted.org/packages/d4/1b/9d7f3fa89dcb47c2775a162f28ea7ee0851790201fe0ac9ec9ce3efe876e/sortednp-0.1.0rc2-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bdd04295c2dd52c725f4b695a1b27313",
"sha256": "7ad81f3bb8a5bf09f04d6c9aad64d446ec65f0b2c6788f7291e457c83c7cb469"
},
"downloads": -1,
"filename": "sortednp-0.1.0rc2.tar.gz",
"has_sig": true,
"md5_digest": "bdd04295c2dd52c725f4b695a1b27313",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 16666,
"upload_time": "2018-01-09T23:11:39",
"url": "https://files.pythonhosted.org/packages/c2/e8/a6d1b21b996419d20b3e29431a369006db92390366e15159d3520b20caa9/sortednp-0.1.0rc2.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "cb02e879d9d339e17530cf58950af621",
"sha256": "377ad318b7c23a8028735e70211925d1087411382e8f083628e560c3f96927fd"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "cb02e879d9d339e17530cf58950af621",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 74354,
"upload_time": "2018-07-10T23:45:33",
"url": "https://files.pythonhosted.org/packages/7f/5d/8eda7de294e1f157c4bbef270bc7a68fd21063659d527295241c8fc537a6/sortednp-0.2.0-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a750353f281f15c88dc4d29f944f401d",
"sha256": "69c6bdeb0256fe97c646d045fbc76caac335d89ccc6ac23695af0039bc7f377d"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "a750353f281f15c88dc4d29f944f401d",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 71779,
"upload_time": "2018-07-10T23:45:35",
"url": "https://files.pythonhosted.org/packages/90/d2/5af8973d8abaf174f600e6ff0d1cece1c3e99a683feb10867024cfc34529/sortednp-0.2.0-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "16987477dffe454a27eb69956c141a50",
"sha256": "1b8b03f4b29dbcee1c38e1d2a31ce975aa5f3457473550dc44c3f4c1d35f053a"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "16987477dffe454a27eb69956c141a50",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 74556,
"upload_time": "2018-07-10T23:45:36",
"url": "https://files.pythonhosted.org/packages/28/da/ef70c27e7bc098df33cea07116af570f549e13e1047eaa9fd57bcc9f2c33/sortednp-0.2.0-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3e7648aa692e42d182046a1316e660c5",
"sha256": "6135b076ca96ed8cf94140e5ce05414af7b12102231980be858306b62c4cd3a8"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "3e7648aa692e42d182046a1316e660c5",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 71945,
"upload_time": "2018-07-10T23:45:38",
"url": "https://files.pythonhosted.org/packages/71/70/09b6bd922c54581c7f9aa6e1d3dce00d89fee2aee1601f166190830b60f7/sortednp-0.2.0-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d1b0dfffb9ac8cb860879066e5e54540",
"sha256": "042444ed3ae456b3a18418dbd6877c3bbc2599c0a63f1f80760ac68e4a219813"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "d1b0dfffb9ac8cb860879066e5e54540",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 74660,
"upload_time": "2018-07-10T23:45:40",
"url": "https://files.pythonhosted.org/packages/39/03/f01a2dc985ecb9b9669f4d39cf242ea7ac3b4e57c7f46241270733115749/sortednp-0.2.0-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9f45fec45cbb14e42eba02e54882483c",
"sha256": "2951a7c1b575a318a3983b8983f7a50a7ff2ed3333322eef861dce5e63b3b811"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "9f45fec45cbb14e42eba02e54882483c",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 72053,
"upload_time": "2018-07-10T23:45:41",
"url": "https://files.pythonhosted.org/packages/3d/74/d84dd3d1d0fc45d01d23629e74c3e710ee937aeff51e43aeba236e1d0d59/sortednp-0.2.0-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c76cde59dd9fe92764e727f60902d370",
"sha256": "615e821c87269ad0722e98241773b151b9f881c0bed652af440664acce65bce4"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp37-cp37m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "c76cde59dd9fe92764e727f60902d370",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 74861,
"upload_time": "2018-07-10T23:45:43",
"url": "https://files.pythonhosted.org/packages/dd/9f/483547287307f5b244d322f5ccb68c67f6daadd6ff9e6ce75011f1ef746d/sortednp-0.2.0-cp37-cp37m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7652c94897abd0a482ac7c92a24b29bf",
"sha256": "9c3529bc5b09af22c14b4eee5a960e1b0183a0c4cd09232a4763310aef052979"
},
"downloads": -1,
"filename": "sortednp-0.2.0-cp37-cp37m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "7652c94897abd0a482ac7c92a24b29bf",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 72247,
"upload_time": "2018-07-10T23:45:44",
"url": "https://files.pythonhosted.org/packages/0b/c4/bc0c36e3ed594be028a2f41ab05f5720127df179a78f18ec38ee4d1447b5/sortednp-0.2.0-cp37-cp37m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2ba1774783f9630fed4a411fd473ad1d",
"sha256": "a50b4e26a87ba495a2095f3a8e76eccb4cb844ec8bc6531f19f3d36f4801c4d0"
},
"downloads": -1,
"filename": "sortednp-0.2.0.tar.gz",
"has_sig": true,
"md5_digest": "2ba1774783f9630fed4a411fd473ad1d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 21304,
"upload_time": "2018-07-10T23:45:45",
"url": "https://files.pythonhosted.org/packages/4d/eb/0c81b64fb85d3f5a6cd377e15137d505f7bca132803bd384b32ad633fe08/sortednp-0.2.0.tar.gz"
}
],
"0.2.0rc0": [
{
"comment_text": "",
"digests": {
"md5": "c57989fa0d1b2636c5fb4f704daf5da2",
"sha256": "6acddeb4a326c64790ddd6f3e682e2647bb0f12a478bb6cd00938da53e776193"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "c57989fa0d1b2636c5fb4f704daf5da2",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 74382,
"upload_time": "2018-07-08T22:58:04",
"url": "https://files.pythonhosted.org/packages/ed/64/fa75c66dd7819b81e1df43f2cea9fee13a75217468e48a7f401882131820/sortednp-0.2.0rc0-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b60b62f7b8fa54d6faa0eeaaa0ca919a",
"sha256": "d1d34786d0686fad1c8c375584714235394cda361847bcf2293bdc72abf46e0c"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "b60b62f7b8fa54d6faa0eeaaa0ca919a",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 71796,
"upload_time": "2018-07-08T22:58:08",
"url": "https://files.pythonhosted.org/packages/f2/d8/3e79d8e782b53a8ed91b01c9e4884e7388b872dfef23c9b67d6dfb64ef74/sortednp-0.2.0rc0-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5eb2f6b091a4496c7e9a9774fe65d25c",
"sha256": "98f17740d1e66ebd3512bb25cd816f37c55b72f7d121327acedf1735fc5b3377"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "5eb2f6b091a4496c7e9a9774fe65d25c",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 74587,
"upload_time": "2018-07-08T22:58:11",
"url": "https://files.pythonhosted.org/packages/7a/4c/85c13cce927caf6bc5c8bb7adfa76fcd50a54b418d3f0e75c93548813018/sortednp-0.2.0rc0-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7c16eab91624e313ed25f1b30ea03686",
"sha256": "69effdc48ce762a9ef1ed6ae1762824b2aa866f886ec1009dc67bbff4e62788f"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "7c16eab91624e313ed25f1b30ea03686",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 71961,
"upload_time": "2018-07-08T22:58:17",
"url": "https://files.pythonhosted.org/packages/ca/a1/5c2abbbae8a2ab917da7d4c61883b726f697197f13440a97ca6ca761aa7b/sortednp-0.2.0rc0-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2fcdd6f1abdd5424f7fec4ddfc6a6257",
"sha256": "a160e2993705829abb145f01c6105d7bf1cb90a37990c9a78621e53347b86911"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "2fcdd6f1abdd5424f7fec4ddfc6a6257",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 74672,
"upload_time": "2018-07-08T22:58:22",
"url": "https://files.pythonhosted.org/packages/9d/18/890cea57ea4ba81a648f8b26318be33ea8d0df175316f8e53dd03bd4a3a8/sortednp-0.2.0rc0-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ee989bb15ac70cbc87876ff4a0913545",
"sha256": "a9dd8318ad0e3c840b44791cee2066118c820b3aa019f689a5b64cdb3f2bc847"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "ee989bb15ac70cbc87876ff4a0913545",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 72078,
"upload_time": "2018-07-08T22:58:25",
"url": "https://files.pythonhosted.org/packages/84/d5/2d8bfc7f15e50f287d9b0a0871ed39cb1f7c056a9f1a6827563bab572717/sortednp-0.2.0rc0-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "40213238d49e50372f7636ddb2a15ef7",
"sha256": "bef1babc941f33fcbd5fa560fce7bcd15b8f84ce2527576ffec90062e0833360"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp37-cp37m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "40213238d49e50372f7636ddb2a15ef7",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 74887,
"upload_time": "2018-07-08T22:58:29",
"url": "https://files.pythonhosted.org/packages/69/4e/372b958de50f27188144cf23f22ce96a6190e531553dd381becf91713ae3/sortednp-0.2.0rc0-cp37-cp37m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f67217f368923a7356950ef782bfa70e",
"sha256": "7323a27fb323cb887b612a6a493a763c75121952bec837321f6cf9ae67ee5b23"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0-cp37-cp37m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "f67217f368923a7356950ef782bfa70e",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 72278,
"upload_time": "2018-07-08T22:58:32",
"url": "https://files.pythonhosted.org/packages/48/bd/773e5fdbee849c8374fd9873406793d7f8e85ec5e478aa1c668b4f70be0d/sortednp-0.2.0rc0-cp37-cp37m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c52db318f5c51da69cd07a4e7ba40f75",
"sha256": "b1a6a2c3b9fc0cbd1f530a8d190a1ef9ca1eac994bd07108bd328a29867b7a62"
},
"downloads": -1,
"filename": "sortednp-0.2.0rc0.tar.gz",
"has_sig": true,
"md5_digest": "c52db318f5c51da69cd07a4e7ba40f75",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 21325,
"upload_time": "2018-07-08T22:58:35",
"url": "https://files.pythonhosted.org/packages/d9/19/f3313171693abeb9d486c4e9e299dd1290adca018338c6a6cfadf574de13/sortednp-0.2.0rc0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "0d3e3834a1f38d6f85f34e8d15fe9d4c",
"sha256": "4256d50ec5e16f1f881c0c53bfd0ad7e4a2db006d8abdb9d4b147fa0455e04c0"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "0d3e3834a1f38d6f85f34e8d15fe9d4c",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 75839,
"upload_time": "2019-04-16T21:54:18",
"url": "https://files.pythonhosted.org/packages/a7/2b/3947f42f95cb5e542e4dc29223576e425977d2ed810037003ba7f13a7ca9/sortednp-0.2.1-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "27f6a73bfb1fb3f1f3db66340fde50e7",
"sha256": "e0e028dba34467f60c090dc36c1511551c7ce81f272f5ba776130f800839df30"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "27f6a73bfb1fb3f1f3db66340fde50e7",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 72935,
"upload_time": "2019-04-16T21:54:20",
"url": "https://files.pythonhosted.org/packages/e0/99/986e5eda216410450a51fdb8c1544f19dc791d0fbb3c8fc339a22675932f/sortednp-0.2.1-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "459d7116aa8ded752db521bffa364ebd",
"sha256": "aede1b5dcc494414a480a83d3198e420437005d2814e76fea7194c23f79abafa"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "459d7116aa8ded752db521bffa364ebd",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 76048,
"upload_time": "2019-04-16T21:54:21",
"url": "https://files.pythonhosted.org/packages/bf/8f/6d5e4e2586281b6806255d27b5b8ae73e8d94cf4e8fe194fb5f4d807c55f/sortednp-0.2.1-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "58d9b2468cbfd2f0af18b307456af34b",
"sha256": "e379635630b73201b2b72beab12ebef6d21f5e8eedd2e2e054adc0a9fff5798b"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "58d9b2468cbfd2f0af18b307456af34b",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 73074,
"upload_time": "2019-04-16T21:54:23",
"url": "https://files.pythonhosted.org/packages/94/23/fd3c2bf5119d67dc182346eb00f5927a6cda19514e57ef8b2ef4841668b0/sortednp-0.2.1-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fcab51eb64b333d4fc4a3abdb83b37e2",
"sha256": "8cea8bdfb854bdffcc525aad98bb123821d585a7599d4ab25e873f9f531eb2e9"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "fcab51eb64b333d4fc4a3abdb83b37e2",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 76148,
"upload_time": "2019-04-16T21:54:25",
"url": "https://files.pythonhosted.org/packages/c1/3e/632d3bf5e6aa6f82ca042a35c9d4522a2c7885111f2cf10b5ebbb498821e/sortednp-0.2.1-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7b1652baeadeec82ba35a5a2ce9be6c0",
"sha256": "03743e5ea112e15b1924e59a12d1b91b2c6e61aa4aa844c8fb0ce1662d92ed08"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "7b1652baeadeec82ba35a5a2ce9be6c0",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 73187,
"upload_time": "2019-04-16T21:54:27",
"url": "https://files.pythonhosted.org/packages/72/81/79660d0c690e60020c97678d35c501d7d59534ac9a9a5a3610bfcef7b7d9/sortednp-0.2.1-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c188c7a43390d762b4671350be462f10",
"sha256": "1f2d2ab92edff8821485372a6d69dde1096c5216e471d858a3f85d023a650be8"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp37-cp37m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "c188c7a43390d762b4671350be462f10",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 76277,
"upload_time": "2019-04-16T21:54:29",
"url": "https://files.pythonhosted.org/packages/3e/5f/22820e50529d6962875acdc85a439baf000cd361acd853f12acb6a75fd2f/sortednp-0.2.1-cp37-cp37m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c3d2e7b48fa3eb0fbf4b61407aca4d86",
"sha256": "97838da3589a16e34841ad2b1a1a8b5e7da74c4a7999b8a7ee48857b11ef82af"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp37-cp37m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "c3d2e7b48fa3eb0fbf4b61407aca4d86",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 73392,
"upload_time": "2019-04-16T21:54:31",
"url": "https://files.pythonhosted.org/packages/e9/5c/8e28dc1e5b1fc69f8d787a4721c1eea3523bb28bc9349d13049699d3f568/sortednp-0.2.1-cp37-cp37m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9d3b74e5d24a835a6719118f5c198b6e",
"sha256": "da5a42868cf833542b46582cff54f500df6388d639db42bb6776edd535d9fb35"
},
"downloads": -1,
"filename": "sortednp-0.2.1.tar.gz",
"has_sig": true,
"md5_digest": "9d3b74e5d24a835a6719118f5c198b6e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 21878,
"upload_time": "2019-04-16T21:54:32",
"url": "https://files.pythonhosted.org/packages/9e/fb/3a6f734db2659ffb145b76163e4efc758543ce87a982050c15fee9b83091/sortednp-0.2.1.tar.gz"
}
],
"0.2.1rc1": [
{
"comment_text": "",
"digests": {
"md5": "4e7811c91b50be118ebec7217c75ba9b",
"sha256": "e6063dda7dd18a0cfc2fd2d1b02ab93dca01abb453d88ead39433365d1f34d88"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "4e7811c91b50be118ebec7217c75ba9b",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 75868,
"upload_time": "2019-04-15T21:39:28",
"url": "https://files.pythonhosted.org/packages/4c/4f/9595be0f95feddca01d12cefaeee841f465df4bc35abfaf2bedaa8339da1/sortednp-0.2.1rc1-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ec7cde9a480023d8eccb5121e75c047e",
"sha256": "d22f8cc05628abc0eee4684f6e8633ad097e45448eb642ada6179382ca4704a2"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "ec7cde9a480023d8eccb5121e75c047e",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 72959,
"upload_time": "2019-04-15T21:39:30",
"url": "https://files.pythonhosted.org/packages/16/8f/1181ef74a5d99f9f726b2b7ecfd1ac0c241d00042a88b535e08aa3e53b46/sortednp-0.2.1rc1-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1121795195a3ffe974d2f111c03690c3",
"sha256": "44211767e9decc9a36b5a5cdc6f7a8c694c90ac820218d491c13b55f81271180"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "1121795195a3ffe974d2f111c03690c3",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 76067,
"upload_time": "2019-04-15T21:39:32",
"url": "https://files.pythonhosted.org/packages/51/0d/2ca6864d5be6754a5c15c9fcb34d5ba2aa44c7ad51eaa01ee6396d8faf4d/sortednp-0.2.1rc1-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "92e64b922b0243d7e07eb235268a30f8",
"sha256": "81c60617a50775d101a53587fb2d954dbcf0deab8c8306e42cabe601d14918b2"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "92e64b922b0243d7e07eb235268a30f8",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 73107,
"upload_time": "2019-04-15T21:39:34",
"url": "https://files.pythonhosted.org/packages/eb/5f/f66926c79d6f6428f3f84c92d07c8e647adfe5bc3bb598ccf2e6a631b016/sortednp-0.2.1rc1-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c61cd560dcab4875e7624656e52717ed",
"sha256": "1d5feb0f7a5f14d5995a6b65ac087f7ecf2c42b7c84bf40e1988a940d7b5e887"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "c61cd560dcab4875e7624656e52717ed",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 76192,
"upload_time": "2019-04-15T21:39:36",
"url": "https://files.pythonhosted.org/packages/95/c1/6accdc7091aac8d0cae5f113f220ca269d4934ac1abad5f2d23f223ccc69/sortednp-0.2.1rc1-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a47d7e6808f2fcdc4bb9e04ab076fb1a",
"sha256": "4dcfc242f2b984a6689a03dcb9e61d8457a258f3e9edcc000ec4c4d9f5b3e6bf"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "a47d7e6808f2fcdc4bb9e04ab076fb1a",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 73230,
"upload_time": "2019-04-15T21:39:38",
"url": "https://files.pythonhosted.org/packages/5b/7a/c44c250995feef9db01f824efa13acb26ba9d4239aad64055aa9cf7bbbf6/sortednp-0.2.1rc1-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b1141157f0b738542c68d25fb681a7e9",
"sha256": "e684266b0ea749b11d743a86adc75044f8f318a29d2b574397839b5a919a73a0"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp37-cp37m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "b1141157f0b738542c68d25fb681a7e9",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 76308,
"upload_time": "2019-04-15T21:39:39",
"url": "https://files.pythonhosted.org/packages/60/e0/b06d05737ea222332b903531f4651d7860d01ceced0d748229d88a7b9dd9/sortednp-0.2.1rc1-cp37-cp37m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e599aae036a6bbdfc5a67026ac2025e8",
"sha256": "2b8e303ae1b864bceed1ca6a2345f8aab7b5eb40d94127c8d42638dae657393e"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1-cp37-cp37m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "e599aae036a6bbdfc5a67026ac2025e8",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 73440,
"upload_time": "2019-04-15T21:39:41",
"url": "https://files.pythonhosted.org/packages/03/60/946fa07c33324a086f8a5b57ab818f6fb79e2d9451beec4dc9dc2ea25552/sortednp-0.2.1rc1-cp37-cp37m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5ec082dee05cb636c24e3180697b14d6",
"sha256": "c3f461f3566aba17fd34ddc541763f7e2e303d2a7826d19e6cc17182fc59655c"
},
"downloads": -1,
"filename": "sortednp-0.2.1rc1.tar.gz",
"has_sig": true,
"md5_digest": "5ec082dee05cb636c24e3180697b14d6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 21885,
"upload_time": "2019-04-15T21:39:43",
"url": "https://files.pythonhosted.org/packages/11/af/2e1c51855f3e8dc610e5dcb0a30b6f31654529461bf2ee580063c286cf2e/sortednp-0.2.1rc1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0d3e3834a1f38d6f85f34e8d15fe9d4c",
"sha256": "4256d50ec5e16f1f881c0c53bfd0ad7e4a2db006d8abdb9d4b147fa0455e04c0"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp34-cp34m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "0d3e3834a1f38d6f85f34e8d15fe9d4c",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 75839,
"upload_time": "2019-04-16T21:54:18",
"url": "https://files.pythonhosted.org/packages/a7/2b/3947f42f95cb5e542e4dc29223576e425977d2ed810037003ba7f13a7ca9/sortednp-0.2.1-cp34-cp34m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "27f6a73bfb1fb3f1f3db66340fde50e7",
"sha256": "e0e028dba34467f60c090dc36c1511551c7ce81f272f5ba776130f800839df30"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp34-cp34m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "27f6a73bfb1fb3f1f3db66340fde50e7",
"packagetype": "bdist_wheel",
"python_version": "cp34",
"requires_python": ">=3",
"size": 72935,
"upload_time": "2019-04-16T21:54:20",
"url": "https://files.pythonhosted.org/packages/e0/99/986e5eda216410450a51fdb8c1544f19dc791d0fbb3c8fc339a22675932f/sortednp-0.2.1-cp34-cp34m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "459d7116aa8ded752db521bffa364ebd",
"sha256": "aede1b5dcc494414a480a83d3198e420437005d2814e76fea7194c23f79abafa"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp35-cp35m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "459d7116aa8ded752db521bffa364ebd",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 76048,
"upload_time": "2019-04-16T21:54:21",
"url": "https://files.pythonhosted.org/packages/bf/8f/6d5e4e2586281b6806255d27b5b8ae73e8d94cf4e8fe194fb5f4d807c55f/sortednp-0.2.1-cp35-cp35m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "58d9b2468cbfd2f0af18b307456af34b",
"sha256": "e379635630b73201b2b72beab12ebef6d21f5e8eedd2e2e054adc0a9fff5798b"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp35-cp35m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "58d9b2468cbfd2f0af18b307456af34b",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": ">=3",
"size": 73074,
"upload_time": "2019-04-16T21:54:23",
"url": "https://files.pythonhosted.org/packages/94/23/fd3c2bf5119d67dc182346eb00f5927a6cda19514e57ef8b2ef4841668b0/sortednp-0.2.1-cp35-cp35m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fcab51eb64b333d4fc4a3abdb83b37e2",
"sha256": "8cea8bdfb854bdffcc525aad98bb123821d585a7599d4ab25e873f9f531eb2e9"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp36-cp36m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "fcab51eb64b333d4fc4a3abdb83b37e2",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 76148,
"upload_time": "2019-04-16T21:54:25",
"url": "https://files.pythonhosted.org/packages/c1/3e/632d3bf5e6aa6f82ca042a35c9d4522a2c7885111f2cf10b5ebbb498821e/sortednp-0.2.1-cp36-cp36m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7b1652baeadeec82ba35a5a2ce9be6c0",
"sha256": "03743e5ea112e15b1924e59a12d1b91b2c6e61aa4aa844c8fb0ce1662d92ed08"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp36-cp36m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "7b1652baeadeec82ba35a5a2ce9be6c0",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3",
"size": 73187,
"upload_time": "2019-04-16T21:54:27",
"url": "https://files.pythonhosted.org/packages/72/81/79660d0c690e60020c97678d35c501d7d59534ac9a9a5a3610bfcef7b7d9/sortednp-0.2.1-cp36-cp36m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c188c7a43390d762b4671350be462f10",
"sha256": "1f2d2ab92edff8821485372a6d69dde1096c5216e471d858a3f85d023a650be8"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp37-cp37m-manylinux1_i686.whl",
"has_sig": true,
"md5_digest": "c188c7a43390d762b4671350be462f10",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 76277,
"upload_time": "2019-04-16T21:54:29",
"url": "https://files.pythonhosted.org/packages/3e/5f/22820e50529d6962875acdc85a439baf000cd361acd853f12acb6a75fd2f/sortednp-0.2.1-cp37-cp37m-manylinux1_i686.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c3d2e7b48fa3eb0fbf4b61407aca4d86",
"sha256": "97838da3589a16e34841ad2b1a1a8b5e7da74c4a7999b8a7ee48857b11ef82af"
},
"downloads": -1,
"filename": "sortednp-0.2.1-cp37-cp37m-manylinux1_x86_64.whl",
"has_sig": true,
"md5_digest": "c3d2e7b48fa3eb0fbf4b61407aca4d86",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3",
"size": 73392,
"upload_time": "2019-04-16T21:54:31",
"url": "https://files.pythonhosted.org/packages/e9/5c/8e28dc1e5b1fc69f8d787a4721c1eea3523bb28bc9349d13049699d3f568/sortednp-0.2.1-cp37-cp37m-manylinux1_x86_64.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9d3b74e5d24a835a6719118f5c198b6e",
"sha256": "da5a42868cf833542b46582cff54f500df6388d639db42bb6776edd535d9fb35"
},
"downloads": -1,
"filename": "sortednp-0.2.1.tar.gz",
"has_sig": true,
"md5_digest": "9d3b74e5d24a835a6719118f5c198b6e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 21878,
"upload_time": "2019-04-16T21:54:32",
"url": "https://files.pythonhosted.org/packages/9e/fb/3a6f734db2659ffb145b76163e4efc758543ce87a982050c15fee9b83091/sortednp-0.2.1.tar.gz"
}
]
}