This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Yota

Documentation | Example Repository | Demo

Yota is a Python form generation library with the following unique features:

  • Easy integration of realtime validation. Trigger a server side form validation with any JavaScript event on your input fields. (Client side in planning)
  • Dynamic form structures allow for complex forms with on the fly changes. Inject different input fields or validation methods into a specific instance of your Form where needed.
  • Default themed with Bootstrap, allowing you to quickly throw together useful forms that look nice.

In addition to these features, Yota also includes most of the features that you would see with other form libraries.

  • Simple declarative syntax for defining form validation and layout
  • Customizable template driven schemas
  • Ability to operate with almost any framework and use any rendering engine. (Default is jinja2)

Philosophically Yota aims to have a ton of power, since designing Forms can require a lot of flexibility. This was the main problem the designers had with other libraries is that they ended up getting in the way. At the same time however it is important that sensible default be easy to use and implement, making the creation of common forms trivial and lowering the inital learning curve.

Note: Release of 0.2 has made changes that will minorly break reverse compatibility. This should be the last time as this code base is maturing, but be cautious if upgrading any production code to the latest release.

Breaking Changes Are:

  • Validation methods now return a tuple containing (1) Success value (2) Data (Json or rendered form).
  • Semantics with which Nodes interact with piecewise validation have changed with the re-write, but this only effects people writing custom Nodes.

Get Involved

Any and all contributions to Yota are gladly welcomed. Simply fork the repository and make a pull request with your addition or open an issue for the maintainers to consider. Please include 100% test coverage with all pull requests. If you’re looking to help out, there are several tickets tagged with “maintinance” that should be easy starting point. Adding yourself to the CONTRIBUTORS.txt list when making a pull request is also encouraged.

Latest Changes

0.2.2 (2013-08-22)

Features

  • Added post-success JavaScript hooks for common actions as well as custom JS
  • Shorthand validation is now allowed for dynamically inserted nodes
  • Added Python 3.3 support
  • Implemented a ‘validator’ method for Form that allows one-off validation for validation logic that is specific to that form only
  • Added new ‘render_success’ and ‘error_success’ attributes for Form to specify a JavaScript function to replace the default callback in the JS api
  • css_style, disable, and css_class are now Node attributes that can be used in templates
  • Added a new FileNode for uploading files with along with a MimeTypeValidator and associated template modifications

Bug Fixes

  • Documentation fixes
  • Setting title=False didn’t function correctly
  • Some class attribute override semantics didn’t function as intended and have now been resolved
  • Fixed a unicode encoding error identified by xen that was breaking validation

Maintenance/Stability

  • Moved some functionality out of the metaclass to be more lazy, increasing the initialization speed of classes and improving testing
  • Wrote many additional tests and significantly improved assertion coverage
  • Completely re-organized tests to be organized less haphazzardly and updated /extended their comments significantly.
  • Setup coveralls and Travis CI
  • Gave the whole codebase a PyLint and PEP8 pass

Installation

Yota has no dependencies on other libraries or packages except for its rendering engine. To install Yota just do:

  • pip install yota jinja2

Or you can install it from Git with:

License

Yota is under the new-style BSD license.

Release History

Release History

0.2.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
yota-0.2.2.tar.gz (22.3 kB) Copy SHA256 Checksum SHA256 Source Aug 23, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting