What non-web oriented Python frameworks exist?

I am looking for a good framework on which to base application development.

In PHP, I use Symfony , in ActionScript PureMVC , all of them are MVC environments.

I'm looking for a Python framework focused on developing general-purpose applications , not a web application. I mean only applications, services, daemons, etc. Sometimes I have no real opportunity for implementation, just for the RPC service. In other cases, I have to encode a serial port or implement a command scheduler or something else.

What is the best open source software I can imagine as a standard base for my needs? Why, in your opinion, your offer will satisfy my requirements in comparison with competitors?

EDIT:

For "general purpose", I mean that I do not have a strict restriction with or without a graphical interface, being a daemon or a command-line application that is multiprocessor / multithreaded or not. To be general, giving a good structure of architecture, and not to be a specific tool.

EDIT 2:

I would like to explain that the question of the possible existence of one or more “frameworks” is not limited to any specific use case, but can provide a good and well-standardized launch structure / architecture, and some applied best practices that are a guideline that can be addressed on planning the architecture of the application itself, and not on their behavior in relation to the tasks performed.

I think this question is not so subjective, maybe incorrectly exposed due to my English, but I believe that it is legal.

+4
source share
8 answers

I would suggest that you are looking for Enthought Tool Suite (ETS), specifically Envisage (an extensible plug-in architecture for scientific applications).

+6
source

For network services that need to process multiple connections asynchronously, a large number of people prefer Twisted .

However, outside of this (and web applications), there is simply less need to create comprehensive Python frameworks than in many other languages ​​- the kernel language itself is expressive, powerful, and comes with batteries included; why add something?

+9
source

Check out the architecture of the Zope components. It is an architecture for using and reusing components. It is mainly used in web applications because it is used in Zope (as the name implies), but it is in no way dependent on the network.

I quickly wrote to him: http://regebro.wordpress.com/2007/11/16/a-python-component-architecture/

Here is an online book about it: http://www.muthukadan.net/docs/zca.html

And here is a non-online book: http://www.amazon.com/dp/354076447X

+6
source

"Unlimited with or without a graphical interface" does not make much sense.

The GUI - as a rule - is quite complex and requires structure. People use tkinter , pyQT , pyGTK , wxWidgets , etc. to build a graphical interface.

"or cmd line application" does not require any structure. This is already part of the standard library.

"is multi-processor / multi-threaded or not" is already part of the standard library.

Since "general" doesn't really matter, there are several answers:

  • For developing a graphical interface, yes, there are many frameworks. The "best" is subjective.

  • There are no additional "frameworks" for development without a GUI.

  • For the "event network" there is twisted .

  • For the "object-relational mapping" there are several. The "best" is subjective.

+3
source

It’s hard for me to imagine what an “infrastructure” is that combines “with or without a graphical interface, being a daemon or cmd line application, multi-processor / multi-threaded”. What do you expect from such a structure?

The framework is built to encapsulate various basic tasks - a graphical interface or a web interface, asynchrony, or something else - so, as you say, users do not need to invent them. But you explicitly exclude everything that makes the framework a framework, so I don’t see what you are left with.

About the only thing you do not exclude is access to the database (ORM). If that's all you want, look at sqlalchemy.

+3
source

The core Python language and the standard library themselves are an amazing foundation.

Only for some languages, which are to some extent insufficient, the framework for effective application development is necessary (for example: JavaScript needs jQuery or Prototype ).

General approach with Python:

  • Check out the standard library; he probably has what you need.
  • If there is a large component that is not part of the standard library, perhaps there is a specific library that helps with it.
+1
source

Linking Python to GObject and GLib provides an application framework that is not associated with a GUI or anything - however, if it needs to be bound to a user interface, GTK + comes closer.

GLib provides features such as the main application loop, events, signals, and callbacks. GObject implements a base class for objects with associated signal slots.

GLib also offers many file system abstractions, including VFS, garbage handling, directory monitoring, file metadata.

The python link is here:

http://library.gnome.org/devel/pygobject/stable/index.html

0
source

I do not think you are asking for existence. Frames provide a common framework for such applications, while you ask for something for all applications. Almost by definition, such a thing cannot exist.

Instead, for each type of application, if you do not find a framework for this type of application, you yourself provide the structure and use the libraries to provide the general functionality available for all applications. Python has many good libraries that come as standard, and more can be found in PyPi .

0
source

All Articles