Skip to content

Commit bbfdd06

Browse files
committed
Fix setup.py include LICENSE, etc
1 parent a31a869 commit bbfdd06

6 files changed

Lines changed: 147 additions & 130 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Uliweb Change Log
55
-----------------
66

77
* Update nginx support output, add proxy_set_header
8-
* Add `save_file()` function to orm, so you can save select reesult to a csv file
8+
* Add `save_file()` function to orm, so you can save select result to a csv file
99
* Add `save_file()` method to Result.
1010
* Fix missing `clear()` function of SortedDict.
1111
* Fix i18n process, for project and apps extraction, it'll create application first, so that

COPYLEFT.txt

Lines changed: 0 additions & 8 deletions
This file was deleted.

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include LICENSE AUTHORS.md README.md CHANGELOG.md

README.md

Lines changed: 82 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,110 +7,138 @@ Limodou <limodou@gmail.com>
77

88
## About Uliweb
99

10-
Uliweb is a Python based web framework.
10+
Uliweb is a full-stacked Python based web framework. It has three main design
11+
goals, they are: reusability, configurability, and replaceability. All the
12+
functionalities revolve around these goals.
13+
14+
This project was created and lead by Limodou <mailto:limodou@gmail.com>.
1115

12-
This project was created and lead by Limodou <limodou@gmail.com>.
1316

1417
## License
1518

1619
Uliweb is released under BSD license.
1720

1821
## Infrastructure
1922

20-
Uliweb was not created totally from scratch. It uses some modules created by other developers, for example:
23+
Uliweb was not created totally from scratch. It uses some modules created by
24+
other developers, for example:
25+
2126

