{ "info": { "author": "podhmo", "author_email": "", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: Implementation :: CPython" ], "description": "alchemyjsonschema\n=================\n\n.. image:: https://travis-ci.org/podhmo/alchemyjsonschema.svg\n :target: https://travis-ci.org/podhmo/alchemyjsonschema.svg\n\nfeatures\n----------------------------------------\n\nalchemyjsonschema is the library for converting sqlalchemys's model to jsonschema.\n\n- using alchemyjsonschema as command\n- using alchemyjsonschema as library\n\nas library\n----------------------------------------\n\nhaving three output styles.\n\n- NoForeignKeyWalker -- ignore relationships\n- ForeignKeyWalker -- expecting the information about relationship is foreign key\n- StructuralWalker -- fullset output(expecting the information about relationship is full JSON data)\n\nexamples\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\ndumping json with above three output styles.\n\ntarget models are here. Group and User.\n\n.. code:: python\n\n # -*- coding:utf-8 -*-\n import sqlalchemy as sa\n import sqlalchemy.orm as orm\n from sqlalchemy.ext.declarative import declarative_base\n\n Base = declarative_base()\n\n\n class Group(Base):\n \"\"\"model for test\"\"\"\n __tablename__ = \"Group\"\n\n pk = sa.Column(sa.Integer, primary_key=True, doc=\"primary key\")\n name = sa.Column(sa.String(255), default=\"\", nullable=False)\n\n\n class User(Base):\n __tablename__ = \"User\"\n\n pk = sa.Column(sa.Integer, primary_key=True, doc=\"primary key\")\n name = sa.Column(sa.String(255), default=\"\", nullable=True)\n group_id = sa.Column(sa.Integer, sa.ForeignKey(Group.pk), nullable=False)\n group = orm.relationship(Group, uselist=False, backref=\"users\")\n\n\nNoForeignKeyWalker\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n import pprint as pp\n from alchemyjsonschema import SchemaFactory\n from alchemyjsonschema import NoForeignKeyWalker\n\n factory = SchemaFactory(NoForeignKeyWalker)\n pp.pprint(factory(User))\n\n \"\"\"\n {'properties': {'name': {'maxLength': 255, 'type': 'string'},\n 'pk': {'description': 'primary key', 'type': 'integer'}},\n 'required': ['pk'],\n 'title': 'User',\n 'type': 'object'}\n \"\"\"\n\n\nForeignKeyWalker\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n import pprint as pp\n from alchemyjsonschema import SchemaFactory\n from alchemyjsonschema import ForeignKeyWalker\n\n factory = SchemaFactory(ForeignKeyWalker)\n pp.pprint(factory(User))\n\n \"\"\"\n {'properties': {'group_id': {'type': 'integer'},\n 'name': {'maxLength': 255, 'type': 'string'},\n 'pk': {'description': 'primary key', 'type': 'integer'}},\n 'required': ['pk', 'group_id'],\n 'title': 'User',\n 'type': 'object'}\n \"\"\"\n\n\nStructuralWalker\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n\n.. code:: python\n\n import pprint as pp\n from alchemyjsonschema import SchemaFactory\n from alchemyjsonschema import StructuralWalker\n\n factory = SchemaFactory(StructuralWalker)\n pp.pprint(factory(User))\n\n \"\"\"\n {'definitions': {'Group': {'properties': {'pk': {'description': 'primary key',\n 'type': 'integer'},\n 'name': {'maxLength': 255,\n 'type': 'string'}},\n 'type': 'object'}},\n 'properties': {'pk': {'description': 'primary key', 'type': 'integer'},\n 'name': {'maxLength': 255, 'type': 'string'},\n 'group': {'$ref': '#/definitions/Group'}},\n 'required': ['pk'],\n 'title': 'User',\n 'type': 'object'}\n \"\"\"\n\n pp.pprint(factory(Group))\n\n \"\"\"\n {'definitions': {'User': {'properties': {'pk': {'description': 'primary key',\n 'type': 'integer'},\n 'name': {'maxLength': 255,\n 'type': 'string'}},\n 'type': 'object'}},\n 'description': 'model for test',\n 'properties': {'pk': {'description': 'primary key', 'type': 'integer'},\n 'name': {'maxLength': 255, 'type': 'string'},\n 'users': {'items': {'$ref': '#/definitions/User'},\n 'type': 'array'}},\n 'required': ['pk', 'name'],\n 'title': 'Group',\n 'type': 'object'}\n \"\"\"\n\nas command\n----------------------------------------\n\nusing alchemyjsonschema as command (the command name is also `alchemyjsonschema`).\n\nhelp\n\n.. code:: bash\n\n $ alchemyjsonschema --help\n usage: alchemyjsonschema [-h] [--walker {noforeignkey,foreignkey,structural}]\n [--decision {default,fullset}] [--depth DEPTH]\n [--out OUT]\n target\n\n positional arguments:\n target the module or class to extract schemas from\n\n optional arguments:\n -h, --help show this help message and exit\n --walker {noforeignkey,foreignkey,structural}\n --decision {default,fullset}\n --depth DEPTH\n --out OUT output to file\n\nIf above two model definitions (User,Group) are existed in `alchemyjsonschema.tests.models` .\n\nTarget is the class position or module position. for example,\n\n- class position -- `alchemyjsonschema.tests.models:User`\n- module position -- `alchemyjsonschema.tests.models`\n\nexample\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nUsing StructuralWalker via command line (--walker structural).\nOf course, NoForeignKeyWalker is noforeignkey, and ForeignKeyWalker is foreignkey.\n\n.. code:: bash\n\n $ alchemyjsonschema --walker structural alchemyjsonschema.tests.models:Group\n\n {\n \"definitions\": {\n \"Group\": {\n \"properties\": {\n \"color\": {\n \"enum\": [\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\"\n ],\n \"maxLength\": 6,\n \"type\": \"string\"\n },\n \"created_at\": {\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"name\": {\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"pk\": {\n \"description\": \"primary key\",\n \"type\": \"integer\"\n },\n \"users\": {\n \"items\": {\n \"$ref\": \"#/definitions/User\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"pk\"\n ],\n \"title\": \"Group\",\n \"type\": \"object\"\n },\n \"User\": {\n \"properties\": {\n \"created_at\": {\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"name\": {\n \"maxLength\": 255,\n \"type\": \"string\"\n },\n \"pk\": {\n \"description\": \"primary key\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"pk\"\n ],\n \"type\": \"object\"\n }\n }\n }\n\nOutput is not same when using Walker-class, directly. This is handy output for something like a swagger(OpenAPI 2.0)'s tool.\n\nappendix: what is `--decision` ?\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwhat is `--decision`? (TODO: gentle description)\n\n.. code-block:: bash\n\n $ alchemyjsonschema --walker structural alchemyjsonschema.tests.models:User | jq . -S > /tmp/default.json\n $ alchemyjsonschema --decision useforeignkey --walker structural alchemyjsonschema.tests.models:User | jq . -S > /tmp/useforeignkey.json\n $ diff -u /tmp/default.json /tmp/useforeignkey.json\n\n.. code-block:: diff\n\n --- /tmp/default.json\t2017-01-02 22:49:44.000000000 +0900\n +++ /tmp/useforeignkey.json\t2017-01-02 22:53:13.000000000 +0900\n @@ -1,43 +1,14 @@\n {\n \"definitions\": {\n - \"Group\": {\n - \"properties\": {\n - \"color\": {\n - \"enum\": [\n - \"red\",\n - \"green\",\n - \"yellow\",\n - \"blue\"\n - ],\n - \"maxLength\": 6,\n - \"type\": \"string\"\n - },\n - \"created_at\": {\n - \"format\": \"date-time\",\n - \"type\": \"string\"\n - },\n - \"name\": {\n - \"maxLength\": 255,\n - \"type\": \"string\"\n - },\n - \"pk\": {\n - \"description\": \"primary key\",\n - \"type\": \"integer\"\n - }\n - },\n - \"required\": [\n - \"pk\"\n - ],\n - \"type\": \"object\"\n - },\n \"User\": {\n \"properties\": {\n \"created_at\": {\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n - \"group\": {\n - \"$ref\": \"#/definitions/Group\"\n + \"group_id\": {\n + \"relation\": \"group\",\n + \"type\": \"integer\"\n },\n \"name\": {\n \"maxLength\": 255,\n\n\n0.6.0\n\n- fix for jsonschema-update\n\n0.4.2\n\n- fix bug calling command with module (not model class)\n\n0.4.0\n\n- remove needless feature(#11)\n\n0.3\n\n- swagger support(thanks of isysd)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/podhmo/alchemyjsonschema", "keywords": "alchemyjsonschema sqlalchemy jsonschema schema-generation", "license": "mit", "maintainer": "", "maintainer_email": "", "name": "alchemyjsonschema", "package_url": "https://pypi.org/project/alchemyjsonschema/", "platform": "", "project_url": "https://pypi.org/project/alchemyjsonschema/", "project_urls": { "Homepage": "https://github.com/podhmo/alchemyjsonschema" }, "release_url": "https://pypi.org/project/alchemyjsonschema/0.6.0/", "requires_dist": [ "sqlalchemy", "jsonschema", "strict-rfc3339", "isodate", "pytz", "magicalimport", "dictknife (>=0.7.2)", "pytest ; extra == 'testing'", "webob ; extra == 'testing'" ], "requires_python": "", "summary": "mapping jsonschema for sqlalchemy models", "version": "0.6.0" }, "last_serial": 5688964, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "33e221c14d27c0f43491f9ba9706ba64", "sha256": "7a6e17a7d528c3c582a06d6c24940bb2114b6daeceebb65bc5ec7227a3b2a6ad" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.2.tar.gz", "has_sig": false, "md5_digest": "33e221c14d27c0f43491f9ba9706ba64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9537, "upload_time": "2014-05-22T14:41:29", "url": "https://files.pythonhosted.org/packages/e6/3a/0c458315bf6bf842bc5773c47895374b484e69d694eb4d10e25009b60df9/alchemyjsonschema-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "94a75ef9616e4389c71653e048f12663", "sha256": "814de9653694455792837d8d3b9dc07787d7721878a19336974b3c493ccca1b7" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.3.tar.gz", "has_sig": false, "md5_digest": "94a75ef9616e4389c71653e048f12663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9565, "upload_time": "2014-05-22T14:42:39", "url": "https://files.pythonhosted.org/packages/0e/28/d65de2221d6d3b383156038440e5a9f73fc774be51e671440d359a18f900/alchemyjsonschema-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "b8eed7a90ae764e8ea5733f2fc3fb5d6", "sha256": "ade332e7dc51ba3ab0e79df64aa6d9b799340c74f2c16ce1df2aebca51f28e38" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b8eed7a90ae764e8ea5733f2fc3fb5d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10998, "upload_time": "2014-05-23T13:56:05", "url": "https://files.pythonhosted.org/packages/88/ab/1fb80980348e19ecf76598fd33416a80db045d23a4f243731eae87546d99/alchemyjsonschema-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "fbb038c377aa62887c26eaa7cf0e5687", "sha256": "671cf0c0ce5eb043cf04d52a236a314a279069603c631ffc05e43e27c89b5928" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.5.tar.gz", "has_sig": false, "md5_digest": "fbb038c377aa62887c26eaa7cf0e5687", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11751, "upload_time": "2014-05-24T00:42:45", "url": "https://files.pythonhosted.org/packages/37/c8/6884d1e6f73c5109b21581f0145c193931027f351306dd1062eee19ec7a8/alchemyjsonschema-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "b67005f9def8f5de65dce474cb653273", "sha256": "7264e4d1d3b5af522ee5b66b0b2c244297563652db877828cf5b403588f5f236" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.6.tar.gz", "has_sig": false, "md5_digest": "b67005f9def8f5de65dce474cb653273", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11920, "upload_time": "2014-05-25T14:39:17", "url": "https://files.pythonhosted.org/packages/6d/32/72dee228104160e412e0deea93f7e93b07e93eaf561575194387bfb3651e/alchemyjsonschema-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "3d62583e21689ddee82741dbfa4d4a11", "sha256": "bf4c25349134e1c6d9917ce87c2ed1670cd6437adc504cfd744215cb5a432302" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.7.tar.gz", "has_sig": false, "md5_digest": "3d62583e21689ddee82741dbfa4d4a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12125, "upload_time": "2014-05-25T16:30:23", "url": "https://files.pythonhosted.org/packages/a4/fb/b98d120a6c22330ecdfc274459b209b53fac35662c3627a4316a0c2fd5d0/alchemyjsonschema-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "99f4d5c8688529facbc0d7256ec9bcf1", "sha256": "67f751e25817451c374612b9dcb2f0e7d3ecf6923f0ceba10d7c4c7df0b52222" }, "downloads": -1, "filename": "alchemyjsonschema-0.0.8.tar.gz", "has_sig": false, "md5_digest": "99f4d5c8688529facbc0d7256ec9bcf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12278, "upload_time": "2014-05-25T22:12:11", "url": "https://files.pythonhosted.org/packages/ae/b5/2380299e7ce506204d7f2c831c97648abc48db12b4a7f3ab9d888951acb5/alchemyjsonschema-0.0.8.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "0ca964575da113400af1ef61b011b5c1", "sha256": "7b623f48de9ebf985a97162d1501b73d4155db5634d39d8e47d9638be4392c07" }, "downloads": -1, "filename": "alchemyjsonschema-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0ca964575da113400af1ef61b011b5c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12625, "upload_time": "2014-05-26T15:19:09", "url": "https://files.pythonhosted.org/packages/a3/22/2cb43a5485140bdfefc50bec5fe9fdd1613d955fa89b894dbd6ac981e979/alchemyjsonschema-0.1.0.tar.gz" } ], "0.1.0.a": [ { "comment_text": "", "digests": { "md5": "1ec6e58c1df0f27b86dfa1ea4be6f7b2", "sha256": "08ac4dd89033cdcbcd3692cc0fcfb68a6cf36bedcb5222fce817a17ba372527b" }, "downloads": -1, "filename": "alchemyjsonschema-0.1.0.a.tar.gz", "has_sig": false, "md5_digest": "1ec6e58c1df0f27b86dfa1ea4be6f7b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12750, "upload_time": "2014-05-26T16:09:45", "url": "https://files.pythonhosted.org/packages/c7/6c/be6eb5e1322e2265a3995ced93a78443890b9659ca8499c515588cfd7ff2/alchemyjsonschema-0.1.0.a.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a12946586ea2d57408ff49fefb1d2f52", "sha256": "b2f7168c34a0be6dfd6c3d1c355b7b0d1f7f6550becb68f4358e666082b4d98a" }, "downloads": -1, "filename": "alchemyjsonschema-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a12946586ea2d57408ff49fefb1d2f52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13152, "upload_time": "2014-06-09T14:34:58", "url": "https://files.pythonhosted.org/packages/69/7a/3bead7fe30dffd15936432a6af4aa281c7b8bf51c22377b98f2b8a42c876/alchemyjsonschema-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f8b62b4f52d3ceb622b64a962bfb1468", "sha256": "ed660d6e7346ea6497daf42e0751f1d38f8923724991f9f782da41513d7344b5" }, "downloads": -1, "filename": "alchemyjsonschema-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f8b62b4f52d3ceb622b64a962bfb1468", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15327, "upload_time": "2014-06-14T08:27:04", "url": "https://files.pythonhosted.org/packages/37/4a/9b0b6e045bd1f5a09d42bd20b89d9e0910a886d2e34dd0ee072e39ce6824/alchemyjsonschema-0.1.2.tar.gz" } ], "0.1.2.1": [ { "comment_text": "", "digests": { "md5": "b889898aa637e44b67be5d375a87b972", "sha256": "1d8b51c125dc8deedd65426347460ea1d47faf49cc29655e91ed6443591cd4eb" }, "downloads": -1, "filename": "alchemyjsonschema-0.1.2.1.tar.gz", "has_sig": false, "md5_digest": "b889898aa637e44b67be5d375a87b972", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15408, "upload_time": "2014-06-14T14:06:08", "url": "https://files.pythonhosted.org/packages/e9/c2/82ae0dbb73824efe7099244881f44514d6c68373913dde454dd2b71e352e/alchemyjsonschema-0.1.2.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2ff71e3c507cc91c4cd051192bfd24c8", "sha256": "39e94fafd20c68ea63ed039a6576ecf576f90c93a3fcee9a6e1879918064e187" }, "downloads": -1, "filename": "alchemyjsonschema-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2ff71e3c507cc91c4cd051192bfd24c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15943, "upload_time": "2014-06-15T02:17:17", "url": "https://files.pythonhosted.org/packages/03/f2/8c150cb3eea974aae1e30a29ef1b68262527846455449e9cc9f7d3acfe21/alchemyjsonschema-0.1.3.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "675396586b910799b63e7b5167971f20", "sha256": "3a5a57e36ca50f83ee87beca1aca0e2e2849b3a3ff6d8f06a43d49fa9ddf124f" }, "downloads": -1, "filename": "alchemyjsonschema-0.2.1.tar.gz", "has_sig": false, "md5_digest": "675396586b910799b63e7b5167971f20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17978, "upload_time": "2014-06-25T11:14:09", "url": "https://files.pythonhosted.org/packages/e2/0e/147be1933cc0c8514c23d599adcc1fbbe384809762bd72dcbf14a7394150/alchemyjsonschema-0.2.1.tar.gz" } ], "0.2.1.1": [ { "comment_text": "", "digests": { "md5": "cdfce024b6529ae264e886d323aa3cd1", "sha256": "d29a74a3be2bf7414ccbc2ace0cfb07f2a6c194d1b02c9e871b37ff4bde04b18" }, "downloads": -1, "filename": "alchemyjsonschema-0.2.1.1.tar.gz", "has_sig": false, "md5_digest": "cdfce024b6529ae264e886d323aa3cd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17974, "upload_time": "2014-06-25T11:41:46", "url": "https://files.pythonhosted.org/packages/ff/22/7e3d61336bb0179d641c1bf549747d446196022273b067f592b0e18cbd82/alchemyjsonschema-0.2.1.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "fdbbdf87c70e3004c1d21da929fd0fdf", "sha256": "50f2c2428a263364cff31cb913021597b96fb2a18c23966f6d7cb886d291b7d6" }, "downloads": -1, "filename": "alchemyjsonschema-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "fdbbdf87c70e3004c1d21da929fd0fdf", "packagetype": "bdist_wheel", "python_version": "3.3", "requires_python": null, "size": 28994, "upload_time": "2015-10-29T06:20:42", "url": "https://files.pythonhosted.org/packages/d5/e3/67924634d4a8d505c05deff6f917888e00f653b5c20d8579aedd430da2f7/alchemyjsonschema-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3715d2fed5a95967cc07453eb2f91f67", "sha256": "f8bda11ca77d059cbff83a0c0e7114011710f399e8cfeb63ef9be3398fe258eb" }, "downloads": -1, "filename": "alchemyjsonschema-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3715d2fed5a95967cc07453eb2f91f67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18361, "upload_time": "2015-10-29T06:20:32", "url": "https://files.pythonhosted.org/packages/db/5c/9656a0a8c9606f31577251a514e9261dec0e89475260e348cce5648ff4b3/alchemyjsonschema-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "1d49bf5c82bec544e1ee22d6ccd35d2e", "sha256": "1ee122fdaa3b74d2a84ab2c41ef207b0f12da3a2901a35cc26cfd6b4274aa0cc" }, "downloads": -1, "filename": "alchemyjsonschema-0.2.3.tar.gz", "has_sig": false, "md5_digest": "1d49bf5c82bec544e1ee22d6ccd35d2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18939, "upload_time": "2015-11-28T14:49:19", "url": "https://files.pythonhosted.org/packages/32/e8/527a109670fb81144fa304ec55214f845993fc74c385c8c497dc99983796/alchemyjsonschema-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "43ab038d7e3c1bd4c322e19071646417", "sha256": "1574345df7d06e9e0cfa4bc812bcd21307c9c1d944ed7f220dbfeea64591f70f" }, "downloads": -1, "filename": "alchemyjsonschema-0.3.0.tar.gz", "has_sig": false, "md5_digest": "43ab038d7e3c1bd4c322e19071646417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19267, "upload_time": "2016-03-04T11:42:19", "url": "https://files.pythonhosted.org/packages/75/5b/e35845300276f9cf3fdf52b13e148c0312c2efabfb8ea598140d83fd4a9e/alchemyjsonschema-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "dba0e9cb729cea27d4e625e2f9b1f768", "sha256": "74901aab8b24c04862ffa59ae46fcdb96218f65bff451e0e45a97d2f3f141b05" }, "downloads": -1, "filename": "alchemyjsonschema-0.3.1.tar.gz", "has_sig": false, "md5_digest": "dba0e9cb729cea27d4e625e2f9b1f768", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19284, "upload_time": "2016-03-04T11:44:28", "url": "https://files.pythonhosted.org/packages/37/6d/7db48285105ac029483b04b01b5c628b340da933589d71da187b73a536b5/alchemyjsonschema-0.3.1.tar.gz" } ], "0.3.1.1": [ { "comment_text": "", "digests": { "md5": "fa0b97bb983452eef4f7aa288368c24d", "sha256": "18bc1f0fa13c9cd41bc3bf4ece80542d6eb859999a3c66023e928449eac23e17" }, "downloads": -1, "filename": "alchemyjsonschema-0.3.1.1.tar.gz", "has_sig": false, "md5_digest": "fa0b97bb983452eef4f7aa288368c24d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13442, "upload_time": "2016-03-04T11:53:47", "url": "https://files.pythonhosted.org/packages/cd/c2/9037830b1510cf28b758f456889feb68edf49d6e4342701509d78a167a7d/alchemyjsonschema-0.3.1.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4936b1c93ee6606254c0c7da16265ffa", "sha256": "8b75b8fb3f66125fb4cc63201118d6e00cd7f49d928024a839207bccdf4acf8f" }, "downloads": -1, "filename": "alchemyjsonschema-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4936b1c93ee6606254c0c7da16265ffa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13435, "upload_time": "2016-03-04T11:57:23", "url": "https://files.pythonhosted.org/packages/af/c4/117b2a0ed31d4d77368b84dfbb2dd2ed5749b6e7911773040938115fe1b2/alchemyjsonschema-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "fba2ad73f9a5586d45785d6fab97f5ed", "sha256": "421631588a34e6620af94d6bdf57a972c03a6ed647c9ea6ae61c791eb5c695e2" }, "downloads": -1, "filename": "alchemyjsonschema-0.3.3.tar.gz", "has_sig": false, "md5_digest": "fba2ad73f9a5586d45785d6fab97f5ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13526, "upload_time": "2016-03-04T12:48:08", "url": "https://files.pythonhosted.org/packages/6c/c5/14260ba32c715d679a0d40daa18299a3c571f5af6fa57be4a6bc3afee72c/alchemyjsonschema-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "eadac457a8759f2c563d226e9c8edc03", "sha256": "29af9cb69dadbd9fa8fb74ee9945d72f63acfb82bd1f19b4d940a033fc9c1e60" }, "downloads": -1, "filename": "alchemyjsonschema-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eadac457a8759f2c563d226e9c8edc03", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18847, "upload_time": "2017-01-02T14:00:29", "url": "https://files.pythonhosted.org/packages/76/80/ed3e5a3cf133b84bbb8e967b1d338fb04c5afcb2995eb35f692d43ae8309/alchemyjsonschema-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8b78c07931b23a3cb4bb51a94a26f2a", "sha256": "204de88a6ebb58cc9872832a52acd7e6852c63c1476c0089f7abc33207fc9eca" }, "downloads": -1, "filename": "alchemyjsonschema-0.4.0.tar.gz", "has_sig": false, "md5_digest": "c8b78c07931b23a3cb4bb51a94a26f2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13821, "upload_time": "2017-01-02T14:00:27", "url": "https://files.pythonhosted.org/packages/75/9f/39e4d576a5ffa20cd3d8cd65852ecb01ff33295d86ce20c40690edab6f93/alchemyjsonschema-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "1c4e08cd3dc4353874aa52d2027b9f3c", "sha256": "e904b4f7eaf6f661d2331442fe8eae437b66dba957f33ce6bd935bdf6447a2cc" }, "downloads": -1, "filename": "alchemyjsonschema-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1c4e08cd3dc4353874aa52d2027b9f3c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18839, "upload_time": "2017-01-03T00:44:30", "url": "https://files.pythonhosted.org/packages/f2/85/270e691c46c277bd2d614c4b1fbeb115e3d193f06d2b07ce65947666ed10/alchemyjsonschema-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e44bb5299b332db74cbf61ec937a673b", "sha256": "212683ff4b7d310c7a83a21e9a54fb7630fc65c379513edb41c1b4fea1d47f95" }, "downloads": -1, "filename": "alchemyjsonschema-0.4.1.tar.gz", "has_sig": false, "md5_digest": "e44bb5299b332db74cbf61ec937a673b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13819, "upload_time": "2017-01-03T00:44:28", "url": "https://files.pythonhosted.org/packages/d3/3e/642545d1654b0c72db1805dafc294468f019a51f5aaa97b5990959f0490b/alchemyjsonschema-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "4fff829ebbcd4ba68ad652fbda5928de", "sha256": "9f14e212c514c020970ff991be8c29df683e99a60cac12535171c75e90eb13c9" }, "downloads": -1, "filename": "alchemyjsonschema-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fff829ebbcd4ba68ad652fbda5928de", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18939, "upload_time": "2017-01-03T01:03:56", "url": "https://files.pythonhosted.org/packages/1e/11/517df0c9702d246675267302373febc62af9e93f2c3f174201aa87edc494/alchemyjsonschema-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "311bdf391c76fdb8b5e8c6b98d1b4853", "sha256": "beb27419768a44965f32cf3a9ef6662befac23eb63a2642d28c383b7ad629689" }, "downloads": -1, "filename": "alchemyjsonschema-0.4.2.tar.gz", "has_sig": false, "md5_digest": "311bdf391c76fdb8b5e8c6b98d1b4853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13879, "upload_time": "2017-01-03T01:03:53", "url": "https://files.pythonhosted.org/packages/62/44/4e8eee3f760d9d600090958f0e41c4fa8111a1dfe99fd6a5d40da4934d84/alchemyjsonschema-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "2fa92beb5112020ab5603caafa5236e2", "sha256": "bf39635e093fd1bc4507afc2d419a5afed1a6b59b292c9c50d25f24b167e4306" }, "downloads": -1, "filename": "alchemyjsonschema-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2fa92beb5112020ab5603caafa5236e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21494, "upload_time": "2018-01-01T21:45:16", "url": "https://files.pythonhosted.org/packages/d1/78/d4a6fbf3c05b4a41c1a028679da80b1d9e7959f713f3c5de784fe203c75c/alchemyjsonschema-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "829a5501dae33c551a5aa64b8c5cbb79", "sha256": "dc8fbfbcfd86ab07b27cfdfede7d1145d9ce9edfa0ba626ab7be5fc7c8490282" }, "downloads": -1, "filename": "alchemyjsonschema-0.5.0.tar.gz", "has_sig": false, "md5_digest": "829a5501dae33c551a5aa64b8c5cbb79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14556, "upload_time": "2018-01-01T21:45:19", "url": "https://files.pythonhosted.org/packages/b8/30/86dba5a5c9cf55d20d03a921669eb223a17a05bb4d3564b48fdf39fd1c9b/alchemyjsonschema-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "6e0e90159b3b0228d9476e6f382aee9e", "sha256": "d5ccbbcaa7a5937677f878e74caf7f2587360c1ec467e531018226aa40396d16" }, "downloads": -1, "filename": "alchemyjsonschema-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e0e90159b3b0228d9476e6f382aee9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17897, "upload_time": "2019-08-16T18:42:18", "url": "https://files.pythonhosted.org/packages/11/e3/c0b6bad0cc277be81a9197a773a6984c753dd91f73b3f451e2f7992a7c0a/alchemyjsonschema-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cee3ae362e2c6afbca01e3e0e1bf54b", "sha256": "186171a737df3ea62877437ee20c53439c889595be3aa91b92e786fa3a8dff99" }, "downloads": -1, "filename": "alchemyjsonschema-0.6.0.tar.gz", "has_sig": false, "md5_digest": "3cee3ae362e2c6afbca01e3e0e1bf54b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16393, "upload_time": "2019-08-16T18:42:20", "url": "https://files.pythonhosted.org/packages/63/58/c47486c60414bf75baa247dffc5db4794db09b6756d97c963f723837ae2a/alchemyjsonschema-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e0e90159b3b0228d9476e6f382aee9e", "sha256": "d5ccbbcaa7a5937677f878e74caf7f2587360c1ec467e531018226aa40396d16" }, "downloads": -1, "filename": "alchemyjsonschema-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e0e90159b3b0228d9476e6f382aee9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17897, "upload_time": "2019-08-16T18:42:18", "url": "https://files.pythonhosted.org/packages/11/e3/c0b6bad0cc277be81a9197a773a6984c753dd91f73b3f451e2f7992a7c0a/alchemyjsonschema-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cee3ae362e2c6afbca01e3e0e1bf54b", "sha256": "186171a737df3ea62877437ee20c53439c889595be3aa91b92e786fa3a8dff99" }, "downloads": -1, "filename": "alchemyjsonschema-0.6.0.tar.gz", "has_sig": false, "md5_digest": "3cee3ae362e2c6afbca01e3e0e1bf54b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16393, "upload_time": "2019-08-16T18:42:20", "url": "https://files.pythonhosted.org/packages/63/58/c47486c60414bf75baa247dffc5db4794db09b6756d97c963f723837ae2a/alchemyjsonschema-0.6.0.tar.gz" } ] }