{ "info": { "author": "Martin Aspeli", "author_email": "optilude@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 5.0", "Framework :: Plone :: 5.1", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\nplone.supermodel provides XML import and export for schema interfaces based on\nzope.schema fields. The principal use cases are:\n\n 1. Define a schema interface in code based on an XML file. This can be done\n with syntax like::\n\n >>> from plone.supermodel import xmlSchema\n >>> IMySchema = xmlSchema(\"myschema.xml\")\n\n 2. Save and load interface definitions via an XML format. To turn a schema\n interface into XML, you can do::\n\n >>> from plone.supermodel import serializeSchema\n >>> xml_string = serializeSchema(IMySchema)\n\nTo get a schema from an XML file, you can use the xmlSchema() function above,\nor you can use the more powerful spec() function, which turns a dict of all\nschemata and widget hints in a given XML file.\n\nSee schema.txt and interfaces.py in the source code for more information,\nincluding details on how to give widget hints for forms and how to keep\nmultiple schemata in the same XML file.\n\nSupermodel vs. Userschema\n-------------------------\n\nThis package is quite similar to Tres Seaver's \"userschema\" library, which\ncan be found at http://agendaless.com/Members/tseaver/software/userschema.\n\nIn fact, plone.supermodel was originally based on userschema. However, as the\npackage was refined and refactored, less and less of userschema remained,\nto the point where we'd have needed to significantly refactor the latter to\nkeep using it.\n\nThe XML import/export code is currently based on algorithms that were written\nfor plone.app.portlets and plone.app.contentrules' GenericSetup handlers.\n\nSome of the key differences between the two packages are:\n\n - userschema can create schema interfaces from HTML forms and CSV\n spreadsheets. plone.supermodel does not support such configuration.\n\n - Schemata created with userschema are typically loaded at startup, with\n a ZCML directive. plone.supermodel supports a \"pseudo-base class\" syntax,\n as seen above, to define interfaces in Python code. Beyond that, its API\n is more geared towards runtime configuration.\n\n - plone.supermodel supports serialisation of schemata to XML.\n\n - The plone.supermodel XML syntax is more directly tied to zope.schema\n fields, and infers most parameters from the schema interface declared by\n each zope.schema field. This has two advantages:\n\n - API documentation for zope.schema can be easily applied to \n blocks\n - New fields and obscure attributes are easier to support\n\n - plone.supermodel's XML schema is intended to support more schema metadata,\n including widget hints.\n\nIn the future, it may be possible to make userschema re-use part of\nplone.supermodel or vice-a-versa, with more refactoring.\n\n\nChangelog\n=========\n\n1.4.0 (2018-09-28)\n------------------\n\nNew features:\n\n- Python 3 compatibility.\n [pbauer, davilima6, dhavlik, ale-rt]\n\n\n1.3.4 (2017-11-24)\n------------------\n\nBug fixes:\n\n- Python3 compatibility with sixer\n [ale-rt]\n\n\n1.3.3 (2017-06-04)\n------------------\n\nBug fixes:\n\n- Fixed typecasting of IChoice based on its vocabulary. #16\n [iham]\n\n\n1.3.2 (2017-02-05)\n------------------\n\nBug fixes:\n\n- Fix issue where supermodel XML choice field parser failed to parse vocabulary\n values with separate keys and display titles, because the parser expected\n values tag to not have any namespace.\n [datakurre]\n\n\n1.3.1 (2016-12-30)\n------------------\n\nBug fixes:\n\n- Test-Fix: Support latest zope.i18nmessageid.\n [jensens]\n\n\n1.3.0 (2016-06-07)\n------------------\n\nNew:\n\n- Python 2.6 and Plone 4.3 no longer officially supported. It might\n still work, but no special effort is made to keep this compatible.\n [maurits]\n\n- Support to define the order of fieldsets.\n [jensens]\n\nFixes:\n\n- Remove temporary fix regarding test failures on Zope 4, as it's already fixed.\n [thet]\n\n- Update setup.py url to point to github location.\n [esteele]\n\n- Unset _init_field flag on init completion.\n [metatoaster]\n\n\n1.2.7 (2016-02-12)\n------------------\n\nFixes:\n\n- Add temporary fix for a test failure within a Zope 4 environment.\n [pbauer]\n\n\n1.2.6 (2014-10-20)\n------------------\n\n- Code modernization: sorted imports, use decorators, utf8 headers.\n [jensens]\n\n- Add i18n serialization from schema value to XML model\n [datakurre]\n\n1.2.5 (2014-09-07)\n------------------\n\n- Support Choice fields with terms containing distinct title from value\n as option, while preserving backward-compatible round-trip for all\n Choice fields where title is not distinct from value.\n [seanupton]\n\n- Fix parsing of empty Choice term to u'', not None, which addresses a\n cause of https://github.com/plone/plone.app.dexterity/issues/49\n [seanupton]\n\n- Explicitly construct SimpleTerm instances for each Choice field\n element, instead of relying on zope.schema constructors to do so.\n This ensures that all terms have non-None title attributes.\n [seanupton]\n\n- Tests for ChoiceHandler serialization and parsing.\n [seanupton]\n\n\n1.2.4 (2014-01-27)\n------------------\n\n- Add invariant tag, a sub-element of schema, that accepts a dotted name as\n a value. Invariants must provide plone.supermodel.interface.IInvariant.\n [smcmahon]\n\n- Replace deprecated test assert statements.\n [timo]\n\n\n1.2.3 (2013-08-14)\n------------------\n\n- Add defaultFactory tag for Dexterity XML. Define an interface\n IDefaultFactory. defaultFactories specified via XML must implement it or\n IContextAwareDefaultFactory.\n [smcmahon]\n\n\n1.2.2 (2013-05-23)\n------------------\n\n- Avoid trying to process XML comments within field values.\n [davisagli]\n\n\n1.2.1 (2013-01-01)\n------------------\n\n- Allow XML comments in field definitions.\n [gweis]\n\n1.2.0 (2012-10-17)\n------------------\n\n- Nothing changed yet.\n\n\n1.1.2 (2012-08-29)\n------------------\n\n- Use lxml instead of elementtree.\n [davisagli]\n\n- Avoid a test dependency on zope.app.testing.\n [davisagli]\n\n\n1.1.1 (2012-04-15)\n------------------\n\n- Fix a packaging error.\n [esteele]\n\n1.1 (2012-04-15)\n----------------\n\n- Support i18n:domain and i18n:translate for internationalization.\n [davisagli]\n\n- When an error is encountered while parsing a supermodel, the exception\n now provides the filename, line number, and source of the part of the\n model that was being processed. Inclusion of the line number and source\n requires lxml.\n [davisagli]\n\n- Add model.Schema and directives to avoid grok dependency.\n [elro]\n\n1.0.4 - 2012-02-20\n------------------\n\n- When syncing to a schema that inherits fields from a base, include fields\n with the same names as the inherited fields even when overwrite is False.\n This fixes http://code.google.com/p/dexterity/issues/detail?id=253\n [davisagli]\n\n1.0.3 - 2011-05-20\n------------------\n\n- Relicense under BSD license.\n See http://plone.org/foundation/materials/foundation-resolutions/plone-framework-components-relicensing-policy\n [davisagli]\n\n1.0.2 - 2011-05-02\n------------------\n\n- Only convert Choice field ``values`` attribute into a vocabulary when it is\n necessary to handle unicode values. This fixes a regression in compatibility\n with plone.registry.\n [davisagli]\n\n1.0.1 - 2011-04-30\n------------------\n\n- Adjust manifest to exclude .pyc files.\n [davisagli]\n\n1.0 - 2011-04-30\n----------------\n\n- Handle serializing tokenized vocabularies with unicode values as long as the\n terms' tokens are equal to the utf8-encoded values.\n [davisagli]\n\n\n1.0b8 - 2011-03-18\n------------------\n\n- Add MANIFEST.in.\n [WouterVH]\n\n- Field names should be strings, not unicode.\n [elro]\n\n\n1.0b7 - 2011-03-03\n------------------\n\n- Support serialization of nested dicts/lists.\n [elro]\n\n\n1.0b6 - 2011-01-04\n------------------\n\n- Declare zope.app.testing as a test dependency for Zope 2.13 compatibility.\n [esteele]\n\n- Fix namespace bug which could prevent loading Dict and Collection elements.\n [davisagli]\n\n\n1.0b5 - 2010-04-19\n------------------\n\n- Added support for zope.schema.Decimal fields.\n [optilude]\n\n\n1.0b4 - 2009-11-17\n------------------\n\n- Ignored vocabularyName property when writing Choice fields. The constructor\n still uses they 'vocabulary' key in an overloaded capacity. We only support\n 'vocabulary' with a named vocabulary, or 'values' with a list of values.\n This fixes test failures on Zope 2.12 / zope.schema 3.5.4.\n [optilude]\n\n\n1.0b3 - 2009-09-28\n------------------\n\n- Add support for synchronising marker interfaces found on source fields\n to syncSchema().\n [optilude]\n\n\n1.0b2 - 2009-07-12\n------------------\n\n- Changed API methods and arguments to mixedCase to be more consistent with\n the rest of Zope. This is a non-backwards-compatible change. Our profuse\n apologies, but it's now or never. :-/\n\n If you find that you get import errors or unknown keyword arguments in your\n code, please change names from foo_bar too fooBar, e.g. load_file() becomes\n loadFile().\n [optilude]\n\n- No longer include name kwarg to Field constructor if no name was set\n [MatthewWilkes]\n\n\n1.0b1 - 2009-04-17\n------------------\n\n- Initial release\n\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/plone/plone.supermodel", "keywords": "Plone XML schema", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "plone.supermodel", "package_url": "https://pypi.org/project/plone.supermodel/", "platform": "", "project_url": "https://pypi.org/project/plone.supermodel/", "project_urls": { "Homepage": "https://github.com/plone/plone.supermodel" }, "release_url": "https://pypi.org/project/plone.supermodel/1.4.0/", "requires_dist": [ "setuptools", "six", "lxml", "zope.component", "zope.i18nmessageid", "zope.interface", "zope.schema (>=4.1.0)", "zope.deferredimport", "zope.dottedname", "z3c.zcmlhook", "plone.rfc822; extra == 'plone.rfc822'", "plone.rfc822; extra == 'test'" ], "requires_python": "", "summary": "Serialize Zope schema definitions to and from XML", "version": "1.4.0" }, "last_serial": 4321219, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "bd1c52a451123a1d422e91889ea59d93", "sha256": "421dfc7a2216efca9358fcfb75f412bd241716771954024398b4d85a9b8c2786" }, "downloads": -1, "filename": "plone.supermodel-1.0.zip", "has_sig": false, "md5_digest": "bd1c52a451123a1d422e91889ea59d93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68056, "upload_time": "2011-04-30T20:03:14", "url": "https://files.pythonhosted.org/packages/72/82/508fd45217d2cb36dd16294cf2019cfc223c732315c4ec4416a869defa58/plone.supermodel-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "06d277b3bf405a90ce41fad7d83bb01a", "sha256": "64ad2e422a578da54abe01d97f883479266929faa1fef8ba8cbaf97d0b96a59d" }, "downloads": -1, "filename": "plone.supermodel-1.0.1.zip", "has_sig": false, "md5_digest": "06d277b3bf405a90ce41fad7d83bb01a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43173, "upload_time": "2011-04-30T20:07:08", "url": "https://files.pythonhosted.org/packages/47/a1/663450a46cfb0e4dca2de9e22022594c0a09a1566b9dc01314a05a9bfa65/plone.supermodel-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "cc17128508e6d0f99601104d19770b13", "sha256": "4e2fd6cbab6c09f1225256d5bd5429b60e88e9d7905a62a3744fdb1bc72a687d" }, "downloads": -1, "filename": "plone.supermodel-1.0.2.zip", "has_sig": false, "md5_digest": "cc17128508e6d0f99601104d19770b13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43465, "upload_time": "2011-05-03T04:09:55", "url": "https://files.pythonhosted.org/packages/3e/89/bfc6288f6a715dbfcc1cdedcceb18f4acc2742b13cde759992b279f9f82c/plone.supermodel-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "190b0da850bf59a618b56c9fe29efe7d", "sha256": "97f04b162268af76c3cfa93cd96697b190f6977a01118cfbb62bf0279078dea7" }, "downloads": -1, "filename": "plone.supermodel-1.0.3.zip", "has_sig": false, "md5_digest": "190b0da850bf59a618b56c9fe29efe7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39166, "upload_time": "2011-05-20T19:06:55", "url": "https://files.pythonhosted.org/packages/d2/30/7a237ef17abbfc7708c7d3b69c52b1ebe6505740f0862e5df2a8b785a243/plone.supermodel-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "1bc420c9140a2d805448024c2022beaf", "sha256": "de0ceb475f9f0caaac7458454fbb7b9c73f7393d9ce236870f53811b7645e26b" }, "downloads": -1, "filename": "plone.supermodel-1.0.4.zip", "has_sig": false, "md5_digest": "1bc420c9140a2d805448024c2022beaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39526, "upload_time": "2012-02-23T01:17:32", "url": "https://files.pythonhosted.org/packages/ea/2a/630912001cbe8486e693503947b19b15964e3e2007ab3f5b0d2a8a5f7f6b/plone.supermodel-1.0.4.zip" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "457af8cdacd69f387477dc3852d9f6bc", "sha256": "52ea0ebe3aa0041f32cd95f14bd1ac185aa0ba0b7f2f6393a9b762ed9b4af670" }, "downloads": -1, "filename": "plone.supermodel-1.0b1.tar.gz", "has_sig": false, "md5_digest": "457af8cdacd69f387477dc3852d9f6bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29834, "upload_time": "2009-04-17T05:56:26", "url": "https://files.pythonhosted.org/packages/9b/41/fd18eb8f10d07cf992b891c6363efe972bffc56ca54028531cb49b1b77bc/plone.supermodel-1.0b1.tar.gz" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "ba4524970dce0bafdb870230375f4e3d", "sha256": "c7e0a778d9573816ad872f30746e4c7cb9fa951c10a3bb6a26052fb07f50fc30" }, "downloads": -1, "filename": "plone.supermodel-1.0b2.tar.gz", "has_sig": false, "md5_digest": "ba4524970dce0bafdb870230375f4e3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30412, "upload_time": "2009-07-12T10:16:58", "url": "https://files.pythonhosted.org/packages/4f/d7/b658eff14c00ceaa1ce5d5aad79d3e3aaceab5ae502bc688b125942e016c/plone.supermodel-1.0b2.tar.gz" } ], "1.0b3": [ { "comment_text": "", "digests": { "md5": "260eafc3d562ca71de431bd113cbca00", "sha256": "102a2847323e81a6c390c351e975a7bb87d94a45b11e4a262e7250344020b6fd" }, "downloads": -1, "filename": "plone.supermodel-1.0b3.tar.gz", "has_sig": false, "md5_digest": "260eafc3d562ca71de431bd113cbca00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29421, "upload_time": "2009-09-29T15:49:17", "url": "https://files.pythonhosted.org/packages/d9/13/164c2e0be3e96af354640d77fa75b98d5d08848611b85b7c9e96d2ce5a5b/plone.supermodel-1.0b3.tar.gz" } ], "1.0b4": [ { "comment_text": "", "digests": { "md5": "fe6886c416d80d1b8a23738516dbc775", "sha256": "76d7d2defe76093ee362c7ed6308a46878c01cae3649b5fe72684adc453a291e" }, "downloads": -1, "filename": "plone.supermodel-1.0b4.tar.gz", "has_sig": false, "md5_digest": "fe6886c416d80d1b8a23738516dbc775", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29717, "upload_time": "2009-11-17T15:12:45", "url": "https://files.pythonhosted.org/packages/a9/08/519b90d41bc6c8fdb803b4fc1c5403bbb10970b614a680345db3cf05165f/plone.supermodel-1.0b4.tar.gz" } ], "1.0b5": [ { "comment_text": "", "digests": { "md5": "259e09984fb104cfffc5c35ae8347db0", "sha256": "4726c7b2d9b95c5e115096875dcacf925f810aa7bc96f030efc862de52237a3a" }, "downloads": -1, "filename": "plone.supermodel-1.0b5.zip", "has_sig": true, "md5_digest": "259e09984fb104cfffc5c35ae8347db0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41179, "upload_time": "2010-04-20T07:59:25", "url": "https://files.pythonhosted.org/packages/32/6f/a538a1bda97623a3034ed10c872b007541f0ba977e64e3587c61b18867eb/plone.supermodel-1.0b5.zip" } ], "1.0b6": [ { "comment_text": "", "digests": { "md5": "8bc55948a51724b28c976de4bff72f61", "sha256": "86be5304fc9b13ebf6319abaa318dbbdf51f235202b46a0a946a0827570376b3" }, "downloads": -1, "filename": "plone.supermodel-1.0b6.zip", "has_sig": false, "md5_digest": "8bc55948a51724b28c976de4bff72f61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41748, "upload_time": "2011-01-04T17:30:08", "url": "https://files.pythonhosted.org/packages/ad/3d/e732692c2ad9b23f1d9b479980cbf7ce0cfa58b4cb2d046068edb285ec1e/plone.supermodel-1.0b6.zip" } ], "1.0b7": [ { "comment_text": "", "digests": { "md5": "50bb3ab1990bb1372542dd593459e8ce", "sha256": "939b31c6a92375ea40f166268e66cc97bf7d0fb2f487aca902f2d8a860607f7b" }, "downloads": -1, "filename": "plone.supermodel-1.0b7.zip", "has_sig": false, "md5_digest": "50bb3ab1990bb1372542dd593459e8ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42335, "upload_time": "2011-03-03T20:20:07", "url": "https://files.pythonhosted.org/packages/d6/90/c66c7d8f7e4bf6e791c4b2576683932f3baaf0cd842f01706bd9f9999993/plone.supermodel-1.0b7.zip" } ], "1.0b8": [ { "comment_text": "", "digests": { "md5": "f743abcb9a45ce934f4287a52aa8c8cc", "sha256": "81ca04490f5422a154d286270fb49e3451743fc3ba1779f44080a36476258e2d" }, "downloads": -1, "filename": "plone.supermodel-1.0b8.zip", "has_sig": false, "md5_digest": "f743abcb9a45ce934f4287a52aa8c8cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42504, "upload_time": "2011-03-18T19:58:55", "url": "https://files.pythonhosted.org/packages/66/4d/cfa4f47c8630f7b0438357b99b1b0e8717ad5f8165a22576c99c3d59907e/plone.supermodel-1.0b8.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "efa4d8666abb6633d156733d5734aef4", "sha256": "45cc7b063ef0bd789d3ef6a2f63cbc83c66700e77f8e02a74265ea62db17c807" }, "downloads": -1, "filename": "plone.supermodel-1.1.zip", "has_sig": false, "md5_digest": "efa4d8666abb6633d156733d5734aef4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34373, "upload_time": "2012-04-15T20:00:10", "url": "https://files.pythonhosted.org/packages/b1/09/0933520e607cbd8b41f541f902e271ff6215b7bd3bb9e455331bebb29e15/plone.supermodel-1.1.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "301bf89f7e75d372d9175c0b76ac752b", "sha256": "44c274f6e433d985856a73efc4e4fed9e8fc42bb0a5cb809d12421ac64eadfa4" }, "downloads": -1, "filename": "plone.supermodel-1.1.1.zip", "has_sig": false, "md5_digest": "301bf89f7e75d372d9175c0b76ac752b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47941, "upload_time": "2012-04-15T23:56:45", "url": "https://files.pythonhosted.org/packages/c2/af/5d347656f6c562237b0f5912d867aad60270b44f009e1508835694a564a2/plone.supermodel-1.1.1.zip" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "a0a2c268d0f3968954b419ddd57759e1", "sha256": "66027421cef4214ed3d09fd093ac537a9ce9ae93ac31bd33743f81ff8ff505b9" }, "downloads": -1, "filename": "plone.supermodel-1.1.2.zip", "has_sig": false, "md5_digest": "a0a2c268d0f3968954b419ddd57759e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47770, "upload_time": "2012-08-30T01:13:58", "url": "https://files.pythonhosted.org/packages/c4/bc/bfb618c96ceff510c8677fa0cbd2887e96a19a795e2e941885bb1a9d7790/plone.supermodel-1.1.2.zip" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "80078c5cc2b212a9e73ea9efbc6ff697", "sha256": "43315beec85513a31b8380ad197bbfed5d8f82170be99d5fd6fc8a9ce36769f3" }, "downloads": -1, "filename": "plone.supermodel-1.1.3.zip", "has_sig": false, "md5_digest": "80078c5cc2b212a9e73ea9efbc6ff697", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48174, "upload_time": "2012-10-16T10:03:50", "url": "https://files.pythonhosted.org/packages/5b/04/5329b87744fd3522877541b24f30b55d5d380e7db27cdda78d02e910f739/plone.supermodel-1.1.3.zip" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "00b3d723bb1a48116fe3bf8754f17085", "sha256": "72f599ad940782306d4f6f07bf34b7bd8491ed0de4904bdc78f06c1e14b36183" }, "downloads": -1, "filename": "plone.supermodel-1.1.4.zip", "has_sig": false, "md5_digest": "00b3d723bb1a48116fe3bf8754f17085", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48357, "upload_time": "2012-12-10T02:05:55", "url": "https://files.pythonhosted.org/packages/9f/6a/52f2c3695a3145edb21ef32a4ee1cab0bb0b5edceb2ba18043b34a2ae696/plone.supermodel-1.1.4.zip" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c933b9cbae784dfc14a7cfc3f080cf4e", "sha256": "6f4f0faf99a3e2cd76cdc3fa08fc0c03b6d699b823a3423109964b80ed3d490e" }, "downloads": -1, "filename": "plone.supermodel-1.2.0.zip", "has_sig": false, "md5_digest": "c933b9cbae784dfc14a7cfc3f080cf4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47845, "upload_time": "2012-10-17T12:03:33", "url": "https://files.pythonhosted.org/packages/1e/78/c8c61fabc4c175a1ab49c74bc04939ad83d2acccd47c58d4a73998eecbb5/plone.supermodel-1.2.0.zip" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "b60d1553b297d41d9e2181afe15da4f4", "sha256": "2314b40538360bedfa9a55ce2ee49fd624c61d457329023ca93645d4f6f92dcd" }, "downloads": -1, "filename": "plone.supermodel-1.2.1.zip", "has_sig": false, "md5_digest": "b60d1553b297d41d9e2181afe15da4f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48012, "upload_time": "2013-01-02T01:26:20", "url": "https://files.pythonhosted.org/packages/87/2d/42bf8a7add8dff2e3b9c2331f358a9281210ecb977d4b03107e84fc3f3f5/plone.supermodel-1.2.1.zip" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "6e829dc362d6ff8e3c7696277e11e322", "sha256": "7894b86be22bdc09323f86ea569b3b214d29a1563a3684a811e046abc58429fc" }, "downloads": -1, "filename": "plone.supermodel-1.2.2.zip", "has_sig": false, "md5_digest": "6e829dc362d6ff8e3c7696277e11e322", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48314, "upload_time": "2013-05-24T02:22:14", "url": "https://files.pythonhosted.org/packages/a4/d8/fb9afeba87d3212c471a80082884d658d0d14f86fac4073f610c15ac89f1/plone.supermodel-1.2.2.zip" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "34610edccd7f93409b95a6b9ecd3da9e", "sha256": "81083518d3ca79f3612d56045efc3e09b260f315b75067f19aa165fb57ac3bfc" }, "downloads": -1, "filename": "plone.supermodel-1.2.3.zip", "has_sig": false, "md5_digest": "34610edccd7f93409b95a6b9ecd3da9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49338, "upload_time": "2013-08-13T22:23:59", "url": "https://files.pythonhosted.org/packages/cc/0c/5955d248291021343a2eb5c7b3580dc6509c302d21e0d1f062032d76e322/plone.supermodel-1.2.3.zip" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "f07134bc7ff1ab30735a61bc6f7d4c47", "sha256": "c30c8fffaec219f2a0cfda38cb3fd542935bae0dff783791a47f3bbc167f0127" }, "downloads": -1, "filename": "plone.supermodel-1.2.4.zip", "has_sig": false, "md5_digest": "f07134bc7ff1ab30735a61bc6f7d4c47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49447, "upload_time": "2014-01-28T01:56:51", "url": "https://files.pythonhosted.org/packages/4f/4e/c4d800aca8d18d8f1b10ccb16b73011dd9cc8273d038609355491086525c/plone.supermodel-1.2.4.zip" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "97d5c3e69e4ed41004f417a24a7ebe23", "sha256": "6cad522a052dd68f87ff358e078b5d3aff089f7f25dbb4df79217aee67dc7172" }, "downloads": -1, "filename": "plone.supermodel-1.2.5.zip", "has_sig": false, "md5_digest": "97d5c3e69e4ed41004f417a24a7ebe23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52161, "upload_time": "2014-09-07T15:55:39", "url": "https://files.pythonhosted.org/packages/dd/61/91f6d96f1fa3a1df1903f205a78f16c341472711da8b96c3288728cb54cb/plone.supermodel-1.2.5.zip" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "e4b767cd909b22d300efba4c05845882", "sha256": "48318ab71e76ddc777d4b1e2df1d571fd5eea7e2d7681b4e6e37c6ee7e7e198b" }, "downloads": -1, "filename": "plone.supermodel-1.2.6.zip", "has_sig": false, "md5_digest": "e4b767cd909b22d300efba4c05845882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53086, "upload_time": "2014-10-20T18:30:30", "url": "https://files.pythonhosted.org/packages/ad/be/34612bc8381008d895e16f8d03aed2283f59a3d32ead5553da9730071ca9/plone.supermodel-1.2.6.zip" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "c9613027c66ba60e22547090fac2f1b3", "sha256": "ba9f10a30b0fc59246db6ecb2f4c0780504eee11c8476ea362d93edf3916f5f7" }, "downloads": -1, "filename": "plone.supermodel-1.2.7.tar.gz", "has_sig": false, "md5_digest": "c9613027c66ba60e22547090fac2f1b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40626, "upload_time": "2016-02-12T18:22:45", "url": "https://files.pythonhosted.org/packages/e0/49/767b7ed11b98a758fd863653c62cf03b77310fc4f647e5ba152bf60793b9/plone.supermodel-1.2.7.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "432d31435401da67b33f57c0c3e33927", "sha256": "5dee33bf931f9ce64cec1051e7290803352a12624c5c1f90afa937bb3e5b7798" }, "downloads": -1, "filename": "plone.supermodel-1.3.0.tar.gz", "has_sig": false, "md5_digest": "432d31435401da67b33f57c0c3e33927", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41375, "upload_time": "2016-06-07T18:19:43", "url": "https://files.pythonhosted.org/packages/ca/ba/56fc8adfff26bb3957f97eef93cfc994a8c97353116e9f9bb513de20c0fe/plone.supermodel-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "4ebed1b198dca2774247894001160744", "sha256": "37495eb51b996c83cee8f182490f621cec44c264fc04030676f07eb4074c29a2" }, "downloads": -1, "filename": "plone.supermodel-1.3.1.tar.gz", "has_sig": false, "md5_digest": "4ebed1b198dca2774247894001160744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41484, "upload_time": "2016-12-30T17:18:32", "url": "https://files.pythonhosted.org/packages/03/44/2a8bdc163248c1fac62dbe20375a04dd16eacf2edcc02278e95c110c3ff9/plone.supermodel-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "fdaf85b42687053ab5546221c315d751", "sha256": "9c4b43958afbebdf8465994b1a28cfc13aaea05506e71982979c3a8521d8e2c2" }, "downloads": -1, "filename": "plone.supermodel-1.3.2.tar.gz", "has_sig": false, "md5_digest": "fdaf85b42687053ab5546221c315d751", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41601, "upload_time": "2017-02-05T19:18:00", "url": "https://files.pythonhosted.org/packages/0f/8a/1e0c84e47d25451796f7e5899686d3542d53711c593f6c57cbf61fdf067f/plone.supermodel-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "77d45d4324104423205ba891545f9a6d", "sha256": "b7adb4603d2b0f56cf60949d09039a7964602bc83e6d8fac3a6d79212b645cc1" }, "downloads": -1, "filename": "plone.supermodel-1.3.3.tar.gz", "has_sig": false, "md5_digest": "77d45d4324104423205ba891545f9a6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41801, "upload_time": "2017-06-04T15:14:28", "url": "https://files.pythonhosted.org/packages/64/33/d91b22b114598906f9d588a25c69bf2f5442af33a33a5bbbe68d79fb7efc/plone.supermodel-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "35835600eb4daa87237dc2da35497a0d", "sha256": "f405680d0f3b0227b272f55a5748cd652db0cdf327e896262cb4cdecd66c9309" }, "downloads": -1, "filename": "plone.supermodel-1.3.4.tar.gz", "has_sig": false, "md5_digest": "35835600eb4daa87237dc2da35497a0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41308, "upload_time": "2017-11-25T01:49:41", "url": "https://files.pythonhosted.org/packages/d3/34/c8cd77f4cc2c1ca036463d9b8e7b6b859cadeee7366aa8534482a226a93f/plone.supermodel-1.3.4.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "190d079a8cd0458094ecec34e7beefad", "sha256": "b200d751564b8f6d4bb5016a6d9a626cd5a9a4aebff668dcee077d53baba17ef" }, "downloads": -1, "filename": "plone.supermodel-1.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "190d079a8cd0458094ecec34e7beefad", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 44601, "upload_time": "2018-09-28T20:33:13", "url": "https://files.pythonhosted.org/packages/89/57/a65a9d4e55217681a26de997192a001241f3bac72268d7333ba9175954ae/plone.supermodel-1.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e54bc3c0a5a29ae2484775c76a79c511", "sha256": "bac635d8807e971f65c15a729822b075164498329c1210ffd941ee3269ae11f0" }, "downloads": -1, "filename": "plone.supermodel-1.4.0.tar.gz", "has_sig": false, "md5_digest": "e54bc3c0a5a29ae2484775c76a79c511", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42485, "upload_time": "2018-09-28T20:33:14", "url": "https://files.pythonhosted.org/packages/f2/c4/0f2cc2ccf3babe62b1f2bdee4e4a80cefd79cc065745263d5e7b0c7a4f4e/plone.supermodel-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "190d079a8cd0458094ecec34e7beefad", "sha256": "b200d751564b8f6d4bb5016a6d9a626cd5a9a4aebff668dcee077d53baba17ef" }, "downloads": -1, "filename": "plone.supermodel-1.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "190d079a8cd0458094ecec34e7beefad", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 44601, "upload_time": "2018-09-28T20:33:13", "url": "https://files.pythonhosted.org/packages/89/57/a65a9d4e55217681a26de997192a001241f3bac72268d7333ba9175954ae/plone.supermodel-1.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e54bc3c0a5a29ae2484775c76a79c511", "sha256": "bac635d8807e971f65c15a729822b075164498329c1210ffd941ee3269ae11f0" }, "downloads": -1, "filename": "plone.supermodel-1.4.0.tar.gz", "has_sig": false, "md5_digest": "e54bc3c0a5a29ae2484775c76a79c511", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42485, "upload_time": "2018-09-28T20:33:14", "url": "https://files.pythonhosted.org/packages/f2/c4/0f2cc2ccf3babe62b1f2bdee4e4a80cefd79cc065745263d5e7b0c7a4f4e/plone.supermodel-1.4.0.tar.gz" } ] }