22-
* Werkzeug Used to handle core processes in the framework. For example: command line tools , URL Mapping, Debug, etc.
23-
* SqlAlchemy The ORM based on it. Developers can access databases, or use the module separately.
27+
* [Werkzeug](http://werkzeug.pocoo.org/) Used to handle core processes in the framework.
28+
For example: URL Mapping, Debug, Request, Response, etc.
29+
* [SqlAlchemy](http://www.sqlalchemy.org) The ORM based on it. Developers can access
30+
databases, or use the module separately.
2431

2532
I also referenced some code from other web frameworks, for example:
2633

27-
* The Templating system is styled after the one used in web2py several improvements were made.
34+
35+
* The Templating system is styled after the one used in [web2py](http://mdp.cti.depaul.edu/) several
36+
improvements were made.
37+
* Some code inspired from Django.
2838

2939
I also constructed a few new "wheels" myself. For example:
3040

31-
* Form processing module. Developers can use it to create HTML code, validate submitted data and convert submitted data to Python data types.
41+
* Form processing module. Developers can use it to create HTML code, validate submitted data and
42+
convert submitted data to Python data types.
3243
* I18n processing including template support, language lazy process.
33-
* Uliorm, which is an ORM module, was built on top of SqlAlchemy.
44+
* Cache & Session modules.
45+
* Uliorm, which is an ORM module, was built on top of SqlAlchemy. I also referenced from
46+
GAE datastore module.
3447
* Framework runtime process.
35-
* Plugin mechanism, styled after the one used in the UliPad project.
48+
* Plugin mechanism, styled after the one used in the [UliPad](http://code.google.com/p/ulipad) project.
3649

3750
## Features
3851

39-
* Organization
52+
* Project Organization
4053

4154
* MVT(Model View Template) development model.
42-
* App-based project structure.
43-
44-
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.
45-
46-
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.
55+
* Distributed development but unified management. Uliweb organizes a project with
56+
small apps. Each app can have its own configuration file(settings.ini), template
57+
directory, and static directory. Existing apps can be easily reused, but are treated as a compound.
58+
web application project if configured as such. Developers can also
59+
reference static files and templates between apps, thus easing inter-application data exchange.
60+
All apps in a project are loaded by default if INSTALLED_APPS is not configured in
61+
the configuration file. All separate app configuration files are automatically processed at
62+
project startup.
4763

4864
* URL Mapping
4965

50-
Flexible 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.
51-
52-
* View and Template
53-
54-
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. And now, Uliweb also support Class View style. I hope you can enjoy it.
55-
56-
* Environment execution mode
66+
* Flexiable and powerful URL mapping. Uliweb uses werkzeug's routing module.
67+
User can easily define a URL, which in turn can be easily bound with a view function.
68+
URLs can also be created reversely according to the view function name. It supports
69+
argument definitions in URLs and default URL mapping to a
70+
view function.
5771

58-
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
72+
* View and Template
5973

60-
Developers can directly use Python code in a template, the Python code does not neede 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.
74+
* View templates can be automatically applied. If you return a dict variable from
75+
view function, Uliweb will automatically try to match and apply a template according
76+
to the view function name.
77+
* Environment execution mode. Each view function will be run in an environment,
78+
which eliminates the need to write many import statements. Plus there are already many
79+
objects that can be used directly, for example: request, response, etc. This is DRY and saves a lot of coding
80+
* Developers can directly use Python code in a template, the Python code does not neede to be indented
81+
as long as a pass statement is added at the end of each code block.
82+
Uliweb also supports child template inclusion and inheritance.
6183

6284
* ORM
6385

64-
Uliorm is the default ORM module but not configured by default. Developers are free to use any ORM module as preferred. Uliorm supports basicly orm functionalities, and also support multiple databases. The important thing is Uliorm has designned a configurable settings so that user can easy config models even replace old model with new one.
86+
* Uliorm is based on SQLAlchemy package, so you can use Model layer and SQL
87+
expression layer both.
88+
* Uliorm integrates with alembic package, you can use it to migirate database
89+
automatically.
6590

6691
* I18n
6792

68-
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.
69-
93+
* Can be used in python and template files.
94+
* Browser language and cookie settings are supported including automatic language switching.
95+
* Provides a command line tool that developers can use to extract .po files.
96+
This can happen either at the app level or project level process. It can automatically merge .pot files to existing
97+
.po files.
98+
7099
* Extension
71100

72-
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 initicalization, I18n process initialization, etc.
73-
74-
* Middleware extension
101+
* Dispatch extension. This is a dispatch processing mechanism that utilizes different
102+
types of dispatch points. So you can write procedures to carry out
103+
special processes and bind them to these dispatch points. For example, database
104+
initicalization, I18n process initialization, etc.
105+
* middleware extension. It's similar to Djangos. You can configure it in configuration
106+
files. Each middleware can process the request and response objets.
107+
* Special function calls in the views module initial process. If you write a special
108+
function named __begin__, it'll be processed before any view function can be processed,
109+
this allows developers to do some module level processing at that point, for example:
110+
check the user authentication, etc.
75111

76-
It's similar to Djangos. You can configure it in configuration files. Each middleware can process the request and response objets.
77-
78-
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.
79-
80112
* Command Line Tools
81113

82-
* Create app, and include the basic essential directory structure, files and code.
83-
* Export static files, you can export all available apps' static files to a special directory.
114+
* Creates project, creates apps, and include the basic essential directory
115+
structure, files and code.
116+
* Export static files, you can export all available apps' static files to a
117+
special directory. Also supports css and js combinition and compress process.
84118
* Startup a development web server thats supports debugging and autoreload.
119+
* Apps can also have its own command line tools. For example: orm, auth, etc.
85120

86121
* Deployment
87122

88-
* Supports easy deployment on the GAE platform(but uliorm doesn't support datastore).
89-
* Also support dotCloud, heroku, .etc.
90-
* Supports mod_wsgi, cgi, fast_cgi, scgi, uwsgi.
123+
* Supports mod_wsgi in Apache.
124+
* Supports uwsgi.
91125

92126
* Development
93127

94-
Provide a development server, and can be automatically reload when some module files are modified.
95-
96-
* static file serving support.
97-
98-
Uliweb supports static file access directly, and it can also process HTTP_IF_MODIFIED_SINCE and return static file content in trunk.
99-
100-
## Principle
128+
* Provide a development server, and can be automatically reload when some
129+
module files are modified.
130+
* Enhanced debugging, you can check the error traceback, template debugging is also supported.
101131

102-
* Simple and easy to use web framework.
103-
* Reusability and configurable are the main ideas about Uliweb.
104-
* The web framework should be flexible and easy to extend.
105132

106-
## Documentation
133+
## Commuity
107134

108-
You can see the DOC at https://github.com/limodou/uliweb-doc
135+
* Mailing List: https://groups.google.com/forum/#!forum/uliweb
109136

110137
## Links
111138

112-
* Plugs is a Uliweb apps collection project, you can visit it at https://github.com/limodou/plugs
113-
* uliwebzone is a community project of Uliweb, you can visit it at https://github.com/limodou/uliwebzone.
114-
* Discuss forum http://uliweb.clkg.org or http://www.uliweb.org
139+
* **Uliweb** Project Homepage https://github.com/limodou/uliweb
140+
* **Uliweb-doc** Documentation Project [http://github.com/limodou/uliweb-doc](http://github.com/limodou/uliweb-doc)
141+
* **Uliweb-doc Online** Document [http://limodou.github.com/uliweb-doc/](http://limodou.github.com/uliweb-doc/)
142+
* **plugs** Uliweb Apps Collection Project https://github.com/limodou/plugs
115143

116144
![LOGO](https://raw.github.com/limodou/uliweb/master/logos/uliweb_logo_small.png)

0 commit comments

Comments
 (0)