{ "info": { "author": "Emlyn O'Regan", "author_email": "emlynoregan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Interpreters" ], "description": "# sUTL_py\nsUTL Universal Transform Language for Python\n\nThis is a python implementation of sUTL. See the [sUTL spec](https://github.com/emlynoregan/sUTL-spec) here.\n\nImport sUTL like this:\n\n from sUTL_py import sUTL\n\nEvaluate a transform like this:\n\n transform = {\n \"&\": \"+\",\n \"a\": \"^@\",\n \"b\": 5\n }\n\n source = 6\n\n result = sUTL.evaluate(source, transform, {})\n\n # here result is 11\n\nTo use library distributions, do the following:\n\n1: Load the libraries. The following loads the core library.\n\n coreString = urllib2.urlopen(\"http://emlynoregan.github.io/sUTL-spec/sUTL_core.json\").read()\n distributions = [json.loads(coreString)]\n\n2: Add your transform to a declaration\n\n transform = {\n \"&\": \"map_core\",\n \"list\": \"^@\",\n \"t\": {\":\": {\n \"&\": \"+\",\n \"a\": \"^@.item\",\n \"b\": 1\n }}\n }\n\n declaration = {\n \"transform-t\": transform,\n \"requires\": [\"map_core\"]\n }\n\n3: Compile a set of libraries from the distribution\n\n lib = sUTL.compilelib([declaration], distributions, false)\n\n4: Evaluate your transform\n\n source = [1, 2, 3, 4]\n\n result = sUTL.evaluate(source, transform, lib)\n\n # here result is [2, 3, 4, 5]\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.sutllang.com/", "keywords": "DSL Language JSON", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sUTL", "package_url": "https://pypi.org/project/sUTL/", "platform": "", "project_url": "https://pypi.org/project/sUTL/", "project_urls": { "Homepage": "http://www.sutllang.com/" }, "release_url": "https://pypi.org/project/sUTL/1.0.6/", "requires_dist": null, "requires_python": "", "summary": "A sUTL implementation for python", "version": "1.0.6" }, "last_serial": 3728474, "releases": { "1.0.2b1": [ { "comment_text": "", "digests": { "md5": "b41544e9459baecded9a29abb720ac23", "sha256": "a36264a27c848c224cea296db6c722dcd377dcafd7bd61156e36219b5b374fa1" }, "downloads": -1, "filename": "sUTL-1.0.2b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b41544e9459baecded9a29abb720ac23", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 3073, "upload_time": "2016-09-12T08:25:30", "url": "https://files.pythonhosted.org/packages/25/80/227d1fd863c2a5213190d171bcc99dbcfed8ecf5475bf50de4da89cce5dd/sUTL-1.0.2b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04dd1b04e8c3a5aad57ca8ae7e4a8fbe", "sha256": "5a53e0c191e59018bd422ad4aa942d190a54e930af4575e85873cd5f718149cf" }, "downloads": -1, "filename": "sUTL-1.0.2b1.tar.gz", "has_sig": false, "md5_digest": "04dd1b04e8c3a5aad57ca8ae7e4a8fbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2840, "upload_time": "2016-09-12T08:25:17", "url": "https://files.pythonhosted.org/packages/dc/9b/f2b87635afd375d43471c56dd7dc8a4eac55f8d7c2a0bf5b171e1abdd68d/sUTL-1.0.2b1.tar.gz" } ], "1.0.3b1": [ { "comment_text": "", "digests": { "md5": "24ababe907e9699eb5f722e40d242353", "sha256": "16335d672c96589900b57bcd0f41f7c60a40b4180cd4ab9d106163d3dd0afbad" }, "downloads": -1, "filename": "sUTL-1.0.3b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "24ababe907e9699eb5f722e40d242353", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 7483, "upload_time": "2016-09-12T08:43:17", "url": "https://files.pythonhosted.org/packages/73/a9/9b90d8f1951f2603e07b96c2fda048e025bb2035f79025483e6c33773394/sUTL-1.0.3b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7131b93f9255112cd938c58dbc12698e", "sha256": "1194952772f006e792e355797976c5ede0bd33b981d0b3df18ff65ab4881f7fa" }, "downloads": -1, "filename": "sUTL-1.0.3b1.tar.gz", "has_sig": false, "md5_digest": "7131b93f9255112cd938c58dbc12698e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7008, "upload_time": "2016-09-12T08:43:07", "url": "https://files.pythonhosted.org/packages/b8/23/503e5295572b14da5979268f111d05f91108df14b85fc349d9d44528c162/sUTL-1.0.3b1.tar.gz" } ], "1.0.4b1": [ { "comment_text": "", "digests": { "md5": "80686592db430c680a4b7437ae7bea81", "sha256": "7b89165c63e1f731ab12e4ce1ded755e1f14262fcabf97df4eb89383de3e253f" }, "downloads": -1, "filename": "sUTL-1.0.4b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "80686592db430c680a4b7437ae7bea81", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 7482, "upload_time": "2016-09-27T04:26:59", "url": "https://files.pythonhosted.org/packages/81/c1/32b1b5f299838be1d5554bab0713d050af5a1a4c122374b93aa26966e2aa/sUTL-1.0.4b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4c87f81079cc37b2d92059a18a3dc9c", "sha256": "a392d70a270e6a5c2c29e0d38a8f737e45e8815eeb1f47e7a483a9b592d39f6d" }, "downloads": -1, "filename": "sUTL-1.0.4b1.tar.gz", "has_sig": false, "md5_digest": "b4c87f81079cc37b2d92059a18a3dc9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7018, "upload_time": "2016-09-27T04:26:43", "url": "https://files.pythonhosted.org/packages/86/23/4c116dbb2e905440803aedaab8d40f2b7716990bf6b4190249e43c582028/sUTL-1.0.4b1.tar.gz" } ], "1.0.5.dev9": [ { "comment_text": "", "digests": { "md5": "be8d70ba126445daca6819899200344d", "sha256": "65b556c392a056a03fdb26064d2d143b025d67f3fc7c25728e7214aab8c252f7" }, "downloads": -1, "filename": "sUTL-1.0.5.dev9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be8d70ba126445daca6819899200344d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8023, "upload_time": "2017-10-24T06:35:58", "url": "https://files.pythonhosted.org/packages/64/72/f5274652a1139c20e985b5bf8d3c78296d4f5015b042e0b5020d8e4880c0/sUTL-1.0.5.dev9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46a55d47acea1376a192fdc26158d889", "sha256": "30fb4c04622ed99a8ca57926d6a1ad1cbc390ec0bc4dcd27da11715395b8d1d1" }, "downloads": -1, "filename": "sUTL-1.0.5.dev9.tar.gz", "has_sig": false, "md5_digest": "46a55d47acea1376a192fdc26158d889", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7704, "upload_time": "2017-10-24T06:36:00", "url": "https://files.pythonhosted.org/packages/19/7a/f2c164d3fd4dbe64b1774f5b91f4a626c0174e9ddcda93d0a3926b53af89/sUTL-1.0.5.dev9.tar.gz" } ], "1.0.5b1": [ { "comment_text": "", "digests": { "md5": "e4b1447d0611e5cbaae26aa481211017", "sha256": "93788629ac079c9f78805cad21737d754ece14acef6f13650c8987ecec191327" }, "downloads": -1, "filename": "sUTL-1.0.5b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4b1447d0611e5cbaae26aa481211017", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 7675, "upload_time": "2016-10-24T06:04:54", "url": "https://files.pythonhosted.org/packages/06/d0/f4e7e18a420b78cab248fe2b132f33254245f994a59ca79662362b947b77/sUTL-1.0.5b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15e4f7b7b0a16f3d00cc84763d020d2f", "sha256": "1ce6f208d918b5d9a403b1a026bb777842e6641a934bba378ec411d7445b8a49" }, "downloads": -1, "filename": "sUTL-1.0.5b1.tar.gz", "has_sig": false, "md5_digest": "15e4f7b7b0a16f3d00cc84763d020d2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7295, "upload_time": "2016-10-24T06:04:35", "url": "https://files.pythonhosted.org/packages/e6/de/1f26ea80958324ca8830506cc7c90927436c139e0c476be58fd28ab7aff0/sUTL-1.0.5b1.tar.gz" } ], "1.0.5b4": [ { "comment_text": "", "digests": { "md5": "ea84420a178e68df2e68bd523f9ec725", "sha256": "ce645394101e52e0bd264fd4def4f6048f447dd05465586becafc21d93f219a0" }, "downloads": -1, "filename": "sUTL-1.0.5b4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ea84420a178e68df2e68bd523f9ec725", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 7686, "upload_time": "2016-12-23T03:16:18", "url": "https://files.pythonhosted.org/packages/54/b7/9bea8b72b737202789939b8dc2505ba17803a7ff0959532117e3c1f2f2c7/sUTL-1.0.5b4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e70d2da67344895fd46a12a93846968e", "sha256": "bfa48758c46830373236dc993abeb82a914285b76c60bf1d9f027fb24d3cb481" }, "downloads": -1, "filename": "sUTL-1.0.5b4.tar.gz", "has_sig": false, "md5_digest": "e70d2da67344895fd46a12a93846968e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7216, "upload_time": "2016-12-23T03:16:29", "url": "https://files.pythonhosted.org/packages/e1/de/4c1769cbb010e628f7fa89b4754dbfbfb3debe7ee7e2dd89b0dbfd1d9e8b/sUTL-1.0.5b4.tar.gz" } ], "1.0.5b6": [ { "comment_text": "", "digests": { "md5": "8758f6611d4cfad7b8bee2e8002bb8ae", "sha256": "eee56d317f16744bb18b576226dea251c6c27d158cb6cc9122ca8b73e9089685" }, "downloads": -1, "filename": "sUTL-1.0.5b6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8758f6611d4cfad7b8bee2e8002bb8ae", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 7883, "upload_time": "2017-04-06T08:23:05", "url": "https://files.pythonhosted.org/packages/6f/3b/b1ef6feed4f22d9524a310bac08eaa578adcdfbd007e2f8262cce9346c49/sUTL-1.0.5b6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "071f9baa9525f5d9568aaf0b289a9c96", "sha256": "f843dfcc388bb65a8575a474b94d48e5468ba52c4084db8121201e438632e9e1" }, "downloads": -1, "filename": "sUTL-1.0.5b6.tar.gz", "has_sig": false, "md5_digest": "071f9baa9525f5d9568aaf0b289a9c96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7569, "upload_time": "2017-04-06T08:23:19", "url": "https://files.pythonhosted.org/packages/d6/8f/c0b1757e48e30eeea5da2c90ae2b0cc5dd4b72fa53eca2da00ea13d5d6a0/sUTL-1.0.5b6.tar.gz" } ], "1.0.5b7": [ { "comment_text": "", "digests": { "md5": "a188f839f07ab11750e22b1d0067def0", "sha256": "5025406901f82d5de0fb16fad2dd534f98bcfbe7742db2c4ac72d60cdfc29bec" }, "downloads": -1, "filename": "sUTL-1.0.5b7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a188f839f07ab11750e22b1d0067def0", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 7928, "upload_time": "2017-05-30T06:06:13", "url": "https://files.pythonhosted.org/packages/9b/93/5f42ea1b14cfb4b825f5be8042b911732f4ad7a674d7486631e49c7e0afc/sUTL-1.0.5b7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4b03aad8a3bbc2556de24f3d428b4a2", "sha256": "86a7a7f7059d9c8db6f19c59491d4c9156dd6ca25c97178d5a358e6826c59d13" }, "downloads": -1, "filename": "sUTL-1.0.5b7.tar.gz", "has_sig": false, "md5_digest": "b4b03aad8a3bbc2556de24f3d428b4a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7642, "upload_time": "2017-05-30T06:06:24", "url": "https://files.pythonhosted.org/packages/98/a2/322c14225321918913e48a5b97172680d54f21220af1de5534a79c505911/sUTL-1.0.5b7.tar.gz" } ], "1.0.5b8": [ { "comment_text": "", "digests": { "md5": "c6b76c21b1236ce83a32706d185f257f", "sha256": "e024565796b914a1dcf2d77976bbf65eb7c034f67a2d4694f75afc2b209ae524" }, "downloads": -1, "filename": "sUTL-1.0.5b8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6b76c21b1236ce83a32706d185f257f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7946, "upload_time": "2017-07-11T08:22:17", "url": "https://files.pythonhosted.org/packages/1f/3b/9f20447ff5552ab118d00e45f082f7babcc3873b09b9017f69fa1c71dcc8/sUTL-1.0.5b8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f24e2140869025b838c72e7130913de1", "sha256": "30b13570f67b457167d32f6ac07061c49223149b9abb99921dcbd8b5d66fbc94" }, "downloads": -1, "filename": "sUTL-1.0.5b8.tar.gz", "has_sig": false, "md5_digest": "f24e2140869025b838c72e7130913de1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7662, "upload_time": "2017-07-11T08:22:19", "url": "https://files.pythonhosted.org/packages/39/56/66da30617313c98cb289620dede8077ed2bfd1642eb735ff527aaca635b7/sUTL-1.0.5b8.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "eabbbe97f5459bd121e364a05c24ddee", "sha256": "f0c0faa7dd29bf600a20d045ad425ed129e43ca727480f1a2467e6fbddf76bb4" }, "downloads": -1, "filename": "sUTL-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eabbbe97f5459bd121e364a05c24ddee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7989, "upload_time": "2018-04-03T05:42:09", "url": "https://files.pythonhosted.org/packages/02/28/df607e26f5d455bf2c603784fc7b7593f603b06822b95edc308fd3c8b460/sUTL-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a066981e9c3631266fa27cf42555d30", "sha256": "bbfe81d14517871713da7f7bbf232ec1146caadb77d724d5894a42d1e4968ed6" }, "downloads": -1, "filename": "sUTL-1.0.6.tar.gz", "has_sig": false, "md5_digest": "5a066981e9c3631266fa27cf42555d30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7658, "upload_time": "2018-04-03T05:42:10", "url": "https://files.pythonhosted.org/packages/10/91/a386476fe1e39249fe0b77e8644e4c68f5c890859177dfa93909bb60415b/sUTL-1.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eabbbe97f5459bd121e364a05c24ddee", "sha256": "f0c0faa7dd29bf600a20d045ad425ed129e43ca727480f1a2467e6fbddf76bb4" }, "downloads": -1, "filename": "sUTL-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eabbbe97f5459bd121e364a05c24ddee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7989, "upload_time": "2018-04-03T05:42:09", "url": "https://files.pythonhosted.org/packages/02/28/df607e26f5d455bf2c603784fc7b7593f603b06822b95edc308fd3c8b460/sUTL-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a066981e9c3631266fa27cf42555d30", "sha256": "bbfe81d14517871713da7f7bbf232ec1146caadb77d724d5894a42d1e4968ed6" }, "downloads": -1, "filename": "sUTL-1.0.6.tar.gz", "has_sig": false, "md5_digest": "5a066981e9c3631266fa27cf42555d30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7658, "upload_time": "2018-04-03T05:42:10", "url": "https://files.pythonhosted.org/packages/10/91/a386476fe1e39249fe0b77e8644e4c68f5c890859177dfa93909bb60415b/sUTL-1.0.6.tar.gz" } ] }