|
|
Open Source Software in Python
- Pyjamas -
Pyjamas is a web framework based on the translation of the application and libraries (including UI widgets and DOM classes) to Javascript and the packaging up of that Javascript code.
- Aspects.py -
aspects.py library provides means to intercept function calls. Functions and methods (also in Python standard library and third party code) can be wrapped so that when they are called, the wrap is invoked first. Depending on the wrap, the execution of the original function can be omitted, or the function can be called arbitrarily many times. Wraps are able to modify the arguments and the return value of the original function. In the terminology of aspect-oriented programming, the library allows applying advices (wraps) to call join points of methods and functions in around fashion.
- PyBlosxom -
PyBlosxom is a lightweight file-based weblog system. It originally started out as a Python clone of Blosxom but has since evolved into a beast of its own. PyBlosxom focuses on three things: simplicity, extensibility, and community.
* simplicity - PyBlosxom uses the file system for all its data storage. Because of this you can use whatever editor you want to use to create, update, and manipulate entries.
* extensibility - PyBlosxom has a plugin framework allowing you to build plugins in Python to augment and change PyBlosxom's default behavior.
* community - There are hundreds of PyBlosxom users out there all of whom have different needs. PyBlosxom is used on a variety of operating systems in a variety of environments. The pyblosxom users list shares their experiences, plugins, and expertise.
PyBlosxom runs as a CGI script, under Paste, and as a WSGI
- SCons -
SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.
- Plone -
Plone is a ready-to-run content management system that is built on the powerful and free Zope application server. Plone is easy to set up, extremely flexible, and provides you with a system for managing web content that is ideal for project groups, communities, web sites, extranets and intranets.
- MatPlotLib -
MatPlotLib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell (ala matlab or mathematica), web application servers, and six graphical user interface toolkits.
- PyChecker -
PyChecker is a tool for finding bugs in python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. It is similar to lint. Because of the dynamic nature of python, some warnings may be incorrect; however, spurious warnings should be fairly infrequent.
- SQL Relay -
Database connection pool with support for lots of languages and databases.
- PyTables -
PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data.
- Tiny ERP -
Tiny ERP is an Open Source ERP & CRM. Tiny ERP has been developed for flexible and specific needs. The principal modules are:
* Customer and supplier management
* CRM: customers, sales opportunities segmentation, ...
* Marketing: Campaigns, Reporting, ...
* Accounting: Double-entry, Analytic, Financial, ...
* Sales: Sales Management, Orders, Commercial Organisation, ...
* Stocks: Stock Management, Double-Entry, Per location, ...
* Purchase: Invoicing Control, Merchandise Control, ...
* Logistic: Work flows, Intern Request, Programmable Alarm, ...
* Human Resources: Time Sheets, Notes, ...
* Network: simultanious multiple users of a central database, ...
- SnapLogic -
SnapLogicis an Open Source Data Integration framework that uses the universal standards of the Web and applies them to the problem of data integration.
Unlike commercial integration solutions that are designed for individual integration tasks, SnapLogic has the power and flexibility to address a wide range of data integration requirements without hand-coding.
Whether it is data migration and synchronization, ETL for data analytics or data services for Rich Internet Applications, SnapLogic can meet all of your data integration needs.
- Sphene Community Tools -
SCT (Sphene Community Tools) is a collection of Django applications that are designed to be easily pluggable into any Django project. It currently consists of a Wiki and an extensible Forum application.
Features for the forum include rendering of BBCode or markdown (with a pluggable rendering architecture), hierarchical forum categories, granular permissions, new posts-notifications and many more. It is extensible through 'Category Types' and includes a LinkList and Blog application to demonstrate it's use.
- Beautiful Soup -
Beautiful Soup is a Python HTML/XML parser designed for quick turnaround projects like screen-scraping. Features:
* Beautiful Soup won't choke if you give it bad markup. It yields a parse tree that makes approximately as much sense as your original document. This is usually good enough to collect the data you need and run away.
* Beautiful Soup provides a few simple methods and Pythonic idioms for navigating, searching, and modifying a parse tree: a toolkit for dissecting a document and extracting what you need. You don't have to create a custom parser for each application.
* Beautiful Soup automatically converts incoming documents to Unicode and outgoing documents to UTF-8. .
- Eric -
Eric is a full featured Python and Ruby editor and IDE, written in python. It is based on the cross platform Qt gui toolkit, integrating the highly flexible Scintilla editor control. It is designed to be usable as everdays' quick and dirty editor as well as being usable as a professional project management tool integrating many advanced features Python offers the professional coder.
- EasyInstall -
Easy Install is a python module (easy_install) bundled with setuptools that lets you automatically download, build, install, and manage Python packages.
- Roundup Issue Tracker -
Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry "Track" design competition.
- Logging -
Logging is a standard logging system. Based on PEP 282 and comments thereto in comp.lang.python, and influenced by Apache's log4j system.
Should work under Python versions >= 1.5.2, except that source line information is not available unless 'sys._getframe()' is.
- Python-ldap -
Python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP 2.x libs for that purpose.
Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 schema, etc.).
- NetworkX -
NetworkX (NX) is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
Features:
* Includes standard graph-theoretic and statistical physics functions
* Easy exchange of network algorithms between applications, disciplines, and platforms
* Includes many classic graphs and synthetic networks
* Nodes and edges can be "anything" (e.g. time-series, text, images, XML records)
* Exploits existing code from high-quality legacy software in C, C++, Fortran, etc.
* Open source (encourages community input)
* Unit-tested
- ReportLab Toolkit -
The ReportLab Toolkit is an open source PDF library that implements a flexible layout engine named Platypus that builds documents from components like headlines, paragraphs, fonts, tables, bitmap images, vector graphics, etc. These flowable elements are placed in a document "story" following a set of templates for frames, pages and the entire document itself. In addition to the standard 14 PostScript fonts there is full support for custom embedded Type-1 as well as for Asian fonts.
- PyParsing -
The PyParsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The PyParsing module provides a library of classes that client code uses to construct the grammar directly in Python code.
- SQLObject -
SQLObject is a popular Object Relational Manager for providing an object interface to your database, with tables as classes, rows as instances, and columns as attributes.
SQLObject includes a Python-object-based query language that makes SQL more abstract, and provides substantial database independence for applications.
- Trac -
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management.
- Universal Feed Parser -
Universal Feed Parser is a Python module for downloading and parsing syndicated feeds. It can handle RSS 0.90, Netscape RSS 0.91, Userland RSS 0.91, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0, and CDF feeds. It also parses several popular extension modules, including Dublin Core and Apple's iTunes extensions.
- PyLucence -
PyLucene is a GCJ-compiled version of Java Lucene integrated with Python. Its goal is to allow you to use Lucene's text indexing and searching capabilities from Python. It is designed to be API compatible with the latest version of Java Lucene.
- PyCrypto -
PyCrypto is a collection of cryptographic algorithms and protocols, implemented for use from Python. Features:
* Hash functions: MD2, MD4, RIPEMD, SHA256.
* Block encryption algorithms: AES, ARC2, Blowfish, CAST, DES, Triple-DES, IDEA, RC5.
* Stream encryption algorithms: ARC4, simple XOR.
* Public-key algorithms: RSA, DSA, ElGamal, qNEW.
* Protocols: All-or-nothing transforms, chaffing/winnowing.
* Miscellaneous: RFC1751 module for converting 128-key keys into a set of English words, primality testing.
- Bazaar -
Bazaar is a distributed version control system, that reduces barriers to participation in your project.
Features:
* Good performance: Bazaar status in a tree of 5,000 files takes just 0.5 seconds, so almost every open source project can get the advanced features of Bazaar without slowing down its developers.
* Safe with your data: Bazaar has a huge test suite that ensures that new file formats can be tested automatically. The development process follows best practice with code review of all core and community code landings.
* Friendly: Bazaar "Just Works" (which is why the Ubuntu team chose it for their project). Bazaar has a natural feel, you can publish your code on any web server or use a custom server for performance. Bazaar has perfect support for renaming files AND directories, which means you can unleash your community and merge efficiently even from contributors who are radically restructuring the tree.
* Easy to integrate: Bazaar is designed as a Python API with a plugin system, so it is easy to embed in your tools and projects and easy to extend or integrate with existing infrastructure.
- Genshi -
Genshi is a Python library that provides an integrated set of components for parsing, generating, and processing HTML, XML or other textual content for output generation on the web.
The main feature is a template language that is smart about markup: unlike conventional template languages that only deal with bytes and (if you're lucky) characters, Genshi knows the difference between tags, attributes, and actual text nodes, and uses that knowledge to your advantage.
- PyUnit -
This unit testing framework, dubbed 'PyUnit' by convention, is a Python language version of JUnit. It lets you write tests easily, aggregate them to run by groups, and run them in text or GUI mode.
- Zope -
Zope is an open source web application server primarily written in the Python programming language. It features a transactional object database which can store not only content and custom data, but also dynamic HTML templates, scripts, a search engine, and relational database (RDBMS) connections and code. It features a strong through-the-web development model, allowing you to update your web site from anywhere in the world. To allow for this, Zope also features a tightly integrated security model. Built around the concept of "safe delegation of control", Zope's security architecture also allows you to turn control over parts of a web site to other organizations or individuals. The transactional model applies not only to Zope's object database, but to many relational database connectors as well, allowing for strong data integrity. This transaction model happens automatically, ensuring that all data is successfully stored in connected data sources by the time a response is returned to a web browser or other client.
- BoboMail -
BoboMail is a webmail application, which provides mail access through a web interface.
Features:
* read, write, reply, forward, delete and bounce messages
* send and receive attachments
* decodes quoted-printable, base64 and uuencoded
* handles HTML-mails properly (with inline images!)
* does not need Javascript
* direct support for the following MIME types: message/rfc822, message/delivery-status, multipart/alternative, multipart/mixed, multipart/report, multipart/related, multipart/digest, text/plain, text/html, text/x-vcard, image/jpeg, text/rfc822-headers, image/png, image/x-xpixmap, image/gif
* works with POP3-servers and partially IMAP4 (spool-files under development)
* easy to modify and customize through HTML-templates
* modular design provides easy interface for other authentication methods and mail protocols
* provides optionally its own fast multithreading webserver (BoboMailHTTPD)
* multi-lingual support (i18n) - currently English, Brazilian Portuguese, Finish, Spanish and German
* and it's 100% Python
- CherryPy -
CherryPy is object-oriented HTTP framework written in python. CherryPy allows developers to build web applications in much the same way they would build any other object-oriented Python program. This usually results in smaller source code developed in less time.
- Python Web Services -
The Web Services for Python Project provides libraries for developing web services using the python programming language. The libraries implement the various protocols used when writing web services including SOAP, WSDL, and other related protocols.
- twill -
twill is a simple scripting language intended for programmatic or automated browsing of Web sites.
- MoinMoin -
MoinMoin is an advanced, easy to use and extensible WikiEngine with a large community of users. It supports GUI (WYSIWYG) and text (markup) editing.
- Bika LIMPS -
Bika combines workflow processing with web content management for a one-stop web-based LIMS (Software used in the laboratory for the management of samples, users, instruments, standards and other laboratory functions)
- PyXML -
The PyXML package is a collection of libraries to process XML with Python. It contains, among other things
* xmlproc: a validating XML parser.
* Expat: a fast non-validating parser.
* sgmlop: a C helper module that can speed-up xmllib.py and sgmllib.py by a factor of 5.
* PySAX: SAX 1 and SAX2 libraries with drivers for most of the parsers.
* 4DOM: A fully compliant DOM Level 2 implementation
* javadom: An adapter from Java DOM implementations to the standard Python DOM binding.
* pulldom: a DOM implementation that supports lazy instantiation of nodes.
* marshal: a module with several options for serializing Python objects to XML, including WDDX and XML-RPC.
|
|