{ "info": { "author": "Rapha\u00ebl Bleuse", "author_email": "cs@research.bleuse.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==========\nprocset.py\n==========\n\nToolkit to manage sets of closed intervals.\n\n`procset` is a pure python module to manage sets of closed intervals. It can be\nused as a small python library to manage sets of resources, and is especially\nuseful when writing schedulers.\n\n\nFeatures\n--------\n\n- Free Software: licensed under LGPLv3 (see ``_).\n- Pure Python module :)\n- Thoroughly tested!\n- Drop-in replacement for `interval_set` (see `intsetwrap.py\n `_).\n\n\nLimitations\n-----------\n\n- The provided implementation target only Python 3 (I do not want to maintain\n old stuff :P).\n- The intervals bounds have to be non-negative integers.\n\n\nRequirements\n------------\n\n- `setuptools>=34.4.0`\n\n\nExample use\n-----------\n\nWhat does it look like to use ``procset``? Here is a simple example program:\n\n.. code:: python\n\n from procset import ProcSet\n\n\n free_cores = ProcSet((0, 7)) # I have 8 cores to work with\n\n job_cores = ProcSet((2, 5)) # let's use some cores for a job\n free_cores -= job_cores\n\n print('remaining cores:', str(free_cores))\n\n\nAnd it looks like this when run:\n\n.. code:: bash\n\n $ python example.py\n remaining cores: 0-1 6-7\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.inria.fr/bleuse/procset.py", "keywords": "interval set,scheduling", "license": "LGPLv3", "maintainer": "", "maintainer_email": "", "name": "procset", "package_url": "https://pypi.org/project/procset/", "platform": "", "project_url": "https://pypi.org/project/procset/", "project_urls": { "Documentation": "https://procset.rtfd.io/en/stable/", "Homepage": "https://gitlab.inria.fr/bleuse/procset.py" }, "release_url": "https://pypi.org/project/procset/1.0/", "requires_dist": [ "coverage ; extra == 'test'", "pytest ; extra == 'test'", "pytest-cov ; extra == 'test'", "interval-set ; extra == 'test'" ], "requires_python": "", "summary": "Toolkit to manage sets of closed intervals.", "version": "1.0" }, "last_serial": 4845018, "releases": { "0.1.dev1": [ { "comment_text": "", "digests": { "md5": "fcb2ee81818b1a99790cd0767429f184", "sha256": "b5a287b3e60a6c1a23591be248f3029493f4daaaf1dd2c29ed0ef3ac4d50f5a8" }, "downloads": -1, "filename": "procset-0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "fcb2ee81818b1a99790cd0767429f184", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166625, "upload_time": "2017-03-29T09:21:17", "url": "https://files.pythonhosted.org/packages/60/f4/7d0938c9c6e7fb01aed56eded06b0a3441551ad3cc1404b1606fc538950e/procset-0.1.dev1.tar.gz" } ], "0.1.dev2": [ { "comment_text": "", "digests": { "md5": "a5728b1c79655976a6dedf7593cc9a6f", "sha256": "9a7fb3a8962750df12453b91540eab035e37ecf1889d1d91fb1ec3a6bdfc8f16" }, "downloads": -1, "filename": "procset-0.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "a5728b1c79655976a6dedf7593cc9a6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7346, "upload_time": "2017-09-07T08:41:00", "url": "https://files.pythonhosted.org/packages/72/f8/efa804f02d384b4060425cd4847345f5f0d7ab50fa544dfb5cc791830786/procset-0.1.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9fa71508c6c81be38185aac37bb63ba", "sha256": "d05058f77bfa7e3c575a61ba5d3c3d330edb7e236ab97e31b1d13686545352b9" }, "downloads": -1, "filename": "procset-0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "d9fa71508c6c81be38185aac37bb63ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 167437, "upload_time": "2017-09-07T08:40:19", "url": "https://files.pythonhosted.org/packages/ef/70/1ba9d295a701b7e148d03742aa8b8275d791aa9dde1659e49ba70c467c24/procset-0.1.dev2.tar.gz" } ], "0.1.dev4": [ { "comment_text": "", "digests": { "md5": "8b053981a2347be3bcb5d5d7b858f368", "sha256": "f5eab3f6468cfdd05a34f119222c82b7768007390d6dfd3a700ffaa70ca17c96" }, "downloads": -1, "filename": "procset-0.1.dev4-py3-none-any.whl", "has_sig": false, "md5_digest": "8b053981a2347be3bcb5d5d7b858f368", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7392, "upload_time": "2017-09-11T14:12:44", "url": "https://files.pythonhosted.org/packages/2c/d4/09a62a8dd45f3edcd0ebe79ab492e8f63b3b6a8201a871b59e5c718504e2/procset-0.1.dev4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07a2e8e8a7c2693e26b3da0de6f0bd38", "sha256": "3ed705ba03d3ce25998059f47ddb47751f6350ed5d18f2f75f71c899f1ba68ba" }, "downloads": -1, "filename": "procset-0.1.dev4.tar.gz", "has_sig": false, "md5_digest": "07a2e8e8a7c2693e26b3da0de6f0bd38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157464, "upload_time": "2017-09-11T14:12:45", "url": "https://files.pythonhosted.org/packages/63/4b/dc761dd310586d3d2fcd0d1047920d4dd1b6d44d0e59f436cec978c2c514/procset-0.1.dev4.tar.gz" } ], "0.1.dev5": [ { "comment_text": "", "digests": { "md5": "2e4f72a24b894f508d575f47cace4d53", "sha256": "88203e3f5665044430d16cf86b4ecc99974309f1bf06ec56cd9f0b1baaf14dc9" }, "downloads": -1, "filename": "procset-0.1.dev5-py3-none-any.whl", "has_sig": false, "md5_digest": "2e4f72a24b894f508d575f47cace4d53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8984, "upload_time": "2017-09-13T15:21:59", "url": "https://files.pythonhosted.org/packages/e6/7c/f7ea3800eab043c6f41fd637666bf602017af39805ed8b1526be73623434/procset-0.1.dev5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07bb5abfab590d5c10f38611d3664dca", "sha256": "2f04c86e6ab2243891469bd7b901f8b76992d6551207f7b7062ac6d4fe4fc592" }, "downloads": -1, "filename": "procset-0.1.dev5.tar.gz", "has_sig": false, "md5_digest": "07bb5abfab590d5c10f38611d3664dca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157433, "upload_time": "2017-09-13T15:22:00", "url": "https://files.pythonhosted.org/packages/23/1e/c0c295a1193db24036044afd50e718f6ef054fc2da93794a718b7b0d6724/procset-0.1.dev5.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "fc37b2fcdc0a4ce67aefd044cd5bb2f3", "sha256": "843a9529b3d5c30e9e62e895c59cda63ba312c860ba809486cfa0dec911740d9" }, "downloads": -1, "filename": "procset-0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "fc37b2fcdc0a4ce67aefd044cd5bb2f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9177, "upload_time": "2018-01-31T08:37:43", "url": "https://files.pythonhosted.org/packages/eb/b1/db1fdddf72479f8a88df52bd6c80f86213452f55675203b3febfd37768b2/procset-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c05264cd51489a33da3d1361130e7da", "sha256": "b7061a1b61ea7c6c7c276df4a15ba7ed70e0fb3598a6b028ec806e2839f58dc7" }, "downloads": -1, "filename": "procset-0.2.tar.gz", "has_sig": true, "md5_digest": "8c05264cd51489a33da3d1361130e7da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156194, "upload_time": "2018-01-31T08:37:45", "url": "https://files.pythonhosted.org/packages/1e/02/b801c6f0f8d99ffec0051971a895caa70740534f9b500c14b4b117c7d062/procset-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "6df08bf5e842315e10a5764e4dcf50c8", "sha256": "c5094642c3da65281d82583cfd30b656a350be098067d45d1ad7400ec9a1cec7" }, "downloads": -1, "filename": "procset-0.3-py3-none-any.whl", "has_sig": true, "md5_digest": "6df08bf5e842315e10a5764e4dcf50c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9312, "upload_time": "2018-02-05T13:43:14", "url": "https://files.pythonhosted.org/packages/6c/30/9f854245a037501b1506aeeb2a8386672c249af4ce8abd0e630b543f10d0/procset-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9da43cf8993b450f7e766657f575a444", "sha256": "5d6436c9955ef5246efd9ae7748b631c5e20385edc5d069249d2741fe508f096" }, "downloads": -1, "filename": "procset-0.3.tar.gz", "has_sig": true, "md5_digest": "9da43cf8993b450f7e766657f575a444", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156176, "upload_time": "2018-02-05T13:43:16", "url": "https://files.pythonhosted.org/packages/4a/e9/2a9856943ce7811ffe370b390a7bcd3ba5e11582b6f4a90ddd454e2f9270/procset-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "2a05ca1b3b14ff63023283f6c24aec84", "sha256": "c61b5a2bbfed9d3c2ae9690a9b2419b38ae41389fc33ff712cb7aae0db5bdf99" }, "downloads": -1, "filename": "procset-0.4-py3-none-any.whl", "has_sig": true, "md5_digest": "2a05ca1b3b14ff63023283f6c24aec84", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9475, "upload_time": "2018-02-15T10:28:36", "url": "https://files.pythonhosted.org/packages/a0/c6/83607636cad6d55a9ae5f0e073e2156ca1a8f07bf8df7df4c636aeff7e65/procset-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dcdce6886dabb7f80bb87e44b880bb27", "sha256": "108a364fdd2b8e61c54b672dcdb483810c592971e60a01e75b5741320e0e62dc" }, "downloads": -1, "filename": "procset-0.4.tar.gz", "has_sig": true, "md5_digest": "dcdce6886dabb7f80bb87e44b880bb27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157285, "upload_time": "2018-02-15T10:28:38", "url": "https://files.pythonhosted.org/packages/1f/4b/fa19a39f6f707f482500b95454c4a08da751d1c0e0b47b976faf6b28007b/procset-0.4.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "b7de97b4f437e57435a438b37e4a7ad9", "sha256": "6804d642f59bc4a88046c34fe42840e09d72b71d5504678c0b09ac0de1b98af9" }, "downloads": -1, "filename": "procset-1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "b7de97b4f437e57435a438b37e4a7ad9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12319, "upload_time": "2019-02-20T11:24:09", "url": "https://files.pythonhosted.org/packages/16/c8/7e64f7a08fd6fa72df8f332b06821ff757dd091e3ada4494f920a85c1caa/procset-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fa45d30e92bb2f529913f95e9ffb6ee", "sha256": "10921a4fe902822b6d4c94691abbf1965a29bc81157215f1a9092305e21fc146" }, "downloads": -1, "filename": "procset-1.0.tar.gz", "has_sig": true, "md5_digest": "8fa45d30e92bb2f529913f95e9ffb6ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 165197, "upload_time": "2019-02-20T11:24:13", "url": "https://files.pythonhosted.org/packages/ff/97/17a02573b1842204a2cf8a1328221b41cd120bc450c872a4de14405aeb74/procset-1.0.tar.gz" } ], "1.0rc0": [ { "comment_text": "", "digests": { "md5": "0baaf16b89fc34db7c43014fce58a1f3", "sha256": "fb3c1f9a9b49ce3ddcc558797a5dc72ecc4dd84e98c209a234a59bc709f96e6e" }, "downloads": -1, "filename": "procset-1.0rc0-py3-none-any.whl", "has_sig": true, "md5_digest": "0baaf16b89fc34db7c43014fce58a1f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11720, "upload_time": "2019-02-07T13:15:29", "url": "https://files.pythonhosted.org/packages/23/3c/c26e4b3b45344f7edca2487ce8d6dca46d6bae7bf860d775f1f4a8442d4e/procset-1.0rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39df26e905630e6739f53ce7aff7efb5", "sha256": "b75db5cb345c04217c3f4f1e0968724cb62d35522f262553bee3ae9ee840231f" }, "downloads": -1, "filename": "procset-1.0rc0.tar.gz", "has_sig": true, "md5_digest": "39df26e905630e6739f53ce7aff7efb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 159323, "upload_time": "2019-02-07T13:15:31", "url": "https://files.pythonhosted.org/packages/09/5c/ea55d99c4156a412384d2a506714a12d342cd69b865b9169fe4b60cdfcaa/procset-1.0rc0.tar.gz" } ], "1.0rc1": [ { "comment_text": "", "digests": { "md5": "2a62f123e660efc5f72cd14f657ef91c", "sha256": "694eb75e1dc5da13671eda2be07a44c0668889c740d7e878355a0acaff75bfdb" }, "downloads": -1, "filename": "procset-1.0rc1-py3-none-any.whl", "has_sig": true, "md5_digest": "2a62f123e660efc5f72cd14f657ef91c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12087, "upload_time": "2019-02-14T15:12:00", "url": "https://files.pythonhosted.org/packages/cb/ad/c77449d9e5d64d816a3cbe90e3df04c32d39f87eb2a2f05166dd9a085800/procset-1.0rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1209075a3ddc71ac5ec1f2762c36e0ac", "sha256": "c06d15177a3a5dfe9f45dfbc183c4b260e8ad09c08818c846ebfc2164c9b8cd3" }, "downloads": -1, "filename": "procset-1.0rc1.tar.gz", "has_sig": true, "md5_digest": "1209075a3ddc71ac5ec1f2762c36e0ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 605523, "upload_time": "2019-02-14T15:12:10", "url": "https://files.pythonhosted.org/packages/fe/6c/cadd980a2df505588943d4de93b379d812bd7ba67f06a8a1108fe95461ff/procset-1.0rc1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b7de97b4f437e57435a438b37e4a7ad9", "sha256": "6804d642f59bc4a88046c34fe42840e09d72b71d5504678c0b09ac0de1b98af9" }, "downloads": -1, "filename": "procset-1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "b7de97b4f437e57435a438b37e4a7ad9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12319, "upload_time": "2019-02-20T11:24:09", "url": "https://files.pythonhosted.org/packages/16/c8/7e64f7a08fd6fa72df8f332b06821ff757dd091e3ada4494f920a85c1caa/procset-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fa45d30e92bb2f529913f95e9ffb6ee", "sha256": "10921a4fe902822b6d4c94691abbf1965a29bc81157215f1a9092305e21fc146" }, "downloads": -1, "filename": "procset-1.0.tar.gz", "has_sig": true, "md5_digest": "8fa45d30e92bb2f529913f95e9ffb6ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 165197, "upload_time": "2019-02-20T11:24:13", "url": "https://files.pythonhosted.org/packages/ff/97/17a02573b1842204a2cf8a1328221b41cd120bc450c872a4de14405aeb74/procset-1.0.tar.gz" } ] }