{ "info": { "author": "LLVM team and Russell Keith-Magee", "author_email": "russell@keith-magee.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: University of Illinois/NCSA Open Source License", "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", "Topic :: Software Development :: Compilers" ], "description": "Sealang\n=======\n\n.. image:: https://travis-ci.org/pybee/sealang.svg?branch=master\n :target: https://travis-ci.org/pybee/sealang\n\nSealang is an improved set of Python bindings for ``libclang``.\n\nThe upstream maintainers of ``libclang`` have not been especially responsive\nto patches that address issues like Python 3 compatibility, and the\nsignificant omissions in the API (such as extracting literals and operators).\n\nThis package is a fork of the official Python bindings for ``libclang``, patched to correct these problems.\n\nInstallation\n------------\n\nTo compile Sealang, you'll need to:\n\n1. Install LLVM (with clang)\n2. Set some environment variables\n3. Install Sealang\n\nThe exact commands needed will vary between platforms.\n\nOS X\n~~~~\n\nAlthough OS X provides Clang, it doesn't provide all the development headers,\nso you'll need to . `Homebrew`_ is the easiest way to do this. Follow the\ninstallation instructions on the Homebrew homepage; once you've got Homebrew\ninstalled, you can run::\n\n $ brew install llvm --with-clang --with-asan\n\nto get a working install of llvm with clang.\n\n.. _Homebrew: http://brew.sh\n\nThen, you'll need to set the following environment variables::\n\n $ export LLVM_HOME=/usr/local/opt/llvm\n $ export DYLD_LIBRARY_PATH=$LLVM_HOME/lib\n\nLastly, you can install Sealang::\n\n $ pip install sealang\n\nUbuntu 14.04 (Trusty)\n~~~~~~~~~~~~~~~~~~~~~\n\nTo compile under Ubuntu 14.04 (Trusty), you'll need to get an updated version\nof LLVM::\n\n $ sudo apt-get install libclang-3.6 clang-3.6 -y\n\nThen, you'll need to set the following environment variables::\n\n $ export LLVM_HOME=/usr/lib/llvm-3.6\n $ export LD_LIBRARY_PATH=$LLVM_HOME/lib\n\nLastly, you can install Sealang::\n\n $ pip install sealang\n\nOther platforms\n~~~~~~~~~~~~~~~\n\nThe instructions for installing on other platforms should be analogous. If you\ndevelop build instructions for a platform, please `submit a pull request`_.\n\nUsage\n-----\n\nSealang provides a superset of the functionality provided by ``libclang``. Those features are:\n\n* ``Cursor`` objects have 4 additional attributes:\n\n - ``literal`` - the value of a literal expression. Available on\n IntegerLiteral, FloatingLiteral, StringLiteral, CharacterLiteral, and\n CXXBooleanLiteral nodes.\n\n - ``operator`` - the printable version of an operator. Only available on\n BinaryOperator, UnaryOperator, and CompoundAssignOperator cursor nodes.\n\n - ``binary_operator`` - an enumeration value describing a BinaryOperator or\n CompoundAssignOperator node.\n\n - ``unary_operator`` - an enumeration value describing a UnaryOperator node.\n\n* ``BinaryOperator`` - An enumeration for the types of binary operators:\n\n - ``BinaryOperator.INVALID``\n - ``BinaryOperator.PTRMEMD``\n - ``BinaryOperator.PTRMEMI``\n - ``BinaryOperator.MUL``\n - ``BinaryOperator.DIV``\n - ``BinaryOperator.REM``\n - ``BinaryOperator.ADD``\n - ``BinaryOperator.SUB``\n - ``BinaryOperator.SHL``\n - ``BinaryOperator.SHR``\n - ``BinaryOperator.LT``\n - ``BinaryOperator.GT``\n - ``BinaryOperator.LE``\n - ``BinaryOperator.GE``\n - ``BinaryOperator.EQ``\n - ``BinaryOperator.NE``\n - ``BinaryOperator.AND``\n - ``BinaryOperator.XOR``\n - ``BinaryOperator.OR``\n - ``BinaryOperator.LAND``\n - ``BinaryOperator.LOR``\n - ``BinaryOperator.ASSIGN``\n - ``BinaryOperator.MULASSIGN``\n - ``BinaryOperator.DIVASSIGN``\n - ``BinaryOperator.REMASSIGN``\n - ``BinaryOperator.ADDASSIGN``\n - ``BinaryOperator.SUBASSIGN``\n - ``BinaryOperator.SHLASSIGN``\n - ``BinaryOperator.SHRASSIGN``\n - ``BinaryOperator.ANDASSIGN``\n - ``BinaryOperator.XORASSIGN``\n - ``BinaryOperator.ORASSIGN``\n - ``BinaryOperator.COMMA``\n - ``BinaryOperator.UNKNOWN``\n\n* ``UnaryOperator`` - An enumeration for the types of binary operators:\n\n - ``UnaryOperator.INVALID``\n - ``UnaryOperator.POSTINC``\n - ``UnaryOperator.POSTDEC``\n - ``UnaryOperator.PREINC``\n - ``UnaryOperator.PREDEC``\n - ``UnaryOperator.ADDROF``\n - ``UnaryOperator.DEREF``\n - ``UnaryOperator.PLUS``\n - ``UnaryOperator.MINUS``\n - ``UnaryOperator.NOT``\n - ``UnaryOperator.LNOT``\n - ``UnaryOperator.REAL``\n - ``UnaryOperator.IMAG``\n - ``UnaryOperator.EXTENSION``\n - ``UnaryOperator.UNKNOWN``\n\n.. Documentation\n.. -------------\n\n.. Documentation for Sealang can be found on `Read The Docs`_.\n\nHow it works\n------------\n\nSealang is a bit of a nasty hack. ``libclang`` is a set of C bindings to a C++\nAPI; Python ``ctypes`` are then used to wrap the C API. However, while the C++\nAPI is quite rich, ``libclang`` is less so.\n\nSealang bridges this gap by providing C wrappers around the C++ calls that\nprovide the useful functionality. This library of C functions is wrapped up as\na Python C module for delivery purposes - this C module contains no exposed\n*Python* objects or methods, but because it's a module, the underlying\ncompiled `sealang.so` file is easy to find. `ctypes` are then used to expose\nthe `sealang` wrapper functions;\n\nInternally, Sealang reproduces some minor pieces of the ``libclang`` API;\nthese are methods (such as the string creation and manipulation methods) that\naren't exposed as symbols for third-party use.\n\nAll this functionality is potentially a candidate to be passed upstream to\nlibclang.\n\nRelationship to Clang\n~~~~~~~~~~~~~~~~~~~~~\n\nThis project aims to mirror what is currently available in the Python bindings\nto ``libclang``. The version number for this project is drawn from the version\nand SVN revision of the official clang repository.\n\nAny changes made upstream to ``libclang`` will be mirrored here; any changes\nmade here will, where possible, be pushed upstream to ``libclang``.\n\nCommunity\n---------\n\nSealang is part of the `BeeWare suite`_. You can talk to the community through:\n\n* `@pybeeware on Twitter`_\n\n* The `BeeWare Users Mailing list`_, for questions about how to use the\n BeeWare suite.\n\n* The `BeeWare Developers Mailing list`_, for discussing the development of\n new features in the BeeWare suite, and ideas for new tools for the suite.\n\nContributing\n------------\n\nIf you experience problems with Sealang, `log them on GitHub`_. If you\nwant to contribute code, please `fork the code`_ and `submit a pull request`_.\n\n.. _BeeWare suite: http://pybee.org\n.. _Read The Docs: http://sealang.readthedocs.org\n.. _@pybeeware on Twitter: https://twitter.com/pybeeware\n.. _BeeWare Users Mailing list: https://groups.google.com/forum/#!forum/beeware-users\n.. _BeeWare Developers Mailing list: https://groups.google.com/forum/#!forum/beeware-developers\n.. _log them on Github: https://github.com/pybee/sealang/issues\n.. _fork the code: https://github.com/pybee/sealang\n.. _submit a pull request: https://github.com/pybee/sealang/pulls", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/pybee/sealang", "keywords": "llvm,clang,libclang", "license": "License :: OSI Approved :: University of Illinois/NCSA Open Source License", "maintainer": "", "maintainer_email": "", "name": "sealang", "package_url": "https://pypi.org/project/sealang/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sealang/", "project_urls": { "Homepage": "http://github.com/pybee/sealang" }, "release_url": "https://pypi.org/project/sealang/3.9.dev259750/", "requires_dist": null, "requires_python": "", "summary": "An extended set of Python bindings for libclang", "version": "3.9.dev259750" }, "last_serial": 1938827, "releases": { "3.9.dev258341": [ { "comment_text": "", "digests": { "md5": "0ee358edf328aeca8efa94a4628d0f55", "sha256": "3d356d0d30d091a16d3c95377f5edc52328d048503c5a28ef1839ba918929be9" }, "downloads": -1, "filename": "sealang-3.9.dev258341-cp27-none-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "0ee358edf328aeca8efa94a4628d0f55", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1262223, "upload_time": "2016-02-04T03:16:39", "url": "https://files.pythonhosted.org/packages/93/06/22bac9620d0fa6d7b1eeec384510268e603cbef5a1461e76a03a017d695c/sealang-3.9.dev258341-cp27-none-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "efbd8f2af85b59b5cc2ef9e5651e10c4", "sha256": "6444829dbe5dc57ca4301b6958d6d8e97fe76e9d56fb0e55f105964a93564ac4" }, "downloads": -1, "filename": "sealang-3.9.dev258341-cp34-cp34m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "efbd8f2af85b59b5cc2ef9e5651e10c4", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1262299, "upload_time": "2016-02-04T03:17:11", "url": "https://files.pythonhosted.org/packages/80/8b/e857ea24cb87c6b21148952a4b307c6376852635d0eaa051f7064f8c4afa/sealang-3.9.dev258341-cp34-cp34m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "6408d84a93e0b0ebf9730cd6cd09b68c", "sha256": "2619a2c34ccb6d34173af2557dae689c632cdc4817244293706900b219fb96cc" }, "downloads": -1, "filename": "sealang-3.9.dev258341.tar.gz", "has_sig": false, "md5_digest": "6408d84a93e0b0ebf9730cd6cd09b68c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48945, "upload_time": "2016-02-04T03:17:19", "url": "https://files.pythonhosted.org/packages/b0/9d/b3dc032fec53ccec06454a34d1f1c720ec43e2f45f05327141466eefee21/sealang-3.9.dev258341.tar.gz" } ], "3.9.dev259721": [ { "comment_text": "", "digests": { "md5": "9a1078ddfa3b58d92039bb4635c947cf", "sha256": "76cee81699238f770bb4a199212108abf72d4cb4dafdb47c354bb239623224e5" }, "downloads": -1, "filename": "sealang-3.9.dev259721-cp27-none-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "9a1078ddfa3b58d92039bb4635c947cf", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1262601, "upload_time": "2016-02-04T04:45:13", "url": "https://files.pythonhosted.org/packages/75/45/b43d1938d235bc47b75f6faa531b1a0b7917fa2f5b21d3e8c5d1f35bc0b6/sealang-3.9.dev259721-cp27-none-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "88335f7caa6b4121dd3edc5737ceaac4", "sha256": "a5164c33f4846130788d4d68e9b3ceac3fb72f226a54e853d53e42d3c89b6b28" }, "downloads": -1, "filename": "sealang-3.9.dev259721-cp34-cp34m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "88335f7caa6b4121dd3edc5737ceaac4", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1262696, "upload_time": "2016-02-04T04:45:38", "url": "https://files.pythonhosted.org/packages/48/f0/b5fe30d394c49bb8b8c5929e98e89176d1274fbfc4ba2ef04bce486032c3/sealang-3.9.dev259721-cp34-cp34m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e2663b8e01fe5c1a8fabed122f8f82de", "sha256": "0f87d7722336994f37235f49c48b5b2215fc228e997e804ca74fbaf0b42c153c" }, "downloads": -1, "filename": "sealang-3.9.dev259721.tar.gz", "has_sig": false, "md5_digest": "e2663b8e01fe5c1a8fabed122f8f82de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49308, "upload_time": "2016-02-04T04:45:46", "url": "https://files.pythonhosted.org/packages/8e/12/307ae395d142858dd6f13e7a4c43d98717776560e1ac37f1f74a54a94788/sealang-3.9.dev259721.tar.gz" } ], "3.9.dev259750": [ { "comment_text": "", "digests": { "md5": "bb833c1571ff77a1280585a8a0f3f8aa", "sha256": "0a6ac1365578c90022bb5af56520b476442e96264cc5696996a3aa94e804d2d7" }, "downloads": -1, "filename": "sealang-3.9.dev259750-cp27-none-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "bb833c1571ff77a1280585a8a0f3f8aa", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1262600, "upload_time": "2016-02-04T04:52:04", "url": "https://files.pythonhosted.org/packages/02/a8/f4e643d0af6a40c5a57fc5be0a3db6a88aab0a1dacf2af0dd3c802fd0ac1/sealang-3.9.dev259750-cp27-none-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "df866575947479a487a0bc55e5cd99ca", "sha256": "b23ec8ca60ac5a50044c93a9225fcb0c45523db5ebd558e687aeb8959acd818f" }, "downloads": -1, "filename": "sealang-3.9.dev259750-cp34-cp34m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "df866575947479a487a0bc55e5cd99ca", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1262693, "upload_time": "2016-02-04T04:52:23", "url": "https://files.pythonhosted.org/packages/99/47/ba1491ecc86ede4b8c46e6044ca1a00705d383a5c695390e0c077ec3fca5/sealang-3.9.dev259750-cp34-cp34m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "ab08839da6edad10b5f5b3cb1899fd25", "sha256": "396bf5c23ad5615b2e6a3866435fe4d7e17920bb00cfa80fc24ac737cd444960" }, "downloads": -1, "filename": "sealang-3.9.dev259750.tar.gz", "has_sig": false, "md5_digest": "ab08839da6edad10b5f5b3cb1899fd25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49178, "upload_time": "2016-02-04T04:52:53", "url": "https://files.pythonhosted.org/packages/50/f6/dbae5a114494f2d7dc4a3a410f8bed187ef9a30856d3e10fb60ef7a2ce79/sealang-3.9.dev259750.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bb833c1571ff77a1280585a8a0f3f8aa", "sha256": "0a6ac1365578c90022bb5af56520b476442e96264cc5696996a3aa94e804d2d7" }, "downloads": -1, "filename": "sealang-3.9.dev259750-cp27-none-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "bb833c1571ff77a1280585a8a0f3f8aa", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1262600, "upload_time": "2016-02-04T04:52:04", "url": "https://files.pythonhosted.org/packages/02/a8/f4e643d0af6a40c5a57fc5be0a3db6a88aab0a1dacf2af0dd3c802fd0ac1/sealang-3.9.dev259750-cp27-none-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "df866575947479a487a0bc55e5cd99ca", "sha256": "b23ec8ca60ac5a50044c93a9225fcb0c45523db5ebd558e687aeb8959acd818f" }, "downloads": -1, "filename": "sealang-3.9.dev259750-cp34-cp34m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "df866575947479a487a0bc55e5cd99ca", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1262693, "upload_time": "2016-02-04T04:52:23", "url": "https://files.pythonhosted.org/packages/99/47/ba1491ecc86ede4b8c46e6044ca1a00705d383a5c695390e0c077ec3fca5/sealang-3.9.dev259750-cp34-cp34m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "ab08839da6edad10b5f5b3cb1899fd25", "sha256": "396bf5c23ad5615b2e6a3866435fe4d7e17920bb00cfa80fc24ac737cd444960" }, "downloads": -1, "filename": "sealang-3.9.dev259750.tar.gz", "has_sig": false, "md5_digest": "ab08839da6edad10b5f5b3cb1899fd25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49178, "upload_time": "2016-02-04T04:52:53", "url": "https://files.pythonhosted.org/packages/50/f6/dbae5a114494f2d7dc4a3a410f8bed187ef9a30856d3e10fb60ef7a2ce79/sealang-3.9.dev259750.tar.gz" } ] }