Easy python web framework
Project description
About Uliweb
Uliweb is a full-stacked Python based web framework. It has three main design goals, they are: reusability, configurability, and replaceability. All the functionalities revolve around these goals.
This project was created and lead by Limodou <mailto:limodou@gmail.com>.
License
Uliweb is released under BSD license.
Features
Organization
MVT(Model View Template) development model.
Distributed development but unified management. Uliweb organizes a project with small apps. Each app can have its own configuration file(settings.ini), template directory, and static directory. Existing apps can be easily reused, but are treated as a compound. web application project if configured as such. Developers can also reference static files and templates between apps, thus easing inter-application data exchange. All apps in a project are loaded by default if INSTALLED_APPS is not configured in the configuration file. All separate app configuration files are automatically processed at project startup.
URL Mapping
Flexiable and powerful URL mapping. Uliweb uses werkzeug’s routing module. User can easily define a URL, which in turn can be easily bound with a view function. URLs can also be created reversely according to the view function name. It supports argument definitions in URLs and default URL mapping to a view function.
View and Template
View templates can be automatically applied. If you return a dict variable from view function, Uliweb will automatically try to match and apply a template according to the view function name.
Environment execution mode. Each view function will be run in an environment, which eliminates the need to write many import statements. Plus there are already many objects that can be used directly, for example: request, response, etc. This is DRY and saves a lot of coding
Developers can directly use Python code in a template, the Python code does not need to be indented as long as a pass statement is added at the end of each code block. Uliweb also supports child template inclusion and inheritance.
ORM
Uliorm is based on SQLAlchemy package, so you can use Model layer and SQL expression layer both.
Uliorm integrates with alembic package, you can use it to migrate database automatically.
I18n
Can be used in python and template files.
Browser language and cookie settings are supported including automatic language switching.
Provides a command line tool that developers can use to extract .po files. This can happen either at the app level or project level process. It can automatically merge .pot files to existing .po files.
Extension
Dispatch extension. This is a dispatch processing mechanism that utilizes different types of dispatch points. So you can write procedures to carry out special processes and bind them to these dispatch points. For example, database initialization, I18n process initialization, etc.
middleware extension. It’s similar to Django. You can configure it in configuration files. Each middleware can process the request and response objects.
Special function calls in the views module initial process. If you write a special function named __begin__, it’ll be processed before any view function can be processed, this allows developers to do some module level processing at that point, for example: check the user authentication, etc.
Command Line Tools
Creates project, creates apps, and include the basic essential directory structure, files and code.
Export static files, you can export all available apps’ static files to a special directory. Also supports css and js combination and compress process.
Startup a development web server that’s supports debugging and auto reload.
Apps can also have its own command line tools. For example: orm, auth, etc.
Deployment
Supports uwsgi.
Development
Provide a development server, and can be automatically reload when some module files are modified.
Enhanced debugging, you can check the error traceback, template debugging is also supported.
Commuity
Mailing List: https://groups.google.com/forum/#!forum/uliweb
Links
Uliweb Project Homepage https://github.com/limodou/uliweb3
Uliweb-doc Documentation Project http://github.com/limodou/uliweb-doc
Uliweb-doc Online Document http://limodou.github.com/uliweb-doc/zh_CN/uliweb3
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Uliweb3-0.3.2.tar.gz
.
File metadata
- Download URL: Uliweb3-0.3.2.tar.gz
- Upload date:
- Size: 361.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b200a3d68c17c50420a987bc99a6eb3b789c9880bbcec0a74a73af75a97ae5fb |
|
MD5 | 020faca472e0bfe567ef759114e1b563 |
|
BLAKE2b-256 | d8165628e5dd8a8b16f1bd712295bd2f0d41d2785058ba5c67355e94de1c76ba |
File details
Details for the file Uliweb3-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: Uliweb3-0.3.2-py3-none-any.whl
- Upload date:
- Size: 378.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a982636588b5eab7a3ea244a34baf2b6eac12645a83bbafecbd99a9e01a33a6b |
|
MD5 | c9e54d125dd9fb1051caf66242e7455d |
|
BLAKE2b-256 | 73eedca973a6365bedcfd8d317c7478beb696144f2673cc07805ad6883b6ef2d |