==================
PyAMS_form package
==================

.. contents::


What is PyAMS?
==============

PyAMS (Pyramid Application Management Suite) is a small suite of packages written for applications
and content management with the Pyramid framework.

**PyAMS** is actually mainly used to manage web sites through content management applications (CMS,
see PyAMS_content package), but many features are generic and can be used inside any kind of web
application.

All PyAMS documentation is available on `ReadTheDocs <https://pyams.readthedocs.io>`_


What is PyAMS_form?
===================

This package is an update of z3c.form package for use with Pyramid.

PyAMS_form allows to use z3c.forms forms inside Pyramid applications, providing a bridge between
initial Pyramid request and Zope publisher request used by z3c.form, with the help of the
"pyramid_zope_request" package.

PyAMS_form also provides custom templates for forms and for z3c.form widgets, to use them with the
MyAMS framework used by PyAMS_skin and PyAMS_zmi packages, and provides a small set of additional
widgets.

This package also provides additional features, like form groups (which allows to group a set of
form's widgets inside a fieldset), and a set of viewlet managers which can be used to extend a
form's content using viewlets adapters; you can also extend a form by defining sub-forms and
tab-forms adapters.


Note about PyAMS_form API
=========================

PyAMS_form naming convention is actually a mix between z3c.form API, which is using camelCase
naming convention, and Pyramid which is using standard Python's snake_case convention. A complete
rewrite of PyAMS_form package, which will integrate all z3c.form features with a uniform API
compliant with Pyramid's standards, is actually planned...
