{ "info": { "author": "Irmen de Jong", "author_email": "irmen@razorvine.net", "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", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development" ], "description": "\nSerpent is a simple serialization library based on ast.literal_eval.\n\nBecause it only serializes literals and recreates the objects using ast.literal_eval(),\nthe serialized data is safe to transport to other machines (over the network for instance)\nand de-serialize it there.\n\n*There is also a Java and a .NET (C#) implementation available. This allows for easy data transfer between the various ecosystems.\nYou can get the full source distribution, a Java .jar file, and a .NET assembly dll.*\nThe java library can be obtained from Maven central (groupid ``net.razorvine`` artifactid ``serpent``),\nand the .NET assembly can be obtained from Nuget.org (package ``Razorvine.Serpent``).\n\n\n**API**\n\n- ``ser_bytes = serpent.dumps(obj, indent=False, set_literals=True, module_in_classname=False):`` # serialize obj tree to bytes\n- ``obj = serpent.loads(ser_bytes)`` # deserialize bytes back into object tree\n- You can use ``ast.literal_eval`` yourself to deserialize, but ``serpent.deserialize``\n works around a few corner cases. See source for details.\n\nSerpent is more sophisticated than a simple repr() + literal_eval():\n\n- it serializes directly to bytes (utf-8 encoded), instead of a string, so it can immediately be saved to a file or sent over a socket\n- it encodes byte-types as base-64 instead of inefficient escaping notation that repr would use (this does mean you have\n to base-64 decode these strings manually on the receiving side to get your bytes back.\n You can use the serpent.tobytes utility function for this.)\n- it contains a few custom serializers for several additional Python types such as uuid, datetime, array and decimal\n- it tries to serialize unrecognised types as a dict (you can control this with __getstate__ on your own types)\n- it can create a pretty-printed (indented) output for readability purposes\n- it outputs the keys of sets and dicts in alphabetical order (when pretty-printing)\n- it works around a few quirks of ast.literal_eval() on the various Python implementations\n\nSerpent allows comments in the serialized data (because it is just Python source code).\nSerpent can't serialize object graphs (when an object refers to itself); it will then crash with a ValueError pointing out the problem.\n\nWorks with Python 2.7+ (including 3.x), IronPython 2.7+, Jython 2.7+.\n\n**FAQ**\n\n- Why not use XML? Answer: because XML.\n- Why not use JSON? Answer: because JSON is quite limited in the number of datatypes it supports, and you can't use comments in a JSON file.\n- Why not use pickle? Answer: because pickle has security problems.\n- Why not use ``repr()``/``ast.literal_eval()``? See above; serpent is a superset of this and provides more convenience.\n Serpent provides automatic serialization mappings for types other than the builtin primitive types.\n ``repr()`` can't serialize these to literals that ``ast.literal_eval()`` understands.\n- Why not a binary format? Answer: because binary isn't readable by humans.\n- But I don't care about readability. Answer: doesn't matter, ``ast.literal_eval()`` wants a literal string, so that is what we produce.\n- But I want better performance. Answer: ok, maybe you shouldn't use serpent in this case. Find an efficient binary protocol (protobuf?)\n- Why only Python, Java and C#/.NET, but no bindings for insert-favorite-language-here? Answer: I don't speak that language.\n Maybe you could port serpent yourself?\n- Where is the source? It's on Github: https://github.com/irmen/Serpent\n- Can I use it everywhere? Sure, as long as you keep the copyright and disclaimer somewhere. See the LICENSE file.\n\n**Demo**\n\n.. code:: python\n\n # This demo script is written for Python 3.2+\n # -*- coding: utf-8 -*-\n from __future__ import print_function\n import ast\n import uuid\n import datetime\n import pprint\n import serpent\n\n\n class DemoClass:\n def __init__(self):\n self.i=42\n self.b=False\n\n data = {\n \"names\": [\"Harry\", \"Sally\", \"Peter\"],\n \"big\": 2**200,\n \"colorset\": { \"red\", \"green\" },\n \"id\": uuid.uuid4(),\n \"timestamp\": datetime.datetime.now(),\n \"class\": DemoClass(),\n \"unicode\": \"\u20ac\"\n }\n\n # serialize it\n ser = serpent.dumps(data, indent=True)\n open(\"data.serpent\", \"wb\").write(ser)\n\n print(\"Serialized form:\")\n print(ser.decode(\"utf-8\"))\n\n # read it back\n data = serpent.load(open(\"data.serpent\", \"rb\"))\n print(\"Data:\")\n pprint.pprint(data)\n\n # you can also use ast.literal_eval if you like\n ser_string = open(\"data.serpent\", \"r\", encoding=\"utf-8\").read()\n data2 = ast.literal_eval(ser_string)\n\n assert data2==data\n\n\nWhen you run this (with python 3.2+) it prints:\n\n.. code:: python\n\n Serialized form:\n # serpent utf-8 python3.2\n {\n 'big': 1606938044258990275541962092341162602522202993782792835301376,\n 'class': {\n '__class__': 'DemoClass',\n 'b': False,\n 'i': 42\n },\n 'colorset': {\n 'green',\n 'red'\n },\n 'id': 'e461378a-201d-4844-8119-7c1570d9d186',\n 'names': [\n 'Harry',\n 'Sally',\n 'Peter'\n ],\n 'timestamp': '2013-04-02T00:23:00.924000',\n 'unicode': '\u20ac'\n }\n Data:\n {'big': 1606938044258990275541962092341162602522202993782792835301376,\n 'class': {'__class__': 'DemoClass', 'b': False, 'i': 42},\n 'colorset': {'green', 'red'},\n 'id': 'e461378a-201d-4844-8119-7c1570d9d186',\n 'names': ['Harry', 'Sally', 'Peter'],\n 'timestamp': '2013-04-02T00:23:00.924000',\n 'unicode': '\u20ac'}\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "serialization", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "serpent", "package_url": "https://pypi.org/project/serpent/", "platform": "any", "project_url": "https://pypi.org/project/serpent/", "project_urls": null, "release_url": "https://pypi.org/project/serpent/1.28/", "requires_dist": null, "requires_python": "", "summary": "Serialization based on ast.literal_eval", "version": "1.28" }, "last_serial": 4921961, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "ba33102a76473706a1fc7c8e8c37d489", "sha256": "87524ec3842d69e45850b13acdf53bd52286d209bba48e078f31c5a4ff616bb6" }, "downloads": -1, "filename": "serpent-1.0.tar.gz", "has_sig": false, "md5_digest": "ba33102a76473706a1fc7c8e8c37d489", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7524, "upload_time": "2013-04-21T15:53:10", "url": "https://files.pythonhosted.org/packages/5b/18/8e190932f90b0ca7f75a81ffa4ac68ace12fd8c54cf62ba41e332fce2fb8/serpent-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "a3d6090115a3f5d59e050ac9f1d58a0f", "sha256": "e55079b8e47a61ca555f72f0b918ca5e0fb6c6e6353492ec7d818be4c04da133" }, "downloads": -1, "filename": "serpent-1.1.tar.gz", "has_sig": false, "md5_digest": "a3d6090115a3f5d59e050ac9f1d58a0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7585, "upload_time": "2013-04-25T21:04:30", "url": "https://files.pythonhosted.org/packages/1b/78/0ca327e14b469f86236cd63a3ff97b17e5f9b9a78cc6732b0f33174096e8/serpent-1.1.tar.gz" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "9cd7dd181c22fded1634d287968980e7", "sha256": "180231225f5b36537d50222467344670c6c43fed6432f58dcc105c9082840cf2" }, "downloads": -1, "filename": "serpent-1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9cd7dd181c22fded1634d287968980e7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12263, "upload_time": "2015-04-18T19:30:26", "url": "https://files.pythonhosted.org/packages/e1/87/fb237f66b0d57ad798afd167f5887e894325fc0ba6a23a74d37f37486659/serpent-1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c02bfc938a7bcf30edcc72524151b7fb", "sha256": "06f4863c1b2ace6871dcbf69f74d50a08afc8bd427445d1f5c59b03d976e204b" }, "downloads": -1, "filename": "serpent-1.10.tar.gz", "has_sig": false, "md5_digest": "c02bfc938a7bcf30edcc72524151b7fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10846, "upload_time": "2015-04-18T19:30:21", "url": "https://files.pythonhosted.org/packages/18/44/60c31d69d75f76cfd91d37fac16a54eb551cffcba591b430b64491735961/serpent-1.10.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "05684f616e2ee7754b4226415477564e", "sha256": "dd3c3a5ac762607bdb52fee5e61c5d600b7feb3820a8bc08c34d3d028e576961" }, "downloads": -1, "filename": "serpent-1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "05684f616e2ee7754b4226415477564e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12565, "upload_time": "2015-05-19T21:05:11", "url": "https://files.pythonhosted.org/packages/ba/fd/9496abf21f540be6c77dad096e03c0fcccd89febca623b3c429240d7ba94/serpent-1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d72e90f84631b3ffcb665d74b99a78f", "sha256": "ab5df8f28574552bdbaf8d3774e6d0faff62f0aa6d5e6bb33b6b0c46937001ad" }, "downloads": -1, "filename": "serpent-1.11.tar.gz", "has_sig": false, "md5_digest": "8d72e90f84631b3ffcb665d74b99a78f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11321, "upload_time": "2015-05-19T21:05:07", "url": "https://files.pythonhosted.org/packages/8b/88/b6c71cb2e45d42d216311a5e8d39f90e2eee4b3400f613d6bb09723baad3/serpent-1.11.tar.gz" } ], "1.12": [ { "comment_text": "", "digests": { "md5": "fe5aaa29cd67910762345c5a08cb18f9", "sha256": "7e4606a834f9f3abc47cd1c8ecac939e6abe56c96364bcce59a5790193a924c0" }, "downloads": -1, "filename": "serpent-1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe5aaa29cd67910762345c5a08cb18f9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12640, "upload_time": "2015-12-22T13:36:32", "url": "https://files.pythonhosted.org/packages/df/3a/b899bc8cae98b2b0acc316a5b051e7aa1f32ed2c704cc08921976f1c86bf/serpent-1.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05869ac7b062828b34f8f927f0457b65", "sha256": "1221fc402ab7aa3c3bac85a27e30df2c08658c7bf7a20e8d0025a10edc1788c0" }, "downloads": -1, "filename": "serpent-1.12.tar.gz", "has_sig": false, "md5_digest": "05869ac7b062828b34f8f927f0457b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11003, "upload_time": "2015-12-22T13:36:20", "url": "https://files.pythonhosted.org/packages/3b/19/1e0e83b47c09edaef8398655088036e7e67386b5c48770218ebb339fbbd5/serpent-1.12.tar.gz" } ], "1.13": [ { "comment_text": "", "digests": { "md5": "deb69a0a685e451b738ae0c89a434c1e", "sha256": "a730fdff65d236716f23f858465f515b21878ff234649be2fc03cb77bbc6ef17" }, "downloads": -1, "filename": "serpent-1.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "deb69a0a685e451b738ae0c89a434c1e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12684, "upload_time": "2016-06-20T21:38:26", "url": "https://files.pythonhosted.org/packages/d4/07/71a3404a358b83872440eddb977483240588c889aa6e01b42b6acf389dfe/serpent-1.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e32ad9b697ba9d086ecde2640ea5c673", "sha256": "32941d185e28249a7babc754ab7df9c9808e1d5d3cdbf3c461aba9790e710a9e" }, "downloads": -1, "filename": "serpent-1.13.tar.gz", "has_sig": false, "md5_digest": "e32ad9b697ba9d086ecde2640ea5c673", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11204, "upload_time": "2016-06-20T21:38:19", "url": "https://files.pythonhosted.org/packages/20/f6/f29f3b1fef7642f438e843a8e23c2dbec26a9dbd5698f11ed6e89e017b61/serpent-1.13.tar.gz" } ], "1.14": [ { "comment_text": "", "digests": { "md5": "9331bc380343684b83b594780d9d53e5", "sha256": "32ac84a539ca40fcb22995216fb79c0900676d1144da190884a5e6c3ddeddb2d" }, "downloads": -1, "filename": "serpent-1.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9331bc380343684b83b594780d9d53e5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12696, "upload_time": "2016-09-16T20:13:36", "url": "https://files.pythonhosted.org/packages/5c/69/e8da693ae52e571683d02a71cbe5acfd65246c25724ece61860b714e871a/serpent-1.14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2fd3787a0aceb683be70fe5e73f3ff4f", "sha256": "6493009325af134ee7c5bbf57ce1a16b07b6694982e0657340645bf225eaf841" }, "downloads": -1, "filename": "serpent-1.14.tar.gz", "has_sig": false, "md5_digest": "2fd3787a0aceb683be70fe5e73f3ff4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11222, "upload_time": "2016-09-16T20:13:33", "url": "https://files.pythonhosted.org/packages/a7/d9/5f46930588c4abe36ba7951bd677375a0a09b92286d11c39f6b261a4a0a9/serpent-1.14.tar.gz" } ], "1.15": [ { "comment_text": "", "digests": { "md5": "463af13847f40772cae00d73bc9b886b", "sha256": "1856d57c8573d02d33ee91299b8e1bcbfa51dfbc48ac5c392662087f1d74d29a" }, "downloads": -1, "filename": "serpent-1.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "463af13847f40772cae00d73bc9b886b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13074, "upload_time": "2016-10-10T22:48:03", "url": "https://files.pythonhosted.org/packages/8c/d0/7562c0c9b7aca1bf9e19c7e8299cd8ef496de86426be5e227742ee92d755/serpent-1.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e27b1aad5c218e16442f52abb7c7053a", "sha256": "f5bc2cd19b79e7ac0821cc8278c4be7a69b2eef07d96f3c6f7977e14b2098c79" }, "downloads": -1, "filename": "serpent-1.15.tar.gz", "has_sig": false, "md5_digest": "e27b1aad5c218e16442f52abb7c7053a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11590, "upload_time": "2016-10-10T22:47:59", "url": "https://files.pythonhosted.org/packages/7b/38/b2b27673a882ff2ea5871bb3e3e6b496ebbaafd1612e51990ffb158b9254/serpent-1.15.tar.gz" } ], "1.16": [ { "comment_text": "", "digests": { "md5": "cdda06cd8d12e2784b11e4a44e14a937", "sha256": "e4021c68b8ff372b39f9ac630cf11d637e7db7867c949c0a94dbe1040e415ec1" }, "downloads": -1, "filename": "serpent-1.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdda06cd8d12e2784b11e4a44e14a937", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13175, "upload_time": "2016-12-27T15:39:16", "url": "https://files.pythonhosted.org/packages/33/97/9d23d806ed2cf51ab4a1ba05706d7fdd0d70d7229ff29a64d29aa401d85e/serpent-1.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d0cfe1f57f468100d3ae94c4de47950", "sha256": "c26e98c2155228a69eb0dc14ba7b888cb70099b6c4ca47fd9d1f099f7d561c3e" }, "downloads": -1, "filename": "serpent-1.16.tar.gz", "has_sig": false, "md5_digest": "9d0cfe1f57f468100d3ae94c4de47950", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11699, "upload_time": "2016-12-27T15:39:14", "url": "https://files.pythonhosted.org/packages/b2/08/1cd67401eae5429a3f5774167208c3cb833a8595c5e8b6b2e3782d6d17d7/serpent-1.16.tar.gz" } ], "1.17": [ { "comment_text": "", "digests": { "md5": "bfad6a5f9efade4bf261acab256b7d7a", "sha256": "e76a68ddfe04a2456f01671844fe3b5adfe93279e1d02f823f41198eb1167fca" }, "downloads": -1, "filename": "serpent-1.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfad6a5f9efade4bf261acab256b7d7a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13248, "upload_time": "2017-02-17T21:35:00", "url": "https://files.pythonhosted.org/packages/24/3f/b08c5b1b545ced6c6cd1c7009022adae6e2e23c4db432e61a3f58c975956/serpent-1.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7903588c08444a9e7b484536961790d1", "sha256": "1fa1c0eabc179fa47815beaed1910571f05cdaccaa696ff1e237da751aa2bfd6" }, "downloads": -1, "filename": "serpent-1.17.tar.gz", "has_sig": false, "md5_digest": "7903588c08444a9e7b484536961790d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11749, "upload_time": "2017-02-17T21:34:56", "url": "https://files.pythonhosted.org/packages/85/fb/4c9e6ae648efdd277a007209e9c4cf3d83b9ab29210b3c964b0a2d461678/serpent-1.17.tar.gz" } ], "1.18": [ { "comment_text": "", "digests": { "md5": "2d1a163dac34289b73d9a71000ceb7e8", "sha256": "69c43ee4b6d4069b3ff57443b8a39adfdaf69210f584b91f7806abec717686d2" }, "downloads": -1, "filename": "serpent-1.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2d1a163dac34289b73d9a71000ceb7e8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13227, "upload_time": "2017-02-19T13:03:14", "url": "https://files.pythonhosted.org/packages/c4/89/20e2a96c8c666131371e3f025670ec8246a0a85613756867c6328ba1d4b6/serpent-1.18-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "519833e4de2d344433a56a7629a4740e", "sha256": "cc4e1aff3a38a0d438526bede81480776fa8c33fa6d5059412988b0754c9af6d" }, "downloads": -1, "filename": "serpent-1.18.tar.gz", "has_sig": false, "md5_digest": "519833e4de2d344433a56a7629a4740e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11688, "upload_time": "2017-02-19T13:03:12", "url": "https://files.pythonhosted.org/packages/12/53/e972a2f270da04ba4e913f0d14fe0f770f8d13aeb5f1f161015d14739629/serpent-1.18.tar.gz" } ], "1.18.1": [ { "comment_text": "", "digests": { "md5": "9d0e0da039351a6884dbd9e0d6391a0d", "sha256": "4f764d2403783abe30e006dda850b30b15e3db732595f070508b2bddf22c43f9" }, "downloads": -1, "filename": "serpent-1.18.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d0e0da039351a6884dbd9e0d6391a0d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13481, "upload_time": "2017-02-20T20:30:52", "url": "https://files.pythonhosted.org/packages/e2/33/1daf5882131ce664db3ab4d521639998d971e676e06c556d4f592033b2bd/serpent-1.18.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2cd7b751274c59b420d4f54db9a49cf", "sha256": "9afebb58ac8b827050e1969324388349dc9738b0a03b0d91567b328834a27732" }, "downloads": -1, "filename": "serpent-1.18.1.tar.gz", "has_sig": false, "md5_digest": "e2cd7b751274c59b420d4f54db9a49cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11961, "upload_time": "2017-02-20T20:30:46", "url": "https://files.pythonhosted.org/packages/a3/9d/dbde17c206487d76bbbbaf48269b106b926ca4c7a4d85129661bf27a3080/serpent-1.18.1.tar.gz" } ], "1.19": [ { "comment_text": "", "digests": { "md5": "cd00d7a28fe9cccc50908a7504c1ece2", "sha256": "fb5317da526b47ee681dfc57e53101fbc34ef7837b9f38f24c88edc29e57e3a2" }, "downloads": -1, "filename": "serpent-1.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd00d7a28fe9cccc50908a7504c1ece2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13565, "upload_time": "2017-03-03T20:23:12", "url": "https://files.pythonhosted.org/packages/c9/b5/c543ccb722acbd2dfdc97ac77d666fb2b4f4ceaf274cd8008a014db30d39/serpent-1.19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdef596f727cb6b4176c89769d2d41ee", "sha256": "946b2c837f889971df3575af9dadd8f09bfe48549ebc1b9f6434263b653707ce" }, "downloads": -1, "filename": "serpent-1.19.tar.gz", "has_sig": false, "md5_digest": "cdef596f727cb6b4176c89769d2d41ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12055, "upload_time": "2017-03-03T20:23:08", "url": "https://files.pythonhosted.org/packages/26/fe/e19921798e8054af7da891747de941fd66986771593e4088a7e2bb1bd849/serpent-1.19.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "0d0cf7381b72cae1a598634daad2713a", "sha256": "e233c7526715d08c3ef0a872f6f3e5a44097f58a557f635af67c91246d5c9841" }, "downloads": -1, "filename": "serpent-1.2.tar.gz", "has_sig": false, "md5_digest": "0d0cf7381b72cae1a598634daad2713a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7878, "upload_time": "2013-06-08T15:06:43", "url": "https://files.pythonhosted.org/packages/1a/33/dfc85e7dec84fb2ca4625425bd7f4dc74bbcf41d27389db3356b1b9bddf7/serpent-1.2.tar.gz" } ], "1.20": [ { "comment_text": "", "digests": { "md5": "8c6a7c53b3b7855481ec003e663308c4", "sha256": "a38dd774e2450b1676b02f2cc3149952eac8bdc20bdc082dd1c05d895acabb05" }, "downloads": -1, "filename": "serpent-1.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8c6a7c53b3b7855481ec003e663308c4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13712, "upload_time": "2017-06-07T23:32:22", "url": "https://files.pythonhosted.org/packages/a7/ce/66ea2178475ae375de52e26f37200b873fd59493e51af39358b646f652ad/serpent-1.20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef71c6246bdbe74c0e71e6fcf25570a2", "sha256": "7f7cf387cabc14b8a881a7910efc46c92b548423c4095d5b9e7cc1c9e48be143" }, "downloads": -1, "filename": "serpent-1.20.tar.gz", "has_sig": false, "md5_digest": "ef71c6246bdbe74c0e71e6fcf25570a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12227, "upload_time": "2017-06-07T23:32:20", "url": "https://files.pythonhosted.org/packages/a9/19/eecc766c0e78cebb99d3b8d8668a064b9d85e495e272f5c52e31e679a536/serpent-1.20.tar.gz" } ], "1.21": [ { "comment_text": "", "digests": { "md5": "061c34e934c24fb04f369ee2d6f17c4d", "sha256": "2c34d8def01f078360bdd05f5d7e8926d31041bd712c29027a3b5e9affc23bd8" }, "downloads": -1, "filename": "serpent-1.21-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "061c34e934c24fb04f369ee2d6f17c4d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13736, "upload_time": "2017-06-08T00:18:36", "url": "https://files.pythonhosted.org/packages/76/2e/ef20833d45f44541f3d60906cc2ddcb406d10475a30f5328bdbc922696dc/serpent-1.21-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6b33fcb6ca37aefea7b15d641ebb5c1", "sha256": "db76814fe33b25acec2748ae124380bddeba0605dee29c5470b078fb1573ff0e" }, "downloads": -1, "filename": "serpent-1.21.tar.gz", "has_sig": false, "md5_digest": "e6b33fcb6ca37aefea7b15d641ebb5c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12239, "upload_time": "2017-06-08T00:18:34", "url": "https://files.pythonhosted.org/packages/51/28/7522db751624c0650359eeb212701f8586d3cb1620ef3f3c36fb5d06ba31/serpent-1.21.tar.gz" } ], "1.22": [ { "comment_text": "", "digests": { "md5": "7af214944f90369a12364475f1e58af2", "sha256": "b715b10a4300b31473c010e3641bd7a90bdb696363fcd8aef6a11b23e0bfa33a" }, "downloads": -1, "filename": "serpent-1.22-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7af214944f90369a12364475f1e58af2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13808, "upload_time": "2017-06-08T17:43:06", "url": "https://files.pythonhosted.org/packages/00/e4/29a83bab2b9b84bfced5627500b8b88ba5ff695ee2c9214c43cfad165a50/serpent-1.22-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6950f234edcacfa1d31b6655ac3c6256", "sha256": "a67ca57082b00ea734854d751ab19e8a49d4ea0d4be7194985da35863fb9fb19" }, "downloads": -1, "filename": "serpent-1.22.tar.gz", "has_sig": false, "md5_digest": "6950f234edcacfa1d31b6655ac3c6256", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12312, "upload_time": "2017-06-08T17:43:04", "url": "https://files.pythonhosted.org/packages/50/ab/50b0f211afb7b0c783a05dd61c44a355d613320821b4228e2cbcdb90fe8a/serpent-1.22.tar.gz" } ], "1.23": [ { "comment_text": "", "digests": { "md5": "a283f3102cf4b16e0796f51274e2923c", "sha256": "cf91b21c34fbf89d7c619b0baa8c53b3f9520815e355515a0c1cc6b0a8b58875" }, "downloads": -1, "filename": "serpent-1.23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a283f3102cf4b16e0796f51274e2923c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13913, "upload_time": "2017-07-03T20:49:51", "url": "https://files.pythonhosted.org/packages/aa/3b/fdbef655face6915cac279f01fb0aa5e29974970a5903c7a0733d8dabc95/serpent-1.23-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9d6afa51f2560cf5933dcdfd947011d", "sha256": "8480ce3d8864b8974d9fe396998c6a7dae96edb68edf905bfd32ea9a11853ba5" }, "downloads": -1, "filename": "serpent-1.23.tar.gz", "has_sig": false, "md5_digest": "d9d6afa51f2560cf5933dcdfd947011d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12371, "upload_time": "2017-07-03T20:49:49", "url": "https://files.pythonhosted.org/packages/47/18/5f0f68dbe5a1d11c32ef38fc3203e773057b5f114f19ec6b733682370b88/serpent-1.23.tar.gz" } ], "1.24": [ { "comment_text": "", "digests": { "md5": "de358ac8d134146743d44fd6931bb349", "sha256": "a193b7ed60db641558a6945116aaf5bc961cba9d1ddc6dffa650f43439c9c6d9" }, "downloads": -1, "filename": "serpent-1.24-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de358ac8d134146743d44fd6931bb349", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13868, "upload_time": "2018-03-01T20:55:58", "url": "https://files.pythonhosted.org/packages/ec/17/f7010ceacc271a1d81c08e0863df1ccfcb5441c4687265478e4964f2fd58/serpent-1.24-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0c50f1943ff86d830eb3fe40f6dc1e3", "sha256": "b6855483d95a03b6aee358363684cd38a3a670240da5bc6da4253079cb07b8df" }, "downloads": -1, "filename": "serpent-1.24.tar.gz", "has_sig": false, "md5_digest": "d0c50f1943ff86d830eb3fe40f6dc1e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10821, "upload_time": "2018-03-01T20:55:57", "url": "https://files.pythonhosted.org/packages/16/d0/f3b26de98423d5f36b6fb4f581fd805caf390befd676fe7e75edeb17b8aa/serpent-1.24.tar.gz" } ], "1.25": [ { "comment_text": "", "digests": { "md5": "aefd5f87dc086c793ba1e9468c0df638", "sha256": "ac0312419c253134d307c1489c87dadcb6f7ece60d1a8fcf6fa3d7bd3c7c2e43" }, "downloads": -1, "filename": "serpent-1.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aefd5f87dc086c793ba1e9468c0df638", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14697, "upload_time": "2018-07-03T17:26:04", "url": "https://files.pythonhosted.org/packages/32/9e/0bcdbd53ea25c65a08d6ed80735631ceceece061a4f50e80721eb55a623f/serpent-1.25-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f9684622125a527fa4fbe2587738973", "sha256": "264a028e059c1b557701ae7c567cdab330dbd228ff924489343efcb39bd828a0" }, "downloads": -1, "filename": "serpent-1.25.tar.gz", "has_sig": false, "md5_digest": "0f9684622125a527fa4fbe2587738973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12711, "upload_time": "2018-07-03T17:26:03", "url": "https://files.pythonhosted.org/packages/c8/23/f0df25702509330360de0528ecd3f8520db365710d32f612096dfc4604fa/serpent-1.25.tar.gz" } ], "1.26": [ { "comment_text": "", "digests": { "md5": "2496fe17254a78c02afd44a937585875", "sha256": "ed140b6fa133facb554d5fd852cf1ff9771b44f72ca9ffec8ce9a4dbc8931dfb" }, "downloads": -1, "filename": "serpent-1.26-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2496fe17254a78c02afd44a937585875", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11444, "upload_time": "2018-07-27T18:40:00", "url": "https://files.pythonhosted.org/packages/c3/36/a29f45d653673068fbd9d150c3fd840c121ff641914ac68c882a4e0edd40/serpent-1.26-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe9cf33579a2cb5763e16ecd8c2cf0d5", "sha256": "26116545d6ea12d9ea567e38fa440930f2ae79cd72e4633b8302e93d9d7af887" }, "downloads": -1, "filename": "serpent-1.26.tar.gz", "has_sig": false, "md5_digest": "fe9cf33579a2cb5763e16ecd8c2cf0d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12765, "upload_time": "2018-07-27T18:40:01", "url": "https://files.pythonhosted.org/packages/27/df/f414a1c393e8ca987ebda21b792aa884ba6d4e03205ca8821d54c5b09c84/serpent-1.26.tar.gz" } ], "1.27": [ { "comment_text": "", "digests": { "md5": "66d00f3ee51e4b916bf2f0f4870ca6da", "sha256": "eb489aeb85333f6ee5ab2f4bc666a5731d870a562b26b6e63c6b9384befd3186" }, "downloads": -1, "filename": "serpent-1.27-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66d00f3ee51e4b916bf2f0f4870ca6da", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11440, "upload_time": "2018-07-30T19:09:29", "url": "https://files.pythonhosted.org/packages/55/9f/8e6b4519af9eabde9fa29e6853b865e07d89e220035f34cca914507e17e7/serpent-1.27-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f852e6f8cfb2a12c564b64b0f2bd9aaa", "sha256": "6f8dc4317fb5b5a9629b5e518846bc9fee374b8171533726dc68df52b36ee912" }, "downloads": -1, "filename": "serpent-1.27.tar.gz", "has_sig": false, "md5_digest": "f852e6f8cfb2a12c564b64b0f2bd9aaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12758, "upload_time": "2018-07-30T19:09:31", "url": "https://files.pythonhosted.org/packages/4e/44/511a118078c2cab230c7bf5cd243950d107c1d0cc78a2917837c9761ea6e/serpent-1.27.tar.gz" } ], "1.28": [ { "comment_text": "", "digests": { "md5": "c8ddab613551bce169f7787750d83936", "sha256": "c8e18d7c787612abb811474a2cce310a1e5e737eac9d858a073d4f3c44a4f3b6" }, "downloads": -1, "filename": "serpent-1.28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8ddab613551bce169f7787750d83936", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11423, "upload_time": "2019-03-10T16:33:36", "url": "https://files.pythonhosted.org/packages/27/8a/873ccbe1d3d0f81d136686e4d0f38619ac1e718cff7d68f80e364dc52a8c/serpent-1.28-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15ef8b67c76a6d19bac9c16731a1e62a", "sha256": "f306336ca09aa38e526f3b03cab58eb7e45af09981267233167bcf3bfd6436ab" }, "downloads": -1, "filename": "serpent-1.28.tar.gz", "has_sig": false, "md5_digest": "15ef8b67c76a6d19bac9c16731a1e62a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26912, "upload_time": "2019-03-10T16:35:12", "url": "https://files.pythonhosted.org/packages/12/35/6b6e9bd34c7fd70065d9813f5401a645d9c8f2371dd941198ab9ae5630a1/serpent-1.28.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "c24422aeaf335fb3b1c942dd1879dd89", "sha256": "45560ada9e07e1400304870210c64c2de14ab414e23ec7a1271d673fa92104e2" }, "downloads": -1, "filename": "serpent-1.3.tar.gz", "has_sig": false, "md5_digest": "c24422aeaf335fb3b1c942dd1879dd89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7896, "upload_time": "2013-08-11T22:45:16", "url": "https://files.pythonhosted.org/packages/f1/ff/ec2a2ecfaa4e8affc07e73760c6c5843c2bdd8ccac0d628e4a65a0150043/serpent-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "0c455ddc15ea4ccc8579b467782ccdc6", "sha256": "649b1f42984d12ebe22274d981558e3b72e8bf7eef09c0a712e6b8c3517079d2" }, "downloads": -1, "filename": "serpent-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c455ddc15ea4ccc8579b467782ccdc6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11006, "upload_time": "2014-03-31T20:34:04", "url": "https://files.pythonhosted.org/packages/46/44/8a971d40deba83cfc1d29bbc2f0ba59847acd33aff2b277b4f2cec89a5a9/serpent-1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28a61ff52ae143e02d34ae7c6a6053f8", "sha256": "dc95871fcf3c11446dc42049c4941f38c6cb67d85e9207d3dcd4b904a59805f0" }, "downloads": -1, "filename": "serpent-1.4.tar.gz", "has_sig": false, "md5_digest": "28a61ff52ae143e02d34ae7c6a6053f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7988, "upload_time": "2013-09-08T15:38:03", "url": "https://files.pythonhosted.org/packages/4a/1d/c411f1d8df76007976d1c0c7e8e6b248b7d74c945adb8ff361278b519212/serpent-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "4d357e027ed40257db7dbe11fae50cd6", "sha256": "9a700d6750b79e3d4951fe8d202089c775702cef2c684727a8808163f189a637" }, "downloads": -1, "filename": "serpent-1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4d357e027ed40257db7dbe11fae50cd6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11132, "upload_time": "2014-04-11T22:01:07", "url": "https://files.pythonhosted.org/packages/ab/55/5734557a877106ebd1342f5a964561f2db859975ed67d167cfa2e91b6275/serpent-1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "067b4bc0f875cac0c8c48503b57e7fd4", "sha256": "c9202089dc07b66ec5a5bca33eb5b745e5caf19b6909185b88439daa4d5840f8" }, "downloads": -1, "filename": "serpent-1.5.tar.gz", "has_sig": false, "md5_digest": "067b4bc0f875cac0c8c48503b57e7fd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8465, "upload_time": "2014-04-11T22:01:03", "url": "https://files.pythonhosted.org/packages/e2/64/aee430ec743ee19f09793f505ddd71f1ea4f34d21ce0c730c6d50f632536/serpent-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "912a609a14490312acf07cad3e3afc31", "sha256": "e7481da53d609e27ac85cbef7952dffba23ecca7fa3f3a30f67b0d80c610e825" }, "downloads": -1, "filename": "serpent-1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "912a609a14490312acf07cad3e3afc31", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11385, "upload_time": "2014-07-06T23:08:20", "url": "https://files.pythonhosted.org/packages/7f/23/6e25d422fbeb59d503c17950517ae5a02d57a0fc9d93ac01e14b77239147/serpent-1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bc36fbfe0a1fba45c30ab09c9eda1aa", "sha256": "cf4653ad238927775da35afb8fca3ff0c8bc21fe7c88959647883b06e0b1d4cf" }, "downloads": -1, "filename": "serpent-1.6.tar.gz", "has_sig": false, "md5_digest": "0bc36fbfe0a1fba45c30ab09c9eda1aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8622, "upload_time": "2014-07-06T23:08:16", "url": "https://files.pythonhosted.org/packages/a3/96/5a0ef952e9d88a0476093e03a0ff339aeb9c235424b8e70ebf586388b0b6/serpent-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "17a32f8abbeaa1c611b9f6488ed1b8d9", "sha256": "e8bdd33a23adc0ff725e3a5f948b3674781b33821deda884d09947e58cd7c713" }, "downloads": -1, "filename": "serpent-1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17a32f8abbeaa1c611b9f6488ed1b8d9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11663, "upload_time": "2014-07-13T11:30:35", "url": "https://files.pythonhosted.org/packages/37/f7/fc231a4dc82b98f2a95e5e3f40412c831c10816726468557349588cedece/serpent-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7b29b6f1cada44004819b7b2de05c3e", "sha256": "5345587dff787431df668c19de56b74ada02fb893c2d9687572ffecc63d4d33a" }, "downloads": -1, "filename": "serpent-1.7.tar.gz", "has_sig": false, "md5_digest": "c7b29b6f1cada44004819b7b2de05c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8799, "upload_time": "2014-07-13T11:30:32", "url": "https://files.pythonhosted.org/packages/11/ae/a90cc9c743ae90cfcbe0441cd062a1b4bd5e2128c6014721b6fbd2f75c8b/serpent-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "00748d50c26b0eae13cc2e07948f8302", "sha256": "cfc87a8ccadcbf3cfe534f96febaf7bcdb73574384f0aa483d15612d23839e4d" }, "downloads": -1, "filename": "serpent-1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "00748d50c26b0eae13cc2e07948f8302", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11721, "upload_time": "2015-01-08T22:16:16", "url": "https://files.pythonhosted.org/packages/a6/51/a3b02d0eef86bc9c075eae9d827650ba05accfa4db0ca1b5d3edfadc1101/serpent-1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "663245ce100176b267dfbe8ebe47bcc1", "sha256": "9bd9adfde5337d839c16a62b7d02b058b3612a1beaccf2dc5f5000656c406336" }, "downloads": -1, "filename": "serpent-1.8.tar.gz", "has_sig": false, "md5_digest": "663245ce100176b267dfbe8ebe47bcc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8949, "upload_time": "2015-01-08T22:15:55", "url": "https://files.pythonhosted.org/packages/0b/fe/fc6b88e79e34b4c2be8d4d2a134b9b396346557460b485ff097aa93bb54c/serpent-1.8.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "905bdceffef15bbf2e9be2f4f25d7e3b", "sha256": "c3fcb71e7ad7ac9470e367b6bd48801ab5c06c6816ea8988f5cd5db68f699421" }, "downloads": -1, "filename": "serpent-1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "905bdceffef15bbf2e9be2f4f25d7e3b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12000, "upload_time": "2015-03-03T22:29:46", "url": "https://files.pythonhosted.org/packages/67/44/cb5e5f1265aa21cd9b9a160ef9f51e392c1504e16864f016c59d7d5fc84c/serpent-1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99c6c55ae955019ae6f72bef17dc91ed", "sha256": "46311ae0e93c30c3b93e9153ffd6c76e595aaaca9d390f0cda1a750d5957f90f" }, "downloads": -1, "filename": "serpent-1.9.tar.gz", "has_sig": false, "md5_digest": "99c6c55ae955019ae6f72bef17dc91ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9402, "upload_time": "2015-03-03T21:11:52", "url": "https://files.pythonhosted.org/packages/31/81/aef0567b6314c535d2e3e8e37c75801d7c6ec231f6ba9d14c38b3caa068f/serpent-1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8ddab613551bce169f7787750d83936", "sha256": "c8e18d7c787612abb811474a2cce310a1e5e737eac9d858a073d4f3c44a4f3b6" }, "downloads": -1, "filename": "serpent-1.28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8ddab613551bce169f7787750d83936", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11423, "upload_time": "2019-03-10T16:33:36", "url": "https://files.pythonhosted.org/packages/27/8a/873ccbe1d3d0f81d136686e4d0f38619ac1e718cff7d68f80e364dc52a8c/serpent-1.28-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15ef8b67c76a6d19bac9c16731a1e62a", "sha256": "f306336ca09aa38e526f3b03cab58eb7e45af09981267233167bcf3bfd6436ab" }, "downloads": -1, "filename": "serpent-1.28.tar.gz", "has_sig": false, "md5_digest": "15ef8b67c76a6d19bac9c16731a1e62a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26912, "upload_time": "2019-03-10T16:35:12", "url": "https://files.pythonhosted.org/packages/12/35/6b6e9bd34c7fd70065d9813f5401a645d9c8f2371dd941198ab9ae5630a1/serpent-1.28.tar.gz" } ] }