Metadata-Version: 1.1
Name: deform
Version: 2.0b2
Summary: Form library with advanced features like nested forms
Home-page: http://docs.pylonsproject.org/projects/deform/en/latest/
Author: Chris McDonough, Agendaless Consulting
Author-email: pylons-discuss@googlegroups.com
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
Description: Deform
        ======
        
        .. image:: https://travis-ci.org/Pylons/deform.png?branch=master
                :target: https://travis-ci.org/Pylons/deform
        
        .. image:: https://readthedocs.org/projects/deform/badge/?version=master
                :target: http://docs.pylonsproject.org/projects/deform/en/master/
                :alt: Master Documentation Status
        
        .. image:: https://readthedocs.org/projects/deform/badge/?version=latest
                :target: http://docs.pylonsproject.org/projects/deform/en/latest/
                :alt: Latest Documentation Status
        
        Deform is a Python HTML form library. You can easily create forms for your application. Deform can do complex forms with JavaScript integration, like nested forms where you need add and remove subform items. Date and time picking widgets and other rich widgets are supported out of the box.
        
        Deform comes with default `Chameleon templates <https://chameleon.readthedocs.io/en/latest/>`_ for `Bootstrap <http://getbootstrap.com>`_ based widgets. It uses `Colander <https://github.com/Pylons/colander>`_ as for form schema and validation definitions. Deform integrates well with `Pyramid web framework <https://trypyramid.com/>`_  and several other web frameworks. Peppercorn library is used to convert flat HTML name value mapping form submissions to stream of name value mappings submissions, allowing building complex and nested form structure.
        
        Please see http://docs.pylonsproject.org/projects/deform/en/latest/ for the
        documentation.
        
        See https://github.com/Pylons/deform for in-development version.
        
        Status
        ------
        
        This library is actively developed and maintained.
        
        Community
        ---------
        
        To get in touch with the community join to `Pyramid IRC channel or Pylons mailing list <http://docs.pylonsproject.org/projects/pyramid/en/latest/#support-and-development>`_ .
        
        
        2.0b2 (2016-10-22)
        ------------------
        
        - Fix README on PyPi
        
        2.0b1 (2016-10-22)
        ------------------
        
        - Updated bootstrap to 3.3.6.
        
        - Fix dateparts.pt and datetimeinput.pt for changes in bootstrap v3.0.3.
          (The culprit is boostrap commit
          `853b69f <https://github.com/twbs/bootstrap/commit/853b69f2d>`_.)
        
        - Make ``dateinput`` work again by using the fixed name "date" as expected
          by the pstruct schema.  See https://github.com/Pylons/deform/pull/221.
        
        - Changed ``ISO8601_REGEX`` import to match change in colander
        
        - Add support for Python 3.4, PyPy3.
        
        - Raise ``Invalid`` rather than other errors when deserializing broken
          or malicious pstructs with invalid types.  See
          https://github.com/Pylons/deform/pull/203
        
        - Read a time widget.
        
        - Fix a bug in the DateInputWidget.  See
          https://github.com/Pylons/deform/pull/192.
        
        - Ensured that ``None`` would not show up as a css class name in rendered
          template output.  See https://github.com/Pylons/deform/pull/191
        
          we now use dashed-names (e.g. ``deform-seq``).  A full list of changes is
          below::
        
            Old                               New
        
            deformClosebutton                 deform-closebutton
            deformFileupload                  deform-file-upload
            deformFormFieldset                deform-form-fieldset
            deformInsertBefore                deform-insert-before
            deformOrderbutton                 deform-orderbutton
            deformProto                       deform-proto
            deformReplaces                    deform-replaces
            deformSeq                         deform-seq
            deformSeqAdd                      deform-seq-add
            deformSeqContainer                deform-seq-container
            deformSeqItem                     deform-seq-item
            deformSet-item                    deform-set-item
            errorMsg                          error-msg
            errorMsgLbl                       error-msg-lbl
        
        - Fixed handling of buttons in nested sequences.
          See https://github.com/Pylons/deform/issues/197
        
        - Upload widget is themed like Bootstrap https://github.com/Pylons/deform/pull/280
        
        - Select widget handles the mixture of strings and ints https://github.com/Pylons/deform/pull/300/ and https://github.com/Pylons/deform/pull/299
        
        - Have the button css_class override the default button class. This is
          backwards-incompatible and will require users of css_class to add a
          btn-default/btn-primary class to the css_class.
        
        - Simplified Chinese translation https://github.com/Pylons/deform/pull/274
        
        - Don't cause unnecessary JavaScript calls on page load https://github.com/Pylons/deform/pull/267/
        
        - Allow override Button Bootstap CSS styles https://github.com/Pylons/deform/pull/251
        
        2.0a2 (2013-10-18)
        ------------------
        
        - ``PasswordWidget`` and ``CheckedPasswordWidget`` have grown an additional
          argument/attribute named ``redisplay``, which controls what happens on a
          validation failure of a form involving such a field.  If ``redisplay`` is
          ``True`` (the default), the password will be re-rendered into the form when
          the form is re-rendered after validation failure.  If ``redisplay`` is
          ``False``, the password will not be re-rendered into the form.  The default
          is ``False``, which means that, as of this release, passwords will not
          be redisplayed; this changes the default behavior wrt previous releases.
          Values typed into password fields are not redisplayed by default during
          validation failure, as a security measure (the value winds up in browser
          history).  Use ``PasswordWidget(redisplay=True)`` or
          ``CheckedPasswordWidget(redisplay=True)`` to make these widgets redisplay
          passwords on validation failures, matching the old behavior.
        
        - When using the default Chameleon template renderer, template names can now
          be "asset specifications" e.g. ``mypackage:subdir1/subdir2/mytemplate.pt``
          instead of extensionless paths relative to a search path.  When
          template names are specified as asset specifications, the
          ``pkg_resources.resource_filename`` API is used to dereference them
          into an actual file path.
        
        2.0a1 (2013-10-05)
        ------------------
        
        This is an alpha release of Deform v2.  Deform v2 is backwards incompatible
        with Deform v1.  It requires the use of Twitter Bootstrap v3, whereas
        deform v1 did not require Bootstrap.
        
        A demonstration site that shows Deform 2 in action exists at
        http://deform2demo.repoze.org.
        
        Both Deform 1 and Deform 2 will be maintained going forward.  If you wish
        to continue using Deform 1, because you cannot upgrade, or cannot depend on
        Bootstrap 3, please pin your deform distribution requirement to
        something below 2.0a1, e.g. ``deform<=1.999``.
        
        This first alpha release is missing formal documentation updates.  Apologies,
        we needed to get a release out onto PyPI, as not having one is holding back
        the development of a number of platforms and applications that depend on the
        changes in v2+.  Documentation updates will be forthcoming over the lifetime
        of future alpha/beta releases.  However, below is a list of known issues that
        need to be addressed to make a final release of Deform 2, as well as
        information about new features, and migration notes.  You may also be
        able to make use of the demo site at http://deform2demo.repoze.org to divine
        how things have changed, and what CSS and JavaScript resources you'll need
        to include in your pages to make use of this release.
        
        TODO
        
        - docs
        - decide how to explain form.css (include in requirements or?)
        - horizontal/inline forms + structural things
        - assets for templates: deform should provide a tool to resolve that?
        - placeholder support for all textual inputs (and required/maxlength
          see also https://github.com/Pylons/deform/pull/116)
        - display help-blocks for readonly fields?
        - maybe readonly should be a property of the schema, not the widget.
        - consider whether "style"/"css_class" on multi-input widgets should apply to
          a container or each element.
        - audit use of e.g. string:${css_class} so we don't see unexpected class="None"
          in widget rendering output.
        - some sort of test for mapping_item input_prepend/input_append
        - Currently description shows up as both tooltip of label and as help-block.
          Maybe make these two things separate or at least don't show them both using
          the same value.
        - normalize CSS class names to deform-foo rather than deformFoo
        - sequence_of_sequences: js that processes close/order buttons has to
          be less promiscuous (it uses e.g. "find"); symptom: buttons
          appear/disappear, act on the wrong element, etc... ugh 2013/10/05
          cannot replicate, but still believe there may be an issue, but
          maybe iElectric fixed it
        
        NICE TO HAVE
        
        - structural widget (mapping_item.pt) - do we need that or not or what? +
          add a demo
        - prepend/append t.bootstrap stuff
        - https://github.com/Pylons/deform/pull/116#issuecomment-23210460
        - group demos by widget type
        - handle ajax demo more UX friendly
        - Put drag handles in panel headers: https://github.com/Pylons/deform/issues/180
        
        NEW FEATURES:
        
        - input_prepend/input_append in mapping_item widget.
        - field.parent
        - field.get_root
        - inline attr of checkboxchoice and radiochoice widgets (see
          https://github.com/Pylons/deform/pull/182)
        - http://deform2demo.repoze.org/
        
        MIGRATION NOTES:
        
        - removed deprecated `height, width, skin, theme` parameters from RichTextWidget
          (use "options" instead)
        - removed deprecated `render_initial_item` from SequenceWidget
        - removed deprecated deform.Set (use colander.Set instead)
        - DateInputWidget renamed parameter `dateFormat` to `format` (dateFormat
          now unsupported).
        - DateTimeInputWidget now renders as two fields: one for a date and one
          for a time, using pickadate.
        - We no longer bother trying to use the native datetimeinput widget on any
          browser, because the support is so spotty.
        - DateTimeInputWidget takes two options now: date_options and time_options
          instead of a single options dictionary.  The options are pickadate
          date/time options respectively.
        - It is no longer possible to do DateTimeWidget().options['a'] = 'foo'
          or DateTimeWidget().date_options['a'] = 'foo'.  If you need to change
          options imperatively, set the entire .options/.date_options dictionary.
        - merged TypeaheadInputWidget to AutocompleteInputWidget (removed delay
          parameter)
        - AutocompleteInputWidget now accepts string type for "values"
        - widgets no longer accepts "size" (instead use style="width: x"), except
          SelectWidget (it means the size of the dropdown)
        - get_widget_resources now returns asset specifications rather than
          deform-static-relative paths
        - deform 2.0 requires users to manually load TB 3.0 and jquery 2.0
        - required labels no longer insert an asterisk inside a <span class="req">
          inside themselves.  instead the label element has a required class
          if the field is required; use form.css to display this as an asterisk.
        - min_length of AutocompleteInputWidget now defaults to 1 (was 2)
        
Keywords: web forms form generation schema validation pyramid
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
