{ "info": { "author": "Kevin Thibedeau", "author_email": "kevin.thibedeau@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics", "Topic :: Software Development :: Documentation" ], "description": ".. image:: http://kevinpt.github.io/syntrax/_static/syntrax_icon.png\n\n=======\nSyntrax\n=======\n\nSyntrax is a railroad diagram generator. It creates a visual illustration of the grammar used for programming languages. A specification file describes the syntax as a hierarchy of basic elements. This is processed into an image representing the same syntax with interconnected bubbles.\n\nThe specification is a set of nested Python function calls:\n\n.. code-block::\n\n indentstack(10,\n line(opt('-'), choice('0', line('1-9', loop(None, '0-9'))),\n opt('.', loop('0-9', None))),\n\n line(opt(choice('e', 'E'), choice(None, '+', '-'), loop('0-9', None)))\n )\n\nThis is processed by Syntrax to generate an SVG image:\n\n.. image:: http://kevinpt.github.io/syntrax/_static/json_number.png\n\nJSON number syntax\n\n\nSyntrax can render to PNG bitmap images or SVG, PDF, PS, and EPS vector images. The SVG output can have `hyperlinked text `_ allowing users to quickly navigate to documentation of different syntax elements.\n\nSyntrax is a heavily modified version of the railroad diagram generator used for the `SQLite documentation `_. The generator has been ported to Python, converted to use the Cairo rendering backend, and enhanced with configurable layout options.\n\n\n\nRequirements\n------------\n\nSyntrax requires either Python 2.7 or Python 3.x, Pycairo, and Pango.\n\nThe installation script depends on setuptools which will be installed if it\nisn't currently present in your Python distribution. The source is written in\nPython 2.7 syntax but will convert cleanly to Python 3 when the installer\npasses it through 2to3.\n\nThe Pango library is used compute the dimensions of a text layout. There is no standard package to get the Pango Python bindings installed. It is a part of the Gtk+ library which is accessed either through the PyGtk or PyGObject APIs, both of which are supported by Syntrax. You should make sure that one of these libraries is available before installing Syntrax. A `Windows installer `_ is available. For Linux distributions you should install the relevant libraries with your package manager.\n\n\nDownload\n--------\n\nYou can access the Syntrax Git repository from `Github\n`_. You can install direct from PyPI with the \"pip\"\ncommand if you have it available.\n\n\nDocumentation\n-------------\n\nThe full documentation is available online at the `main Syntrax site\n`_.", "description_content_type": null, "docs_url": null, "download_url": "http://kevinpt.github.io/syntrax", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://kevinpt.github.io/syntrax", "keywords": "Railroad syntax diagram generator", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "syntrax", "package_url": "https://pypi.org/project/syntrax/", "platform": "Any", "project_url": "https://pypi.org/project/syntrax/", "project_urls": { "Download": "http://kevinpt.github.io/syntrax", "Homepage": "http://kevinpt.github.io/syntrax" }, "release_url": "https://pypi.org/project/syntrax/1.0/", "requires_dist": null, "requires_python": null, "summary": "Railroad syntax diagram generator", "version": "1.0" }, "last_serial": 2554989, "releases": { "0.9.1": [ { "comment_text": "", "digests": { "md5": "8177031a5daf9ba1ef6dce8799583e90", "sha256": "18add9664c9b7df2526fd43b16a553e81ef687dfb53cf89a631f1c29044a07ad" }, "downloads": -1, "filename": "syntrax-0.9.1.tar.gz", "has_sig": false, "md5_digest": "8177031a5daf9ba1ef6dce8799583e90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21128, "upload_time": "2016-12-31T20:13:00", "url": "https://files.pythonhosted.org/packages/7f/26/6d1c5cb50e620579dca3c8fc979916669000b134077b218a9cc91ee4e3e3/syntrax-0.9.1.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "2015def185efe7eca35c6cd8d17d61af", "sha256": "2d02cb1d8680aa7cb578f2168968ea5d79cb28985f8f416f3aade79ed4d21cc5" }, "downloads": -1, "filename": "syntrax-1.0.tar.gz", "has_sig": false, "md5_digest": "2015def185efe7eca35c6cd8d17d61af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20931, "upload_time": "2017-01-05T02:59:09", "url": "https://files.pythonhosted.org/packages/44/95/4c154962169ad156d46ca18c3d7a641e9904ed415c057932709f58d7485d/syntrax-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2015def185efe7eca35c6cd8d17d61af", "sha256": "2d02cb1d8680aa7cb578f2168968ea5d79cb28985f8f416f3aade79ed4d21cc5" }, "downloads": -1, "filename": "syntrax-1.0.tar.gz", "has_sig": false, "md5_digest": "2015def185efe7eca35c6cd8d17d61af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20931, "upload_time": "2017-01-05T02:59:09", "url": "https://files.pythonhosted.org/packages/44/95/4c154962169ad156d46ca18c3d7a641e9904ed415c057932709f58d7485d/syntrax-1.0.tar.gz" } ] }