{
"info": {
"author": "Chris McDonough, Agendaless Consulting",
"author_email": "pylons-discuss@googlegroups.com",
"bugtrack_url": null,
"classifiers": [
"Intended Audience :: Developers",
"License :: Repoze Public License",
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy"
],
"description": "Deform\n======\n\n.. image:: https://travis-ci.org/Pylons/deform.png?branch=master\n :target: https://travis-ci.org/Pylons/deform\n\n.. image:: https://readthedocs.org/projects/deform/badge/?version=master\n :target: http://docs.pylonsproject.org/projects/deform/en/master/\n :alt: Master Documentation Status\n\n.. image:: https://readthedocs.org/projects/deform/badge/?version=latest\n :target: http://docs.pylonsproject.org/projects/deform/en/latest/\n :alt: Latest Documentation Status\n\n.. contents:: :local:\n\n\nIntroduction\n------------\n\nDeform is a Python form library for generating HTML forms on the server side.\n`Date and time picking widgets `_,\n`rich text editors `_, `forms with\ndynamically added and removed items\n `_ and a few other `complex\nuse cases `_ are supported out of the box.\n\nDeform integrates with the `Pyramid web framework `_\nand several other web frameworks. Deform comes with `Chameleon templates\n `_ and `Bootstrap 3\n `_ styling. Under the hood, `Colander schemas\n`_ are used for serialization and\nvalidation. The `Peppercorn `_ library\nmaps HTTP form submissions to nested structure.\n\nAlthough Deform uses Chameleon templates internally, you can embed rendered\nDeform forms into any template language.\n\nUse cases\n---------\n\nDeform is ideal for complex server-side generated forms. Potential use cases\ninclude:\n\n* Complex data entry forms\n\n* Administrative interfaces\n\n* Python based websites with high amount of data manipulation forms\n\n* Websites where additional front end framework is not needed\n\nInstallation\n------------\n\nInstall using `pip and Python package installation best practices `_::\n\n pip install deform\n\nExample\n-------\n\n`See all widget examples `_. Below is a sample\nform loop using the `Pyramid `_ web framework.\n\n.. image:: https://github.com/Pylons/deform/raw/master/docs/example.png\n :width: 400px\n\nExample code:\n\n.. code-block:: python\n\n \"\"\"Self-contained Deform demo example.\"\"\"\n from __future__ import print_function\n\n from pyramid.config import Configurator\n from pyramid.session import UnencryptedCookieSessionFactoryConfig\n from pyramid.httpexceptions import HTTPFound\n\n import colander\n import deform\n\n\n class ExampleSchema(deform.schema.CSRFSchema):\n\n name = colander.SchemaNode(\n colander.String(),\n title=\"Name\")\n\n age = colander.SchemaNode(\n colander.Int(),\n default=18,\n title=\"Age\",\n description=\"Your age in years\")\n\n\n def mini_example(request):\n \"\"\"Sample Deform form with validation.\"\"\"\n\n schema = ExampleSchema().bind(request=request)\n\n # Create a styled button with some extra Bootstrap 3 CSS classes\n process_btn = deform.form.Button(name='process', title=\"Process\")\n form = deform.form.Form(schema, buttons=(process_btn,))\n\n # User submitted this form\n if request.method == \"POST\":\n if 'process' in request.POST:\n\n try:\n appstruct = form.validate(request.POST.items())\n\n # Save form data from appstruct\n print(\"Your name:\", appstruct[\"name\"])\n print(\"Your age:\", appstruct[\"age\"])\n\n # Thank user and take him/her to the next page\n request.session.flash('Thank you for the submission.')\n\n # Redirect to the page shows after succesful form submission\n return HTTPFound(\"/\")\n\n except deform.exception.ValidationFailure as e:\n # Render a form version where errors are visible next to the fields,\n # and the submitted values are posted back\n rendered_form = e.render()\n else:\n # Render a form with initial default values\n rendered_form = form.render()\n\n return {\n # This is just rendered HTML in a string\n # and can be embedded in any template language\n \"rendered_form\": rendered_form,\n }\n\n\n def main(global_config, **settings):\n \"\"\"pserve entry point\"\"\"\n session_factory = UnencryptedCookieSessionFactoryConfig('seekrit!')\n config = Configurator(settings=settings, session_factory=session_factory)\n config.include('pyramid_chameleon')\n deform.renderer.configure_zpt_renderer()\n config.add_static_view('static_deform', 'deform:static')\n config.add_route('mini_example', path='/')\n config.add_view(mini_example, route_name=\"mini_example\", renderer=\"templates/mini.pt\")\n return config.make_wsgi_app()\n\nThis example is in `deformdemo repository `_. Run the example with pserve::\n\n pserve mini.ini --reload\n\nStatus\n------\n\nThis library is actively developed and maintained. Deform 2.x branch has been used in production on several sites since 2014. Automatic test suite has 100% Python code coverage and 500+ tests.\n\nProjects using Deform\n---------------------\n\n* `Websauna `_\n\n* `Kotti `_\n\n* `Substance D `_\n\nCommunity and links\n-------------------\n\n* `Widget examples `_\n\n* `PyPi `_\n\n* `Issue tracker `_\n\n* `Widget examples repo `_\n\n* `Documentation `_\n\n* `Support `_\n\n\n2.0.8 (2019-10-07)\n------------------\n\n- Add HTML5 attributes to buttons.\n See https://github.com/Pylons/deform/pull/390\n\n\n2.0.7 (2018-11-14)\n------------------\n\n- Add `tags` option support to `Select2Widget`\n See https://github.com/Pylons/deform/pull/373\n\n- Change Python 3.7 to use stable version, 3.8-dev as allowed failure, in\n Travis.\n See https://github.com/Pylons/deform/pull/377\n\n- Update Bootstrap to 3.3.7.\n\n- Add support for HTML5 attributes (e.g. including placeholder and maxlength)\n See https://github.com/Pylons/deform/pull/345\n\n2.0.6 (2018-08-29)\n------------------\n\n- Drop Python 3.3 support.\n See https://github.com/Pylons/deform/pull/371\n\n- Add support to Python 3.7.\n\n- Make date_submit and time_submit optional in DateTimeInputWidget\n See https://github.com/Pylons/deform/pull/369\n\n- Remove pinning of iso8601 to 0.1.11\n See https://github.com/Pylons/deform/pull/364\n\n- i18n cleanup https://github.com/Pylons/deform/pull/367 and https://github.com/Pylons/deform/pull/368\n\n2.0.5 (2018-02-20)\n------------------\n\n- i18n cleanup https://github.com/Pylons/deform/pull/332 and https://github.com/Pylons/deform/pull/363\n\n- Fix bug in ``_FieldStorage`` under Python 3.x (issues #339 and #357).\n\n- Declare Python 3.6 compatibility and enable tests against Python 3.6 (all tests pass with no changes).\n\n- Closes #333: MANIFEST.in including docs, licenses and text files.\n\n- Add ``link`` button type See https://github.com/Pylons/deform/issues/166\n\n- Add traditional chinese localization\n\n2.0.4 (2017-02-11)\n------------------\n\n- Added ability to pass a translator function to `deform.renderer.configure_zpt_renderer`\n\n\n2.0.3 (2016-11-19)\n------------------\n\n- Added accordions to MappingWidget: http://deformdemo.repoze.org/mapping_accordion/\n\n- Added CSS class ``deform-form-buttons`` to style form button group: https://github.com/Pylons/deform/pull/308\n\n- Add more options to ``TextAreaCSVWidget``: https://github.com/Pylons/deform/pull/309\n\n- Always render an item with a default CSS class: https://github.com/Pylons/deform/pull/306\n\n- Updated pickdate.js library used for the date picker: https://github.com/Pylons/deform/pull/248\n\n- Widget Selenium test suite runs both under Python 2 and 3. Lots of Selenium testing headache fixed with some implicit wait support.\n\n.. note ::\n\n Currently Python 3 file upload widget may have compatibility issues Please see deformdemo/test.py for details.\n\n2.0.2 (2016-11-14)\n------------------\n\n- Fix regression of ```` widget default values not honoured\n\n- Updated Select2 widget JavaScript\n\n2.0.1 (2016-10-25)\n------------------\n\n- Drop support for Python 2.6.\n\n- Documentation reorganization and clean up to conform with Pylons Project\n projects.\n\n- Fix select and select2 widget templates failing on Python 3.x\n\n2.0 (2016-10-23)\n----------------\n\n- Release polish\n\n\n2.0b3 (2016-10-22)\n------------------\n\n- Update demos and add standalone mini example\n\n2.0b2 (2016-10-22)\n------------------\n\n- Fix README on PyPi\n\n2.0b1 (2016-10-22)\n------------------\n\n- Updated bootstrap to 3.3.6.\n\n- Fix dateparts.pt and datetimeinput.pt for changes in bootstrap v3.0.3.\n (The culprit is boostrap commit\n `853b69f `_.)\n\n- Make ``dateinput`` work again by using the fixed name \"date\" as expected\n by the pstruct schema. See https://github.com/Pylons/deform/pull/221.\n\n- Changed ``ISO8601_REGEX`` import to match change in colander\n\n- Add support for Python 3.4, PyPy3.\n\n- Raise ``Invalid`` rather than other errors when deserializing broken\n or malicious pstructs with invalid types. See\n https://github.com/Pylons/deform/pull/203\n\n- Read a time widget.\n\n- Fix a bug in the DateInputWidget. See\n https://github.com/Pylons/deform/pull/192.\n\n- Ensured that ``None`` would not show up as a css class name in rendered\n template output. See https://github.com/Pylons/deform/pull/191\n\n we now use dashed-names (e.g. ``deform-seq``). A full list of changes is\n below::\n\n Old New\n\n deformClosebutton deform-closebutton\n deformFileupload deform-file-upload\n deformFormFieldset deform-form-fieldset\n deformInsertBefore deform-insert-before\n deformOrderbutton deform-orderbutton\n deformProto deform-proto\n deformReplaces deform-replaces\n deformSeq deform-seq\n deformSeqAdd deform-seq-add\n deformSeqContainer deform-seq-container\n deformSeqItem deform-seq-item\n deformSet-item deform-set-item\n errorMsg error-msg\n errorMsgLbl error-msg-lbl\n\n- Fixed handling of buttons in nested sequences.\n See https://github.com/Pylons/deform/issues/197\n\n- Upload widget is themed like Bootstrap https://github.com/Pylons/deform/pull/280\n\n- Select widget handles the mixture of strings and ints https://github.com/Pylons/deform/pull/300/ and https://github.com/Pylons/deform/pull/299\n\n- Have the button css_class override the default button class. This is\n backwards-incompatible and will require users of css_class to add a\n btn-default/btn-primary class to the css_class.\n\n- Simplified Chinese translation https://github.com/Pylons/deform/pull/274\n\n- Don't cause unnecessary JavaScript calls on page load https://github.com/Pylons/deform/pull/267/\n\n- Allow override Button Bootstap CSS styles https://github.com/Pylons/deform/pull/251\n\n2.0a2 (2013-10-18)\n------------------\n\n- ``PasswordWidget`` and ``CheckedPasswordWidget`` have grown an additional\n argument/attribute named ``redisplay``, which controls what happens on a\n validation failure of a form involving such a field. If ``redisplay`` is\n ``True`` (the default), the password will be re-rendered into the form when\n the form is re-rendered after validation failure. If ``redisplay`` is\n ``False``, the password will not be re-rendered into the form. The default\n is ``False``, which means that, as of this release, passwords will not\n be redisplayed; this changes the default behavior wrt previous releases.\n Values typed into password fields are not redisplayed by default during\n validation failure, as a security measure (the value winds up in browser\n history). Use ``PasswordWidget(redisplay=True)`` or\n ``CheckedPasswordWidget(redisplay=True)`` to make these widgets redisplay\n passwords on validation failures, matching the old behavior.\n\n- When using the default Chameleon template renderer, template names can now\n be \"asset specifications\" e.g. ``mypackage:subdir1/subdir2/mytemplate.pt``\n instead of extensionless paths relative to a search path. When\n template names are specified as asset specifications, the\n ``pkg_resources.resource_filename`` API is used to dereference them\n into an actual file path.\n\n2.0a1 (2013-10-05)\n------------------\n\nThis is an alpha release of Deform v2. Deform v2 is backwards incompatible\nwith Deform v1. It requires the use of Twitter Bootstrap v3, whereas\ndeform v1 did not require Bootstrap.\n\nA demonstration site that shows Deform 2 in action exists at\nhttp://deform2demo.repoze.org.\n\nBoth Deform 1 and Deform 2 will be maintained going forward. If you wish\nto continue using Deform 1, because you cannot upgrade, or cannot depend on\nBootstrap 3, please pin your deform distribution requirement to\nsomething below 2.0a1, e.g. ``deform<=1.999``.\n\nThis first alpha release is missing formal documentation updates. Apologies,\nwe needed to get a release out onto PyPI, as not having one is holding back\nthe development of a number of platforms and applications that depend on the\nchanges in v2+. Documentation updates will be forthcoming over the lifetime\nof future alpha/beta releases. However, below is a list of known issues that\nneed to be addressed to make a final release of Deform 2, as well as\ninformation about new features, and migration notes. You may also be\nable to make use of the demo site at http://deform2demo.repoze.org to divine\nhow things have changed, and what CSS and JavaScript resources you'll need\nto include in your pages to make use of this release.\n\nTODO\n\n- docs\n- decide how to explain form.css (include in requirements or?)\n- horizontal/inline forms + structural things\n- assets for templates: deform should provide a tool to resolve that?\n- placeholder support for all textual inputs (and required/maxlength\n see also https://github.com/Pylons/deform/pull/116)\n- display help-blocks for readonly fields?\n- maybe readonly should be a property of the schema, not the widget.\n- consider whether \"style\"/\"css_class\" on multi-input widgets should apply to\n a container or each element.\n- audit use of e.g. string:${css_class} so we don't see unexpected class=\"None\"\n in widget rendering output.\n- some sort of test for mapping_item input_prepend/input_append\n- Currently description shows up as both tooltip of label and as help-block.\n Maybe make these two things separate or at least don't show them both using\n the same value.\n- normalize CSS class names to deform-foo rather than deformFoo\n- sequence_of_sequences: js that processes close/order buttons has to\n be less promiscuous (it uses e.g. \"find\"); symptom: buttons\n appear/disappear, act on the wrong element, etc... ugh 2013/10/05\n cannot replicate, but still believe there may be an issue, but\n maybe iElectric fixed it\n\nNICE TO HAVE\n\n- structural widget (mapping_item.pt) - do we need that or not or what? +\n add a demo\n- prepend/append t.bootstrap stuff\n- https://github.com/Pylons/deform/pull/116#issuecomment-23210460\n- group demos by widget type\n- handle ajax demo more UX friendly\n- Put drag handles in panel headers: https://github.com/Pylons/deform/issues/180\n\nNEW FEATURES:\n\n- input_prepend/input_append in mapping_item widget.\n- field.parent\n- field.get_root\n- inline attr of checkboxchoice and radiochoice widgets (see\n https://github.com/Pylons/deform/pull/182)\n- http://deform2demo.repoze.org/\n\nMIGRATION NOTES:\n\n- removed deprecated `height, width, skin, theme` parameters from RichTextWidget\n (use \"options\" instead)\n- removed deprecated `render_initial_item` from SequenceWidget\n- removed deprecated deform.Set (use colander.Set instead)\n- DateInputWidget renamed parameter `dateFormat` to `format` (dateFormat\n now unsupported).\n- DateTimeInputWidget now renders as two fields: one for a date and one\n for a time, using pickadate.\n- We no longer bother trying to use the native datetimeinput widget on any\n browser, because the support is so spotty.\n- DateTimeInputWidget takes two options now: date_options and time_options\n instead of a single options dictionary. The options are pickadate\n date/time options respectively.\n- It is no longer possible to do DateTimeWidget().options['a'] = 'foo'\n or DateTimeWidget().date_options['a'] = 'foo'. If you need to change\n options imperatively, set the entire .options/.date_options dictionary.\n- merged TypeaheadInputWidget to AutocompleteInputWidget (removed delay\n parameter)\n- AutocompleteInputWidget now accepts string type for \"values\"\n- widgets no longer accepts \"size\" (instead use style=\"width: x\"), except\n SelectWidget (it means the size of the dropdown)\n- get_widget_resources now returns asset specifications rather than\n deform-static-relative paths\n- deform 2.0 requires users to manually load TB 3.0 and jquery 2.0\n- required labels no longer insert an asterisk inside a \n inside themselves. instead the label element has a required class\n if the field is required; use form.css to display this as an asterisk.\n- min_length of AutocompleteInputWidget now defaults to 1 (was 2)",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://docs.pylonsproject.org/projects/deform/en/latest/",
"keywords": "web forms form generation schema validation pyramid",
"license": "BSD-derived (http://www.repoze.org/LICENSE.txt)",
"maintainer": "",
"maintainer_email": "",
"name": "deform",
"package_url": "https://pypi.org/project/deform/",
"platform": "",
"project_url": "https://pypi.org/project/deform/",
"project_urls": {
"Homepage": "https://docs.pylonsproject.org/projects/deform/en/latest/"
},
"release_url": "https://pypi.org/project/deform/2.0.8/",
"requires_dist": null,
"requires_python": "",
"summary": "Form library with advanced features like nested forms",
"version": "2.0.8"
},
"last_serial": 5940116,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "d1e3893ee756b908bec9f2082b64f7b6",
"sha256": "30481b038de40a4457ae67b308f13eaa108a2a44bbaa9ac7b269fb91639ffd5e"
},
"downloads": -1,
"filename": "deform-0.1.tar.gz",
"has_sig": false,
"md5_digest": "d1e3893ee756b908bec9f2082b64f7b6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 142639,
"upload_time": "2010-05-09T07:42:35",
"url": "https://files.pythonhosted.org/packages/72/a8/fb9168343f18dd9e296cc8a93dc418bffb75d13f71433100a9c9382ef435/deform-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "27528f9360f57ddb30ff7417fd82a4b3",
"sha256": "2897b46d39bcc94c020d9fc1be5579bbe95fe1ae268249806add3dfc78e9bade"
},
"downloads": -1,
"filename": "deform-0.2.tar.gz",
"has_sig": false,
"md5_digest": "27528f9360f57ddb30ff7417fd82a4b3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 152621,
"upload_time": "2010-05-13T21:17:10",
"url": "https://files.pythonhosted.org/packages/d6/7a/a7c3748860e5c5dba348f023472cff48b952fb7c8a49fe788c85261432f7/deform-0.2.tar.gz"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "12de14f0e729a049a501fefb4641903a",
"sha256": "3d5b47cfe7718ee72ebc5d31f6a10419360fb19d92bc509ed9f9c48e209bb409"
},
"downloads": -1,
"filename": "deform-0.3.tar.gz",
"has_sig": false,
"md5_digest": "12de14f0e729a049a501fefb4641903a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 164405,
"upload_time": "2010-06-09T17:22:50",
"url": "https://files.pythonhosted.org/packages/5a/42/5efec46a1cb5ec629f441b60e3e48e41a8204864d6fceadb86a834bf0652/deform-0.3.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "af038c254818b47844e7e8e88bcde3ad",
"sha256": "184ed07e6e599dc6f5317aadaf7da5a0980f1b3799d5f9e354de83032792f451"
},
"downloads": -1,
"filename": "deform-0.4.tar.gz",
"has_sig": false,
"md5_digest": "af038c254818b47844e7e8e88bcde3ad",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 643076,
"upload_time": "2010-08-23T04:33:02",
"url": "https://files.pythonhosted.org/packages/aa/35/4acd085ede9b09feb30bb32f1d426fee5b5314ad84538cb507b1d77897c8/deform-0.4.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "97fdb966d0e8adc9cd7ae679be7240a3",
"sha256": "66a0dd2cfbbc04ea95c856a8f251db9294e9a2e4b8bbe9f8df0272f0be0eee1f"
},
"downloads": -1,
"filename": "deform-0.5.tar.gz",
"has_sig": false,
"md5_digest": "97fdb966d0e8adc9cd7ae679be7240a3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 650998,
"upload_time": "2010-08-26T05:13:29",
"url": "https://files.pythonhosted.org/packages/2d/3c/c2a89474db1df88964ef3aa354eba6eef6aea52269fcdf2212539692470f/deform-0.5.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "8745f383110d028c320aac8ac6952137",
"sha256": "a6f1970b96bfccd8ea8474365ec32e681a525c709429da0ace5a3ea29d1410d9"
},
"downloads": -1,
"filename": "deform-0.6.tar.gz",
"has_sig": false,
"md5_digest": "8745f383110d028c320aac8ac6952137",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 681175,
"upload_time": "2010-09-04T04:30:16",
"url": "https://files.pythonhosted.org/packages/51/ef/15ca64589674b3484ebc47c75cbcca9ec6d377aa515861bc4d2bb1c9f0aa/deform-0.6.tar.gz"
}
],
"0.7": [
{
"comment_text": "",
"digests": {
"md5": "41e1e1ffb5a619696700ccc129bcb738",
"sha256": "1c1ef6134c0e9399119170ad583ccb0fe14b77070ea155553400e02bb88c52b9"
},
"downloads": -1,
"filename": "deform-0.7.tar.gz",
"has_sig": false,
"md5_digest": "41e1e1ffb5a619696700ccc129bcb738",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 687227,
"upload_time": "2010-10-11T01:52:49",
"url": "https://files.pythonhosted.org/packages/0f/11/7b8feeee806ca02dada61a9ea6eedf7a7178bf7b6d02b36ddf81fa16fd8d/deform-0.7.tar.gz"
}
],
"0.8": [
{
"comment_text": "",
"digests": {
"md5": "8ab62919e4406abd7932fc6bccb30669",
"sha256": "0cdfc919ff772e7260d2d0ad966eb2d9d0ce3f806cd981c0909d3682edc0cdc2"
},
"downloads": -1,
"filename": "deform-0.8.tar.gz",
"has_sig": false,
"md5_digest": "8ab62919e4406abd7932fc6bccb30669",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 688268,
"upload_time": "2010-12-02T16:17:06",
"url": "https://files.pythonhosted.org/packages/11/e9/bead102394a12f68f2523ca826730bdd8b1abc111438db100f67379e92a6/deform-0.8.tar.gz"
}
],
"0.8.1": [
{
"comment_text": "",
"digests": {
"md5": "2a0de3715b7e63a61fee133b35afffa6",
"sha256": "96b1cf6e8a2527cce1c8c559a48cca46aa44afeb33c75b5a6cee449ccf73343c"
},
"downloads": -1,
"filename": "deform-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "2a0de3715b7e63a61fee133b35afffa6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 688913,
"upload_time": "2010-12-17T20:04:00",
"url": "https://files.pythonhosted.org/packages/65/24/c42b34a924ea6f97f705bd90539b61ed7b4ca7ccfd5711da606a7d22014e/deform-0.8.1.tar.gz"
}
],
"0.9": [
{
"comment_text": "",
"digests": {
"md5": "8d77971df0df34c30e5b529a6d2a7efb",
"sha256": "9efdcafb145a3e82dd5158d06576dd526164b7e0fa73555d6b674aaa22a09bce"
},
"downloads": -1,
"filename": "deform-0.9.tar.gz",
"has_sig": false,
"md5_digest": "8d77971df0df34c30e5b529a6d2a7efb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 673123,
"upload_time": "2011-03-01T21:59:34",
"url": "https://files.pythonhosted.org/packages/4c/67/bc07e9786a826601519e141a30086ad9f3222ad4ebd460a68a9648e03cd8/deform-0.9.tar.gz"
}
],
"0.9.1": [
{
"comment_text": "",
"digests": {
"md5": "75a63a889607af90c7e3d6c13d9d1b14",
"sha256": "d5482551e46c02b5853dabf3360eb830714136674318ea2102be7b5c3667c949"
},
"downloads": -1,
"filename": "deform-0.9.1.tar.gz",
"has_sig": false,
"md5_digest": "75a63a889607af90c7e3d6c13d9d1b14",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 690813,
"upload_time": "2011-06-23T11:40:59",
"url": "https://files.pythonhosted.org/packages/76/f0/bc030db4451d0bcf94333a70fe1283a18f0f733c80e745296e96b31edac7/deform-0.9.1.tar.gz"
}
],
"0.9.2": [
{
"comment_text": "",
"digests": {
"md5": "8bc441b288d92e15259687778ba33473",
"sha256": "51ce06ca2f9bad84225065875fbfc64b3e9d08d134fa164c09a1dc69be9be675"
},
"downloads": -1,
"filename": "deform-0.9.2.tar.gz",
"has_sig": false,
"md5_digest": "8bc441b288d92e15259687778ba33473",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 645413,
"upload_time": "2011-07-22T12:16:33",
"url": "https://files.pythonhosted.org/packages/68/05/5d5e6b37ff0e96f53ee2c24fe02a9d0261af96c6cfbd8017cba03cc30fd7/deform-0.9.2.tar.gz"
}
],
"0.9.3": [
{
"comment_text": "",
"digests": {
"md5": "0b313b8786fd4d9ccc83f73386b3b911",
"sha256": "03241bfebf6a9987546ff735d86cd4d9155238411adb0347fce66f9684ed7d90"
},
"downloads": -1,
"filename": "deform-0.9.3.tar.gz",
"has_sig": false,
"md5_digest": "0b313b8786fd4d9ccc83f73386b3b911",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 645749,
"upload_time": "2011-08-10T11:05:20",
"url": "https://files.pythonhosted.org/packages/ac/ac/b9e62cffad1f3795ab5c86768494c871bd67eaed286026ab3c19f4ae461e/deform-0.9.3.tar.gz"
}
],
"0.9.4": [
{
"comment_text": "",
"digests": {
"md5": "2ed7b69644a6d8f4e1404e1892329240",
"sha256": "d78f5dacf543d47fd22b88b50fb1829b3f4107b3c49d272834e6f405e2325358"
},
"downloads": -1,
"filename": "deform-0.9.4.tar.gz",
"has_sig": false,
"md5_digest": "2ed7b69644a6d8f4e1404e1892329240",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 654093,
"upload_time": "2012-02-15T04:02:32",
"url": "https://files.pythonhosted.org/packages/00/c2/c3625c6b494e79d6e8e9736c54ee1e7a81356b853854e5d097bc402629ce/deform-0.9.4.tar.gz"
}
],
"0.9.5": [
{
"comment_text": "",
"digests": {
"md5": "726fcad423e4171e3066ec43c9638e0b",
"sha256": "0cd23a9293f5a785d8b7537e1d256e3851f7eaf4ff091cf9994005ae4ec87b79"
},
"downloads": -1,
"filename": "deform-0.9.5.tar.gz",
"has_sig": false,
"md5_digest": "726fcad423e4171e3066ec43c9638e0b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1318541,
"upload_time": "2012-04-27T16:38:48",
"url": "https://files.pythonhosted.org/packages/c9/21/e947e865289bc978097bbafc19a7fd8c82498e4384ff718c5e484c69dec1/deform-0.9.5.tar.gz"
}
],
"0.9.6": [
{
"comment_text": "",
"digests": {
"md5": "faf9054ad7c89457fe3ae1e3c0c15b97",
"sha256": "3405b35e6b77a4d2acc3f213d65d9688ec6bb64a8d8ef070ccd55ffec576ef02"
},
"downloads": -1,
"filename": "deform-0.9.6.tar.gz",
"has_sig": false,
"md5_digest": "faf9054ad7c89457fe3ae1e3c0c15b97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1334301,
"upload_time": "2013-01-11T05:11:57",
"url": "https://files.pythonhosted.org/packages/60/dd/bde99ced00d6d5b1dff241cacca90def7c6b9e54359b714516b4e933f69e/deform-0.9.6.tar.gz"
}
],
"0.9.7": [
{
"comment_text": "",
"digests": {
"md5": "d450eef05432d473257da5621c72c8b7",
"sha256": "099cd4888275a8cd4a5e2724c296ecbd214cbd014d5fea017b6de2c29a4a1a9b"
},
"downloads": -1,
"filename": "deform-0.9.7.tar.gz",
"has_sig": false,
"md5_digest": "d450eef05432d473257da5621c72c8b7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1330099,
"upload_time": "2013-03-06T18:52:31",
"url": "https://files.pythonhosted.org/packages/1a/69/2895f65743bfcc26ec166c13b12db298b2b74257ae3ab652bf98c1b842d4/deform-0.9.7.tar.gz"
}
],
"0.9.8": [
{
"comment_text": "",
"digests": {
"md5": "43eab8d4e0924cf9f2fb04f48c4c97f2",
"sha256": "fd4a4f216d939423a4fe5ef86ec9523b0f5f048cc37a7c9beed3d8316a06a094"
},
"downloads": -1,
"filename": "deform-0.9.8.tar.gz",
"has_sig": false,
"md5_digest": "43eab8d4e0924cf9f2fb04f48c4c97f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1336542,
"upload_time": "2013-09-01T19:58:52",
"url": "https://files.pythonhosted.org/packages/f4/fa/66da8382ed192830a6ae6cce58e36ee94d2dee100859d064d0bee0d3ea29/deform-0.9.8.tar.gz"
}
],
"0.9.9": [
{
"comment_text": "",
"digests": {
"md5": "c6c1bc332173e55e4224c79187f2ee08",
"sha256": "a0ddbeba3ed5f4b061a2c83423e00a421003600868d71021816897dfa1d4b77a"
},
"downloads": -1,
"filename": "deform-0.9.9.tar.gz",
"has_sig": false,
"md5_digest": "c6c1bc332173e55e4224c79187f2ee08",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1336829,
"upload_time": "2013-09-23T06:51:59",
"url": "https://files.pythonhosted.org/packages/a3/54/996d2f7d658e0da1a0b1c7b75cf3d83d57b1327ec325d81fa1a728715fe0/deform-0.9.9.tar.gz"
}
],
"2.0": [
{
"comment_text": "",
"digests": {
"md5": "707e4e972fbcca18579ab2e9e241a6e6",
"sha256": "fe73ba3d6f2e156535334ff41691cd34f177484fd03f168a1d2667f5409c3508"
},
"downloads": -1,
"filename": "deform-2.0.tar.gz",
"has_sig": false,
"md5_digest": "707e4e972fbcca18579ab2e9e241a6e6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 642291,
"upload_time": "2016-10-23T17:10:05",
"url": "https://files.pythonhosted.org/packages/60/31/a6b22898cd880c3bf593f784def6804dd86867c0ef9b214dd7d22a126a62/deform-2.0.tar.gz"
}
],
"2.0.1": [
{
"comment_text": "",
"digests": {
"md5": "fe9d0e34c7eadccfe33c7c2b8e42cb62",
"sha256": "e53ad74f33f0a53e6cc4cbbdab497abd66f07cf47a95805552afc0b343c69319"
},
"downloads": -1,
"filename": "deform-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "fe9d0e34c7eadccfe33c7c2b8e42cb62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 642486,
"upload_time": "2016-10-25T13:23:22",
"url": "https://files.pythonhosted.org/packages/72/ef/16d3d307011b8070bb6aaf0281cc6ca139fe6b193727c086ca6f27381379/deform-2.0.1.tar.gz"
}
],
"2.0.2": [
{
"comment_text": "",
"digests": {
"md5": "66f85f629cec7fdce4dc20d8fdc7fe8d",
"sha256": "10d97ee5d84ef8f287732e55cccd4791c9d5742b7d75df9dafead966316294af"
},
"downloads": -1,
"filename": "deform-2.0.2.tar.gz",
"has_sig": false,
"md5_digest": "66f85f629cec7fdce4dc20d8fdc7fe8d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 645177,
"upload_time": "2016-11-14T11:17:46",
"url": "https://files.pythonhosted.org/packages/7c/20/7dd9e7e7225776e5f7daf54cf03f07d9fad8575bb2ea4016f16fd88000c4/deform-2.0.2.tar.gz"
}
],
"2.0.3": [
{
"comment_text": "",
"digests": {
"md5": "a263473fbe7326180d866b5e23db3b5f",
"sha256": "25b102bbc35055a695fe42516d83329d323d13572d34f4f7dcda9b5a399ad945"
},
"downloads": -1,
"filename": "deform-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "a263473fbe7326180d866b5e23db3b5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 655474,
"upload_time": "2016-11-19T17:43:44",
"url": "https://files.pythonhosted.org/packages/10/fc/a357ab21a8d9f11f4c38d08963cd5f6969b5106e441b9f90fbcabee699dc/deform-2.0.3.tar.gz"
}
],
"2.0.4": [
{
"comment_text": "",
"digests": {
"md5": "34756e42cf50dd4b4430809116c4ec0a",
"sha256": "a9527ce0c55a3c744844b378ba0fd0eab964043ffae0a046e747923c61f50436"
},
"downloads": -1,
"filename": "deform-2.0.4.tar.gz",
"has_sig": false,
"md5_digest": "34756e42cf50dd4b4430809116c4ec0a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 655832,
"upload_time": "2017-02-11T12:22:00",
"url": "https://files.pythonhosted.org/packages/66/3b/eefcb07abcab7a97f6665aa2d0cf1af741d9d6e78a2e4657fd2b89f89880/deform-2.0.4.tar.gz"
}
],
"2.0.5": [
{
"comment_text": "",
"digests": {
"md5": "8c99a47f82ccb2b93419dce3cf5a3a73",
"sha256": "fb58f6a2a15db35ba724251102f3a19492361d121a0a5f05ffff5f6fa2b1b738"
},
"downloads": -1,
"filename": "deform-2.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8c99a47f82ccb2b93419dce3cf5a3a73",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 818793,
"upload_time": "2018-02-20T20:35:36",
"url": "https://files.pythonhosted.org/packages/46/70/59bad92a4779bd78f1183f80e2c80ca0069db428c0d4198d515838416e21/deform-2.0.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bf66e98253c76a96752a53018e3f3cb8",
"sha256": "874d3346a02c500432efdcc73b1a7174aa0ea69cd52a99bb9a812967f54f6f79"
},
"downloads": -1,
"filename": "deform-2.0.5.tar.gz",
"has_sig": false,
"md5_digest": "bf66e98253c76a96752a53018e3f3cb8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 761923,
"upload_time": "2018-02-20T20:35:44",
"url": "https://files.pythonhosted.org/packages/0c/b1/ba711d5808c12538c8504f534d79c124ed834f19ac36f0ac5391c3bbd1c1/deform-2.0.5.tar.gz"
}
],
"2.0.6": [
{
"comment_text": "",
"digests": {
"md5": "6eea6948affad78d14715c5b792d985f",
"sha256": "be123718000ac6761b13f0c80bde5a4d01043c15205b051eacd24775dfe20267"
},
"downloads": -1,
"filename": "deform-2.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6eea6948affad78d14715c5b792d985f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 818823,
"upload_time": "2018-08-29T19:47:37",
"url": "https://files.pythonhosted.org/packages/9d/a8/0e60d1ba7d55f9633136db2d415ffbcd0be2a91a6c645bb402fc0acd2534/deform-2.0.6-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "22c456cb107d668244be1e873d1dd9be",
"sha256": "bda0b809c8a668e105e30650a6766103207eafdd12c313acd59274ccd2c4d297"
},
"downloads": -1,
"filename": "deform-2.0.6.tar.gz",
"has_sig": false,
"md5_digest": "22c456cb107d668244be1e873d1dd9be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 762602,
"upload_time": "2018-08-29T19:47:43",
"url": "https://files.pythonhosted.org/packages/44/89/0d734745d000492e2609e128923c066fa3e7954138ab12a6866ebe0b48a8/deform-2.0.6.tar.gz"
}
],
"2.0.7": [
{
"comment_text": "",
"digests": {
"md5": "d3cad635acb44e055ea5e6271d52a396",
"sha256": "920a62b4101dc50fac453346524ca44b80f51dda3b6faafeb775012ef418c572"
},
"downloads": -1,
"filename": "deform-2.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d3cad635acb44e055ea5e6271d52a396",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 861617,
"upload_time": "2018-11-14T16:05:36",
"url": "https://files.pythonhosted.org/packages/12/8a/48f09e907aadaff1ab4dbdfc03fff2aabb2b5145785132840a335e69511c/deform-2.0.7-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9fd73f2b509ef0fb2ff5bbed15570eea",
"sha256": "2ff29c32ebe544c0f0a77087e268b2cd9cb4b11fa35af3635d5b42913f88d74a"
},
"downloads": -1,
"filename": "deform-2.0.7.tar.gz",
"has_sig": false,
"md5_digest": "9fd73f2b509ef0fb2ff5bbed15570eea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 809619,
"upload_time": "2018-11-14T16:05:40",
"url": "https://files.pythonhosted.org/packages/cf/a1/bc234527b8f181de9acd80e796483c00007658d1e32b7de78f1c2e004d9a/deform-2.0.7.tar.gz"
}
],
"2.0.8": [
{
"comment_text": "",
"digests": {
"md5": "8a462f89105663d92a03193acd7cc397",
"sha256": "8936b70c622406eb8c8259c88841f19eb2996dffcf2bac123126ada851da7271"
},
"downloads": -1,
"filename": "deform-2.0.8.tar.gz",
"has_sig": false,
"md5_digest": "8a462f89105663d92a03193acd7cc397",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 809908,
"upload_time": "2019-10-07T16:45:18",
"url": "https://files.pythonhosted.org/packages/21/d0/45fdf891a82722c02fc2da319cf2d1ae6b5abf9e470ad3762135a895a868/deform-2.0.8.tar.gz"
}
],
"2.0a1": [
{
"comment_text": "",
"digests": {
"md5": "7a2a397b88803fdefde6807971d25edc",
"sha256": "7abf43c6e92abbf2889f623fd515eb1959963b0b944220ab246f110c5019545d"
},
"downloads": -1,
"filename": "deform-2.0a1.tar.gz",
"has_sig": false,
"md5_digest": "7a2a397b88803fdefde6807971d25edc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 677378,
"upload_time": "2013-10-05T21:16:55",
"url": "https://files.pythonhosted.org/packages/bf/41/f2db5a71a55b9764ec722d59337e3cf58506077f54cfdf10d5014cd0986b/deform-2.0a1.tar.gz"
}
],
"2.0a2": [
{
"comment_text": "",
"digests": {
"md5": "7a90d41f7fbc18002ce74f39bd90a5e4",
"sha256": "3fa4d287c8da77a83556e4a5686de006ddd69da359272120b915dc8f5a70cabd"
},
"downloads": -1,
"filename": "deform-2.0a2.tar.gz",
"has_sig": false,
"md5_digest": "7a90d41f7fbc18002ce74f39bd90a5e4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 678947,
"upload_time": "2013-10-18T12:46:20",
"url": "https://files.pythonhosted.org/packages/8d/b3/aab57e81da974a806dc9c5fa024a6404720f890a6dcf2e80885e3cb4609a/deform-2.0a2.tar.gz"
}
],
"2.0b1": [
{
"comment_text": "",
"digests": {
"md5": "45b2a733169e1e51c1d4db8ace5df3a6",
"sha256": "a42dcab337b8d99717036f680205ff9e0f23d0fe7021a4ec6d064cca5cf814bd"
},
"downloads": -1,
"filename": "deform-2.0b1.tar.gz",
"has_sig": false,
"md5_digest": "45b2a733169e1e51c1d4db8ace5df3a6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 633845,
"upload_time": "2016-10-22T19:11:52",
"url": "https://files.pythonhosted.org/packages/93/fc/760fc399321d383453ac0f4fc4998ce1e26671d089302b6de805381e3a0e/deform-2.0b1.tar.gz"
}
],
"2.0b2": [
{
"comment_text": "",
"digests": {
"md5": "150dd77e9e65cf6b7d3cc6c0099b1ad3",
"sha256": "c65ea28a0337c9cf3ddf12716384550f2227eb79dc7bc9caa204408d43ed4781"
},
"downloads": -1,
"filename": "deform-2.0b2.tar.gz",
"has_sig": false,
"md5_digest": "150dd77e9e65cf6b7d3cc6c0099b1ad3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 633905,
"upload_time": "2016-10-22T19:15:01",
"url": "https://files.pythonhosted.org/packages/de/d1/0b126eaf3baae274b15b5f564ddd2487727a19df5e09684b1939a5151be0/deform-2.0b2.tar.gz"
}
],
"2.0b3": [
{
"comment_text": "",
"digests": {
"md5": "da9af60d1e3122c691be32c26df7a8f5",
"sha256": "63dd3526507758491c83f9d6c5e208b28f4a913b5db84f89a739c77790a91aa6"
},
"downloads": -1,
"filename": "deform-2.0b3.tar.gz",
"has_sig": false,
"md5_digest": "da9af60d1e3122c691be32c26df7a8f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 641420,
"upload_time": "2016-10-22T21:00:56",
"url": "https://files.pythonhosted.org/packages/f1/89/a7e3d554a1e6a1616d5676bfe74bb9c90a047c58c0ac5808a94ab2106a2f/deform-2.0b3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "8a462f89105663d92a03193acd7cc397",
"sha256": "8936b70c622406eb8c8259c88841f19eb2996dffcf2bac123126ada851da7271"
},
"downloads": -1,
"filename": "deform-2.0.8.tar.gz",
"has_sig": false,
"md5_digest": "8a462f89105663d92a03193acd7cc397",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 809908,
"upload_time": "2019-10-07T16:45:18",
"url": "https://files.pythonhosted.org/packages/21/d0/45fdf891a82722c02fc2da319cf2d1ae6b5abf9e470ad3762135a895a868/deform-2.0.8.tar.gz"
}
]
}