{ "info": { "author": "Vincent Delecroix", "author_email": "vincent.delecroix@labri.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: Unix", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "PPL Python wrapper\n==================\n\nThis Python package provides a wrapper to the C++ `Parma Polyhedra Library\n(PPL) `_.\n\nThe whole package started as a fork of a tiny part of the `Sage\n`_ software.\n\nHow it works\n------------\n\nThe names of objects and methods are the same as in the library:\n\n.. code:: python\n\n >>> import ppl\n >>> x = ppl.Variable(0)\n >>> y = ppl.Variable(1)\n >>> z = ppl.Variable(2)\n >>> cs = ppl.Constraint_System()\n >>> cs.insert(x >= 0)\n >>> cs.insert(y >= 0)\n >>> cs.insert(z >= 0)\n >>> cs.insert(x + y + z == 1)\n >>> poly = ppl.C_Polyhedron(cs)\n >>> poly.minimized_generators()\n Generator_System {point(1/1, 0/1, 0/1), point(0/1, 1/1, 0/1), point(0/1, 0/1, 1/1)}\n\nThe available objects and functions from the `ppl` Python module are:\n\n- `Variable`, `Variables_Set`, `Linear_Expression` (defined in `ppl.linear_algebra`)\n\n- `MIP_Problem` (defined in `ppl.mip_problem`)\n\n- `C_Polyhedron`, `NNC_Polyhedron` (defined in `ppl.polyhedron`)\n\n- `Generator`, `Generator_System`, `Poly_Gen_Relation`, `point`,\n `closure_point`, `ray`, `line` (defined in `ppl.generator`)\n\n- `Constraint`, `Constraint_System`, `Poly_Con_Relation`,\n `inequality`, `equation`, `strict_inequality` (defined in `ppl.constraint`)\n\nInstallation\n------------\n\nThe project is available at `Python Package Index `_ and\ncan be installed with pip::\n\n $ pip install pplpy\n\nNote that if you have gmp and ppl installed in a non standard directory (e.g. you use brew\non MacOSX) then you need to set appropriately the variables `CFLAGS` before calling `pip`. For\nexample::\n\n $ export CFLAGS=\"-I/path/to/gmp/include/ -L/path/to/gmp/lib/ -I/path/to/ppl/include/ -L/path/to/ppl/lib $CFLAGS\"\n $ pip install pplpy\n\nUsing from Cython\n-----------------\n\nAll Python classes from pplpy are extension types and can be used with Cython. Each\nextension type carries an attribute `thisptr` that holds a pointer to\nthe corresponding C++ object from ppl.\n\nA complete example is provided with the files `tests/testpplpy.pyx` and `tests/setup.py`.\n\nSource\n------\n\nYou can find the latest version of the source code on gitlab:\nhttps://gitlab.com/videlec/pplpy\n\nDocumentation\n-------------\n\nAn online version of the documentation is available at http://www.labri.fr/perso/vdelecro/pplpy/latest/\n\nCompiling the html documentation requires make and `sphinx `_.\nBefore building the documentation, you need to install the pplpy package (sphinx uses Python introspection).\nThe documentation source code is contained in the repository `docs` where there is a standard\nMakefile with a target `html`. Running `make html` in the `docs` repository builds the documentation\ninside `docs/build/html`. For more configuration options, run `make help`.\n\nLicense\n-------\n\npplpy is distributed under the terms of the GNU General Public License (GPL)\npublished by the Free Software Foundation; either version 3 of\nthe License, or (at your option) any later version. See http://www.gnu.org/licenses/.\n\nRequirements\n------------\n\n- `gmp `_\n\n- `mpfr `_\n\n- `mpc `_\n\n- `PPL `_\n\n- `Cython `_\n\n- `cysignals `_\n\n- `gmpy2 `_: version 2.1.0a4 from sources (see below)\n\nOn Debian/Ubuntu systems these can be installed with::\n\n $ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libppl-dev cython\n $ pip install cysignals --user\n $ pip install gmpy2==2.1.0a4 --user\n\nThe pip optional option `--user` allows to install python packages for a single\nuser with no need for administrator rights. The two pip install commands might\nbe replaced by `sudo pip install PKG` (not recommanded). On recent Debian/Ubuntu systems,\ncysignals is also available as a package under the name `python-cysignals` for\nPython 2 and `python3-cysignals` for Python 3.", "description_content_type": "", "docs_url": "https://pythonhosted.org/pplpy/", "download_url": "https://pypi.org/project/pplpy/#files", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/videlec/pplpy", "keywords": "polyhedron,polytope,convex,mathematics,ppl,milp,linear-programming", "license": "GPL v3", "maintainer": "", "maintainer_email": "", "name": "pplpy", "package_url": "https://pypi.org/project/pplpy/", "platform": "any", "project_url": "https://pypi.org/project/pplpy/", "project_urls": { "Download": "https://pypi.org/project/pplpy/#files", "Homepage": "https://gitlab.com/videlec/pplpy" }, "release_url": "https://pypi.org/project/pplpy/0.8.4/", "requires_dist": null, "requires_python": "", "summary": "Python PPL wrapper", "version": "0.8.4" }, "last_serial": 4879769, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "fbfb0c3584ea4de1eb35789c945dae2a", "sha256": "3809ef603e85bf73fbd9a0f7495e4e2070d813f6e2df6309f19f06a07ce18e0f" }, "downloads": -1, "filename": "pplpy-0.1.tar.gz", "has_sig": false, "md5_digest": "fbfb0c3584ea4de1eb35789c945dae2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 282719, "upload_time": "2016-01-16T19:19:58", "url": "https://files.pythonhosted.org/packages/21/ff/603f02a1372f23fe416f3e6e39cc4151bee1e8ec3ef917cd27b8c57d1761/pplpy-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "64c6fa265ead7ad19687402b18aff117", "sha256": "62eb924b13da24b80c8574870b5b387a5df90cac8441b403f9161c602bec372c" }, "downloads": -1, "filename": "pplpy-0.2.tar.gz", "has_sig": false, "md5_digest": "64c6fa265ead7ad19687402b18aff117", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 283172, "upload_time": "2016-01-16T19:43:03", "url": "https://files.pythonhosted.org/packages/ae/8d/8eef6fdafd3610d464eee530a11fe8b3e1d0a06ecaa63ff8f6d11a57f8a1/pplpy-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f53e6d3d3179ab491a17740c110f7826", "sha256": "26bf83927915ca80e5380dbaae26de93d3942cd68ff2c41d331ac7fa93fdd6ba" }, "downloads": -1, "filename": "pplpy-0.3.tar.gz", "has_sig": false, "md5_digest": "f53e6d3d3179ab491a17740c110f7826", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 283228, "upload_time": "2016-01-16T20:08:22", "url": "https://files.pythonhosted.org/packages/62/88/f0dc47db54bcbb92e4215b8b870a024f331d1855b4a3bbc7be207cc4c6ba/pplpy-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "909b0df735ff58b06552df7a641cf671", "sha256": "8b737db6a2c6da5d8e6c4c2b20c17319b86c581d996b343f119383cd988f5ebf" }, "downloads": -1, "filename": "pplpy-0.4.tar.gz", "has_sig": false, "md5_digest": "909b0df735ff58b06552df7a641cf671", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 269981, "upload_time": "2016-01-17T03:43:56", "url": "https://files.pythonhosted.org/packages/71/0c/bcaeafd936d65d9b0f6b6cc0b7c083c08ed4a92c78a43d1ff5c8d6d8d2bc/pplpy-0.4.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "7fb7978c9f080c2e5ae7dcbfe8bd55fc", "sha256": "85e2c6d2cd0212054090d0cb4ac6409c467bf72fd2e9c7ad6f411012b62903f9" }, "downloads": -1, "filename": "pplpy-0.6.tar.gz", "has_sig": false, "md5_digest": "7fb7978c9f080c2e5ae7dcbfe8bd55fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 392590, "upload_time": "2016-01-17T15:12:18", "url": "https://files.pythonhosted.org/packages/a1/04/cfbed5feb14334dac039af48ef18be5f6a8dc534b946079361c396aa8fc9/pplpy-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "89dd6a1e75e06e287adae2ea4dbc143b", "sha256": "1531a56e5a82f6815da821365f15c4c72114a160ccd8a28d3b6e615e78e76e63" }, "downloads": -1, "filename": "pplpy-0.7.tar.gz", "has_sig": false, "md5_digest": "89dd6a1e75e06e287adae2ea4dbc143b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51742, "upload_time": "2017-11-24T18:45:09", "url": "https://files.pythonhosted.org/packages/ca/d3/1629e95997068c129e3a5235fd32a39e4fc39faca892cf9a2da11f842fb9/pplpy-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "f9498cb77a6627d53cdc563dfce46a8e", "sha256": "92615d3ff1828be44516a8c573bcacb334325a9be59dd3e630009c78b0d6bde2" }, "downloads": -1, "filename": "pplpy-0.8.tar.gz", "has_sig": false, "md5_digest": "f9498cb77a6627d53cdc563dfce46a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55865, "upload_time": "2019-01-18T21:18:28", "url": "https://files.pythonhosted.org/packages/9b/bb/4973d00ec0b02bb5c4a744584a41d29b68bb9fec529407d81808e46adcca/pplpy-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "a9c7dcbeccf2b3921b2ac871cbd62fe0", "sha256": "cd335acf77ef857930ae7fd3269ab7a55b4fd3dbc5a773f6d0149046a2f4000b" }, "downloads": -1, "filename": "pplpy-0.8.1.tar.gz", "has_sig": false, "md5_digest": "a9c7dcbeccf2b3921b2ac871cbd62fe0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55718, "upload_time": "2019-01-23T18:14:26", "url": "https://files.pythonhosted.org/packages/b2/90/890f89536a0fdd66d78a07d963152502b4b1af7c94366d8bb16e7ff8e309/pplpy-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "33d8a918dd9b34f33fc2926e68352623", "sha256": "e31aa1d9d743ff805ad85ee0c0f337c6bfe4497e889060a03f9e9330b31e88f9" }, "downloads": -1, "filename": "pplpy-0.8.2.tar.gz", "has_sig": false, "md5_digest": "33d8a918dd9b34f33fc2926e68352623", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61931, "upload_time": "2019-01-31T08:17:42", "url": "https://files.pythonhosted.org/packages/dd/19/3d385dbbf85df84faaaf3291599b95932a58ef0c5ae7015c3ff890d65fbb/pplpy-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "6f4f10d0c434ed49a353067f6aa3c6e4", "sha256": "7490c4fc522259db518d71a83f3d2fc44536eedcee7006c87acfd76897b1a8bb" }, "downloads": -1, "filename": "pplpy-0.8.3.tar.gz", "has_sig": false, "md5_digest": "6f4f10d0c434ed49a353067f6aa3c6e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60183, "upload_time": "2019-02-14T22:25:55", "url": "https://files.pythonhosted.org/packages/34/e8/b374e7b495937eb80d1176cb68098b9cdd6c269c956d995f0accb4e56d18/pplpy-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "aeaa68b4b3440914292b93b703f344b9", "sha256": "b962914d5814edab320d00c11ca396b70c4ce1e67db7a6d59c4b0a3772a16836" }, "downloads": -1, "filename": "pplpy-0.8.4.tar.gz", "has_sig": false, "md5_digest": "aeaa68b4b3440914292b93b703f344b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61932, "upload_time": "2019-02-28T15:23:17", "url": "https://files.pythonhosted.org/packages/fe/f4/765628c74624cea90cc6f260d222dcfc1dff520a54e0f8cc5d67c602d638/pplpy-0.8.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aeaa68b4b3440914292b93b703f344b9", "sha256": "b962914d5814edab320d00c11ca396b70c4ce1e67db7a6d59c4b0a3772a16836" }, "downloads": -1, "filename": "pplpy-0.8.4.tar.gz", "has_sig": false, "md5_digest": "aeaa68b4b3440914292b93b703f344b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61932, "upload_time": "2019-02-28T15:23:17", "url": "https://files.pythonhosted.org/packages/fe/f4/765628c74624cea90cc6f260d222dcfc1dff520a54e0f8cc5d67c602d638/pplpy-0.8.4.tar.gz" } ] }