Welcome to pynta’s documentation!¶
Pynta is web framework written in Python.
Contents:
Concepts¶
It is usually a kind of deal for framework developer between end application flexibility and interoperability when planning framework restrictions, project structure agreements, embedded features, etc.
Pynta is not trying to keep balancing frankly. it is flixible as much as it possible to be. You are able to plug anything on almost any level of abstraction or seamlessly connect to any other framework or use any desired storage or whatever technology you want.
But Pynta is not microframework. It has several abstractions that allow it to be flexible. There are interfaces that allow one to develop his own components to rapidly implement any imaginable feature.
Components¶
Pynta consits of the following logical components:
- Configuration
- Application base
- Storage
- Templates
- URLs resolver
Each of the components (except for urls resolver for now) is built on an abstract class or like application base (PyntaApp class) is the basis for the developer to design his project. Abstract classes stand for interface that developer could implement to allow using of any storage, template engine, etc.
Configuration¶
#TODO
Application base¶
#TODO
Storage¶
#TODO
Templates¶
#TODO
URLs resolver¶
#TODO
Goals¶
- Provide tools for building low volume products.
- Allow developer to choose any abstraction level to work on.
- Support most of the popular technologies out of the box.
- Allow developer to easy add support for any desired technology.
- Be compatible with any future technology.
Main Features¶
- WSGI compatible on most levels (almost everything is WSGI app).
- Simple and powerful url mapping mechanism (regexes with host and url matching).
- One app could handle a number of urls for different actions.
- CRUD support out of the box (using actions mechanism).
- Different storages support (relational and non-relational):
- Anydbm,
- MongoDB via pymongo and/or MongoEngine,
- (planned) Relational via SQLAlchemy,
- (planned) Forms processing support (storage integrated).
- Sessions support.
- (planned) Authentication support.
- (planned) Flexible logging mechanism.
- (planned) Generic administration interface.
- (planned) Stateful apps support.
- (planned) Server side interface toolkit (twitter’s Bootstrap and jQuery integration).
Possible Features¶
These features are still subject for discuss
- Authorization support (separated from authentication).
- Django apps support.
- Visual editor (using interface toolkit).