Recently Added Projects
Dec 02 » Source Control » SVNChecker
SVNChecker is a framework for Subversion pre-commit and post-commit hook scripts. It allows a tight integration of Subversion with existing working and development environments and to perform a variety of checks of the committed source code. The major use cases are the integration of Subversion with issue and bug tracking systems and the check of source code against coding standards. But, the SVNChecker can be used for any other use case where a tight integration with the source code management is necessary. SVNChecker is designed and developed in Python as an open extensible framework. By writing appropriate plug-ins, it can be extended to almost any kind of \"check\" (for example, to check source code or to query external databases). This can be used to enforce a variety of regulations of the software development process. By developing \"handler\" plug-ins, the result of checks can be handled in almost all needed ways (for example, for sending emails, updating databases, or running any given external software).
General Purpose IDE and Software Development Tool for Linux. Supports project based edit-and-run style programming for Python and 15 other languages. Has integrated shells, debuggers, syntax checking, version control, bug tracker, backup and package building capabilities. Supports HTML and other markup languages for documentation and website development with spell checking, link checking, image viewing and conversion and publication via SFTP. Has user modifiable snippets, templates, wizards, tools and dictionary. Can edit system configuration files, view log files and control system processes via sudo. Requires wxPython.
Apr 27 » Web Frameworks » web2py
web2py is a free, open-source web framework for agile development of secure database-driven web applications; it is written in Python and programmable in Python. web2py is a full-stack framework, meaning that it contains all the components you need to build fully functional web applications.
Apr 27 » Persistence » HyperSQL
HyperSQL is like a doxygen for SQL, hypermapping SQL views, packages, procedures, and functions to HTML source code listings and showing all code locations where these are used. The internal \"where used\" functionality also scans C++ and Java source files.
Apr 27 » General Purpose » Python Hyperschema
Python Hyperschema is an open source public domain project that creates useful and really cool HTML hypermaps from SQL database schema, consisting of two small PL/SQL files and one Python (or C) source code file. The generated HTML pages have mousover data displays for all foreign keys, hyperlinked to the foreign key tables, as well as a hyperlinked list of all foreign keys pointing to each table and a master index of all tables.
Sep 01 » Search Engines » Whoosh
Whoosh is a fast, featureful full-text indexing and searching library implemented in pure Python.
Sep 01 » Project Management » Basie
Basie is a web-based software project forge that integrates revision control, issue tracking, mailing lists, wikis, status dashboards, and other tools that developers need to work effectively in teams. Basie is simple enough for undergraduate students to master in ten minutes, but powerful enough to support large, distributed teams.
Sep 01 » Web Frameworks » TurboGears
Turbogears is a high-level MVC based web framework for Python. It is built on top of a collection of best-of-breed WSGI components, like Pylons, SQLAlchemy, Repoze, and Genshi. However, there are numerous options and plugins available for whatever your coding preference may be. Speed, flexibility and simplicity are integral, as it is designed for rapid development without giving up on power.
Jul 09 » Source Control » Mercurial
A fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects.
Leo is a general data management environment. It shows user-created relationships among any kind of data: computer programs, web sites, etc. Leo is an outlining editor for programmers. It embeds the noweb and CWEB markup languages in an outline context. Leo is a flexible browser for projects, programs, classes or any other data. Leo is a project manager and rovides multiple views of a project within a single outline.
Jun 12 » Forum Soft » 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.
Rope is a python refactoring library. You can use rope as a library in other IDEs. Features: * Refactorings * IDE helpers * Object Interface
Feb 10 » Wiki Engines » PyleWiki
Pyle is a WikiClone - an implementation of a program sharing general ideas with the original WikiWiki developed by Ward Cunningham. Features: * Edit pages via FTP * Script for downloading snapshots of the entire site as a .zip file * Optional CVS database backend * Email notification when a page is changed * Attachments (eg. images, documents etc.) to pages (both inlined and separately-retrievable) with MIME-types * HTML template-files controlling a simple \"look and feel\"; support for CSS stylesheets * Cookie for username, or use htpasswd * Embed HTML or other markup in WikiPages * Unix-like rwxrwxrwx permissions on pages
Nov 19 » Network Servers » 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
Nov 13 » Source Control » 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.
Scribes is a text editor for GNOME. Scribes focuses on streamlining your workflow. It does so by ensuring common and repetitive operations are intelligently automated. And also by eliminating factors that prevent you from focusing on your tasks.
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.
GNOWSYS is an acronym for Gnowledge Networking and Organizing SYStem. It is developed as a product of a widely used free (as in freedom) web-application server, ZOPE (Zee Object Publishing Environment), and is implemented in a versatile, full-featured object-oriented programming language Python. Its development is supported by Homi Bhabha Centre for Science Education, TIFR. Features: * It is an object oriented database with each object provided by an unique URL. * It is a web-application server. * It can store both data and meta-data of objects. * Objects can be classified according to subclass/superclass relation, and also instantiation relation (class-instance). Polymorphism is possible. * Objects and their classes (called ObjectTypes) can be related in terms of arbitrary relation names. * Metatype (type of types) and relations among them can also be expressed. * Quantifiers and modalities can also be part of the persistent data. * Data and meta-data of objects can be indexed in a catalogue for faster query. * Optionally data can remain anywhere on the Internet keeping only the metadata in the database. This feature will be most useful for what is now becoming popular as semantic web. * Surrogates of procedures (classes, functions, and system calls) can also be installed in the database as special objects. (Any procedure callable through Python is supported.) These procedures execute when invoked as web services. * Using the above feature it is possible to design applications without writing program in any programming language: i.e., specifying the semantics of a program and mapping the elements of the program to the surrogates of procedures is sufficient for GNOWSYS to test the application design. This forms the foundation for semantic computing using GNOWSYS. * Data can be accessed through HTTP, FTP, WebDav, XML-RPC protocols. * GQL: Gnowledge Query Library is being developed for query, retrieval, and management of the DB. Presently it is implemented in XML-RPC. * It is interoperable. Works in all the known operating systems where both Python and Zope are known to work.
Nov 02 » Project Management » Jest
Jest is a software project estimator. Jest predicts how much time and how many people it will take to create a piece of software. Features: * Gives you a decent estimate from a small amount of input. * Gives you a better estimate with more detailed input. * Runs from the command line.
Frog is a web blog tool written in Python, and designed as a web application for Snakelets.
Python fcrypt is a pure Python implementation of the Unix crypt(3) algorithm, and packaged it with Distutils and with doc strings for pydoc and doctest. It's based on Eric A. Young's optimized fcrypt code, which was written in C.
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.
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
Oct 27 » Search Engines » 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.
Oct 12 » Persistence » Database Objects
Database Objects (dbObj) is a dynamic object-oriented, repository based layer on top of the Python DB-API II spec. DbObj is developed in sync with Kura database application. DbObj wraps the DB-API II spec in several layers. At the bottom, there's a wrapper around the interface. the db.py module connects to the database. asks the database to execute queries and returns results.
Oct 11 » Persistence » Python Database Row Module
Python Database Row Module defines light-weight objects which allow very flexible access to a fixed number of positional and named attributes via several interfaces. Or, more simply, these objects are a better way of returning the results of database queries, since they allow efficient access to fields by name or by index. It uses some of the new features of the Python 2.2 class system, and provide a nice demonstration of how to take advantage of them.
Oct 10 » Persistence » Modeling Framework
Modeling is an Object-Relational Bridge for python. The Modeling framework intends to fill the gap between the python object world and relational databases. It relies on a model, based on Entity-Relationship Modeling, that describes how the two worlds map to each other. From your design of such a model, the database's schema and corresponding python classes are automatically generated. Thus, once you have designed how your classes should be stored in the RDBMS, you can focus on the real challenges - the logic of your business objects - while remaining in the object-oriented world of those objects and never having to worry about the SQL and RDBMS persistence layer below.
Oct 09 » Persistence » Dejavu
Dejavu is a thread-safe Object-Relational Mapper for Python applications. It is designed to provide the \"Model\" third of an MVC application. When you build an application using Dejavu, you must supply the Controller(s) and View(s) yourself. Dejavu does not provide these, and does its best to not limit your choices regarding them.
Oct 08 » Persistence » Storm
Storm is an object-relational mapper (ORM) for Python developed at Canonical. The project has been in development for more than a year for use in Canonical projects such as Launchpad, and has recently been released as an open-source product.
PIDA is an IDE (integrated development environment). PIDA is different from other IDEs in that it will use the tools you already have available rather than attempting to reinvent each one. PIDA is written in Python with the PyGTK toolkit, and although is designed to be used to program in any language, PIDA has fancy Python IDE features.
Oct 05 » Persistence » PyDO
PyDO(Python Data Objects) is a Object-Relational database access tool. It provides a convenient API for retrieving and manipulating data without constraining in any way how the data is persisted at the RDBMS level.
Oct 04 » Testing Tools » apycot
apycot is an Automated Pythonic Code Tester. This package is designed to run tests on a code repository on a daily basis. It comes with a set of predefined test, essentially for python packages, and a set of predefined reports to display execution results. However, it has been designed to be highly extensible, so you could write your own test or report using the Python language.
Oct 04 » Web Frameworks » htc-py HyperText Converter
The HyperText Converter converts code from XML to HTML (in:XML out:HTML). htc-py is based on a number of python scripts. htc-py is designed to run from the command line. htc-py helps you creating your webpage or presentation in an easier way.
Oct 03 » Logging Tools » 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.
Oct 03 » HTML Parsers » 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. .
Oct 01 » Search Engines » advas
advas is a python module which provides algorithms for advanced search. These methods are mainly used in information retrieval and linguistics. This package contains: * statistical algorithms: term frequency (tf), term frequency with stop list, inverse document frequency (idf), retrieval status value (rsv), language detection, k-nearest neighbour algorithm (kNN). * linguistic algorithms: stemming algorithms, synonym detection with the use of the OpenThesaurus (plain text version). * sound-like methods: soundex, metaphone, NYSIIS algorithm, caverphone algorithm (version 2.0). * ranking methods a simple descriptor-based ranking algorithm. * text search algorithms: Knuth-Morris-Pratt.
Sep 28 » XML Parsers » 4Suite
4Suite is a toolkit for XML and RDF application development. It features a library of integrated tools for XML processing, implementing open technologies such as DOM, RDF, XSLT, XInclude, XPointer, XLink, XPath, XUpdate, RELAX NG, and XML/SGML Catalogs. Layered upon this is an XML and RDF data repository and server, which supports multiple methods of data access, query, indexing, transformation, rich linking, and rule processing, and provides the data infrastructure of a full database system, including transactions, concurrency, access control, and management tools.It also supports HTTP, RPC, and FTP, plus APIs in Python and XSLT.
Sep 28 » Build Systems » Aap
The Aap program executes recipes. It is a kind of super-make program. In a recipe you describe how to perform a certain task. Like a Makefile it contains dependencies and build commands. Additionally, many powerful features are included, so that you can use a recipe to: * Build a program by just specifying the program name and the source files * Maintain a web site (the A-A-P site is generated and uploaded with a recipe) * Download the latest version of files * Distribute files to several servers at once * Obtain a module from CVS * Commit changes to CVS; add and remove files automatically * Generate and filter files * Build several variants and on multiple platforms with little effort
Sep 28 » Persistence » adodbapi
adodbapi is a Python module that makes it easy to use Microsoft ADO for connecting with databases and other data sources. Features: * 100% DB-API 2.0 compliant. * Includes pyunit testcases that describes how to use the module.
Sep 26 » Aspect-Oriented » AOPython
AOPython is an AOP (Aspect Oriented Programming) module for Python. AOPython provides a base Aspect that can advise or wrap function and/or method calls. It also contains a weave function that can weave (apply advice to a subset of- or all functions and methods in) a module, class, or instance. Advice may modify or replace parameters and/or the return value of the advised function or method each time it is called. It can do many other things such as handle exceptions raised by an advised function, collect information on the method call (logging), or obtain and release resources before and after a method is invoked.
Sep 26 » Wiki Engines » Cloud Wiki
Cloud Wiki provides a simple, fast environment that limits itself to features necessary for providing user-editable content quickly, with a minimal learning curve.
Sep 26 » Wiki Engines » FelloWiki
An all-in-one solution for small groups with needs for a web based address list, a mailing list and a wiki with access restrictions
Sep 25 » Template Engines » 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.
Sep 25 » Template Engines » Mako
Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and API borrows from the best ideas of many others, including Django templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics.
Sep 25 » Template Engines » Ophelia
Ophelia is a Python package that assembles XHTML pages from templates. It is used on a web server to generate each page at the moment it is requested.
Sep 23 » Issue Tracking » IssueTrackerProduct
IssueTrackerProduct is a help desk/issue/bug tracker web application under the ZPL license
Sep 23 » Installers » EasyInstall
Easy Install is a python module (easy_install) bundled with setuptools that lets you automatically download, build, install, and manage Python packages.
Sep 23 » Installers » PyInstaller
PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux and Irix. Its main advantages over similar tools are that PyInstaller works with any version of Python since 1.5, it builds smaller executables thanks to transparent compression, it is multi-platform (so you can build one-file binaries also under Linux), and use the OS support to load the dynamic libraries, thus ensuring full compatibility.
Sep 23 » Code Analyzers » Pymmetry - Python Trust Metrics
Pymmetry is an implementation of Ford-Faulkersson Maximum Flow algorithm and mod_virgule's Trust Metrics code, in python
Sep 23 » Code Analyzers » Pythius
Pythius is a set of tools to assess the quality of Python code. This is commonly done by applying different code metrics. Simple code metrics are the ratio between comments and code lines, module and function size, etc.
Sep 23 » Testing Tools » pyUnitPerf
pyUnitPerf is a collection of pyUnit test decorators used to measure the performance and scalability of functionality contained within existing pyUnit tests.
Frepple aims at building a lightweight open source framework that easily and quickly delivers a solution for production planning problems. The initial focus is on small to medium sized planning problems for the discrete manufacturing industry.
Sep 23 » Web Testing » PAMIE
PAMIE stands for Python Automated Module For I.E. Pamie's main use is for testing web sites by which you automate the Internet Explorer client using the Pamie scripting language.
Sep 23 » Web Testing » twill
twill is a simple scripting language intended for programmatic or automated browsing of Web sites.
json.py is an implementation of a JSON reader and writer in Python.
Sep 23 » Ajax » SimpleJSON
SimpleJSON is a simple, fast, extensible JSON encoder/decoder for Python. It is compatible with Python 2.3 and later with no external dependencies. It covers the full JSON specification for both encoding and decoding, with unicode support. By default, encoding is done in an encoding neutral fashion (plain ASCII with \\uXXXX escapes for unicode characters).
Sep 23 » Ajax » demjson.py
This is a comprehensive python binding to the JSON language-independent data encoding standard, which is often used as a simpler substitute for XML in AJAX-based web applications.
Sep 23 » Aspect-Oriented » logilab-aspects
aspects is a python module that enables Aspect Oriented Programming in Python. For now, it provides a set of ready-to-use aspects and an easy way to create your own aspects. The current possibilities are still a bit limited, but it will soon provide a more exhaustive way to define and use more complex aspects.
Sep 23 » Web Frameworks » Nevow
Nevow (pronounced as the French \"nouveau\", or \"noo-voh\") is a web application construction kit written in Python. It is designed to allow the programmer to express as much of the view logic as desired in Python, and includes a pure Python XML expression syntax named stan to facilitate this. However it also provides rich support for designer-edited templates, using a very small XML attribute language to provide bi-directional template manipulation capability.
Sep 23 » Aspect-Oriented » 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.
Sep 23 » Template Engines » Myghty
Myghty is a Python based templating framework originally based on HTML::Mason, the enterprise-level framework used by Amazon.com, del.icio.us and Salon.com, among many others. Myghty fully implements Mason's templating language, component-based architecture, and caching system, and goes beyond, adding new paradigms such the Module Components controller paradigm, full Python whitespace syntax, threading support, WSGI support, session support, and much more.
Sep 23 » Web Frameworks » Pylons
Pylons is a lightweight web framework emphasizing flexibility and rapid development. Pylons combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility but only if you need it. Out of the box, Pylons aims to make web development fast, flexible and easy.
Sep 23 » Wiki Engines » 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.
Sep 23 » Wiki Engines » Pwyky
Pwyky is a ~30KB single file wiki in Python. It's very easy to install, requires minimal configuration, and uses a simple structured text format.
Sep 23 » Web Services » Toolserver Framework for Python
The Toolserver Framework for Python is a framework for simple building of web services.
Sep 23 » Workflow Engines » OpenFlow
OpenFlow is an extremely flexible workflow engine, that enables rapid development of web based, \"workflow-oriented\" application.
Sep 23 » Template Engines » Webstring
webstring is a template engine for programmers whose favorite template language is Python. webstring can be used to generate any text format from a template with the additional advantage of advanced XML and HTML templating using the lxml and cElementTree libraries.
Sep 23 » Template Engines » ClearSilver
Clearsilver is a fast, powerful, and language-neutral HTML template system. In both static content sites and dynamic HTML applications, it provides a separation between presentation code and application logic which makes working with your project easier.
Sep 23 » Template Engines » Breve
Brevé is a Python template engine that is designed to be clean and elegant with minimal syntax. Brevé templates are actual Python expressions.
Sep 23 » Template Engines » Jinja
Jinja is a template engine written in pure Python licensed under the BSD license. It provides a Django-like non-XML syntax and compiles templates into executable python code. It's basically a combination of Django templates and python code.
Sep 23 » RSS & RDF Tools » rdfxml.py
rdfxml.py is a standalone Python module in under 10KB that parses RDF/XML using SAX. It was written to be used as a simple drop-in module for larger projectsfor when you just want the smallest and simplest possible module to get the job done.
Sep 23 » RSS & RDF Tools » 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.
Sep 23 » Testing Tools » DogTail
dogtail is a GUI test tool and automation framework written in Python. It uses Accessibility (a11y) technologies to communicate with desktop applications. dogtail scripts are written in Python and executed like any other Python program.
Sep 23 » Code Analyzers » 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.
Sep 23 » Project Management » Faces
Faces is a powerful and free project management tool. faces stands for flexible, automated, calculating, extendible, simulating. It is based on python, an easy to learn and powerful programming language.
Sep 23 » Parser Generators » ZestyParser
ZestyParser is a Python package for writing data parsers. ZestyParser doesn't make you define your grammar in a weird, non-Pythonic syntax. Everything is written how you normally write Python. I
Yapps (Yet Another Python Parser System) is an easy to use parser generator that is written in Python and generates Python code. Yapps is simple, is easy to use, and produces human-readable parsers. It is not fast, powerful, or particularly flexible. Yapps is designed to be used when regular expressions are not enough and other parser systems are too much: situations where you may write your own recursive descent parser.
Sep 23 » Parser Generators » PLY (Python Lex-Yacc)
PLY is an implementation of lex and yacc parsing tools for Python. It uses LR-parsing which is reasonably efficient and well suited for larger grammars and provides most of the standard lex/yacc features including support for empty productions, precedence rules, error recovery, and support for ambiguous grammars.
Sep 23 » Parser Generators » 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.
Sep 23 » PDF Libraries » PyPDF
PyPDF is a Pure-Python library built as a PDF toolkit. It is capable of: * extracting document information (title, author, ...), * splitting documents page by page, * merging documents page by page, * cropping pages, * merging multiple pages into a single page, * encrypting and decrypting PDF files.
Silva is a powerful CMS for organizations that manage complex websites. Content is stored in clean and futureproof XML, independent of layout and presentation. Features include versioning, workflow system, integral visual editor, content reuse, sophisticated access control, multi-site management, extensive import/export facilities, fine-grained templating, and hi-res image storage and manipulation.
Pagoda provides a first-class plugin-based content management system with a Web 2.0 management console that integrates instantly with existing TurboGears applications.
Buzhug is a fast, pure-Python database engine, using a syntax that Python programmers should find very intuitive The data is stored and accessed on disk (it is not an in-memory database) ; the implementation has been designed to make all operations, and especially selection, as fast as possible with an interpreted language
Sep 23 » Persistence » SQLAlchemy
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.
Sep 23 » Charting & Reporting » PyChart
PyChart is a Python library for creating high quality Encapsulated Postscript, PDF, PNG, or SVG charts. It currently supports line plots, bar plots, range-fill plots, and pie charts.
Sep 23 » Project Management » 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.
Sep 23 » Build Systems » Waf
Waf is a general-purpose build system which was modeled from Scons. Waf scripts are Python modules which are easier to learn and to maintain that custom languages.
Sep 23 » Build Systems » BuildBot
The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve.
Sep 23 » Web Frameworks » Web.py
web.py is a web framework for python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.
Sep 23 » Web Frameworks » Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Developed and used over two years by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly.
Sep 23 » PDF Libraries » Tiny Report
A free software that helps you to Design, Manage, and Deliver Reports for Extreme Business Insight. It simply automates to production of dynamic PDFs. It allows you to design your templates in OpenOffice.
Skeletonz is a content management system (CMS) based on Python with support for templates, plugins, and an administration console based on ajax. It differs from others by being simple, but yet very powerful and extensible.
Sep 23 » Build Systems » Python Build Utilities
Python Build Utilities (buildutils) is a set of extension commands to python's standard distutils that are often useful during development and deployment of python projects. buildutils was created with the desire of removing make and other external build tools from the python development process.
Sep 23 » Code Analyzers » PyMetrics
PyMetrics produces metrics for Python programs. Metrics include McCabe's Cyclomatic Complexity metric, LoC, Comments, etc.
Sep 23 » Network Clients » Emesene
Emesene is a platform independent MSN Messenger client written in Python+GTK and distributed under the GNU GPLv2 license. The main idea is to make a client similar to the official client but with a simpler GUI and a nice look.
Sep 23 » Web Servers » SkunkWeb
SkunkWeb is a robust, open source web application server. SkunkWeb's purpose is to provide a programming environment that makes it easy to build applications that generate \"dynamic documents\" in response to Web (HTTP) requests. Think of SkunkWeb as doing the same job as Vignette StoryServer, ASP, ColdFusion, or regular CGI applications.
Sep 23 » Workflow Engines » 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)
Sep 23 » Issue Tracking » 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.
Sep 23 » Connection Pools » SQL Relay
Database connection pool with support for lots of languages and databases.
PyPE (Python Programmers' Editor) is an editor written in Python with the wxPython GUI toolkit.
Sep 23 » Installers » Zero Install system
The Zero Install system aims to provide a better way of installing software than traditional systems (tarballs, apt-get, bundles, setup.exe, etc).
Overview MathBench is a Python IDE targetting at people who will write small scripts, as for instance in applied mathematics or physics when one wants to prototype an algorithm or a numerical scheme.
Sep 23 » Web Servers » Obelisk Web Server
Obelisk is a small web server written in python with support for cgi (perl/python). It runs on Unix, Linux, Windows, MacOS and any other plataform with support for Python, Sockets and Threads.
Sep 23 » Build Systems » SCons
SCons is an Open Source software construction toolthat 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.
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, ...
Sep 23 » Workflow Engines » Web Workflow
Web Workflow is a business processes management tool based on modern web user interface. It allows for workflow graphical design, data management and processes follow up. The web interface is based on OpenLaszlo technology. Cherrypy is used as application server combined with SqlAlchemy for the ORM layer.
Sep 23 » Project Management » Task Coach
Task Coach is a simple open source todo manager to manage personal tasks and todo lists. Task Coach currently (0.65.0) has the following features: * Creating, editing, and deleting tasks and subtasks. * Tasks have a subject, description, priority, start date, due date, a completion date and an optional reminder. * Tasks can be viewed as a list or as a tree. * Tasks can be sorted by all task attributes, e.g. subject, budget, budget left, due date, etc. * Several filters to e.g. hide completed tasks or view only tasks that are due today. * Tasks can be created by dragging an e-mail message from Outlook or Thunderbird onto a task viewer. * Attachments can be added to task by dragging and dropping files, e-mail messages from Outlook or Thunderbird, or URL's onto a task. * Task status depends on its subtask and vice versa. E.g. if you mark the last uncompleted subtask as completed, the parent task is automatically marked as completed too. * Tasks and notes can be assigned to user-defined categories. * Settings are persistent and saved automatically. The last opened file is loaded automatically when starting Task Coach. * Tracking time spent on tasks. Tasks can have a budget. Time spent can be viewed by individual effort period, by day, by week, and by month. * The Task Coach file format (.tsk) is XML. * Tasks, notes, effort, and categories can be exported to HTML and CSV (Comma separated format). Effort can be exported to iCalendar/ICS format as well. * Tasks, effort, notes, and categories can be printed. When printing, Task Coach prints the information that is visible in the current view, including any filters and sort order. * Task Coach can be run from a removable medium.
PyLucid is a lightweight, OpenSource content management system (CMS) written in Python using django. Nearly all output is customizable. It only requires a standard webserver with Python CGI and one of the supported database engines (MySQL, SQLite3, Postgre, Oracle and MS-SQL) to run PyLucid.
Sep 22 » XML Parsers » 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.
Sep 22 » Network Clients » 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.).
Sep 22 » Network Clients » PyDNS
PyDNS provides a module for performing DNS queries from python applications.
Sep 22 » XML Parsers » pyRXP
pyRXP is fast validating XML parser available for Python. pyRXP, like the underlying RXP parser, is available under the GNU General Public License.
Sep 22 » PDF Libraries » 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.
Sep 22 » Charting & Reporting » Graphite
Graphite is a Python graphing package. Graphite enable the creation of scientific, engineering, and business graphs. Some graph types to be included are line graphs, bar charts, function plots, polar plots, parametric plots, and mesh plots. Graphite can produce output for formats such as postcript, pdf, gif, Windows, QuickDraw, Tk by using the PIDDLE backend. It should run on any platform that supports Python.
Sep 22 » Charting & Reporting » Gnuplot.py
Gnuplot.py is a Python package that interfaces to gnuplot, the popular open-source plotting program. It allows you to use gnuplot from within Python to plot arrays of data from memory, data files, or mathematical functions. If you use Python to perform computations or as `glue' for numerical programs, you can use this package to plot data on the fly as they are computed. And the combination with Python makes it is easy to automate things, including to create crude `animations' by plotting different datasets one after another.
Sep 22 » Charting & Reporting » 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.
Sep 22 » IDEs » Boa Constructor
Boa Constructor is a cross platform Python IDE and wxPython GUI Builder. It offers visual frame creation and manipulation, an object inspector, many views on the source like object browsers, inheritance hierarchies, doc string generated html documentation, an advanced debugger and integrated help.
Sep 22 » Build Systems » BusyB
BusyB is a simple system for automatically executing your builds. Is very easy to install and use -- no complex software dependencies and only a single simple XML configuration file to write.
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.
Sep 22 » Testing Tools » 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.
Gadfly is a simple relational database system implemented in Python based on the SQL Structured Query Language. It supports persistent databases consisting of a collection of structured tables with indices, and a large subset of SQL for accessing and modifying those tables. It supports a log based recovery protocol which allows committed operations of a database to be recovered even if the database was not shut down in a proper manner (ie, in the event of a CPU or software crash, [but not in the event of a disk crash]). It also supports a TCP/IP Client/Server mode where remote clients can access a Gadfly database over a TCP/IP network (such as the Internet) subject to configurable security mechanisms.
Sep 22 » Persistence » PyTable RDBMS Wrapper
PyTable is a relational database wrapper based on BasicProperty's rich property-based modeling system. PyTable provides a \"thick\" wrapper for PostgreSQL (and MySQL) database adapters which fills in missing functionality in the adapter layer to provide a uniform rich external API.
PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data.
Sep 22 » Persistence » Python Database Objects
Python Database Objects, is a collection of objects for use with Phase or with the Python Programing Language. PDO is designed to be robust and simple at the same time, allowing access to multiple styles of databases, with one set of instructions. This means never having to worry again about your syntax when changing Database Platforms on your next project.
Sep 22 » Persistence » 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.
Sep 22 » Parser Generators » SimpleParse
SimpleParse is a Python package providing a simple and fast parser generator using a modified version of the mxTextTools text-tagging engine. SimpleParse allows you to generate parsers directly from your EBNF grammar. Unlike most parser generators, SimpleParse generates single-pass parsers (there is no distinct tokenization stage), an approach taken from the predecessor project (mcf.pars) which attempted to create \"autonomously parsing regex objects\". The resulting parsers are not as generalized as those created by, for instance, the Earley algorithm, but they do tend to be useful for the parsing of computer file formats and the like (as distinct from natural language and similar \"hard\" parsing problems).
Sep 22 » Web Frameworks » Aquarium
Aquarium is a Web application framework, written in Python. It provides an approach to producing a Web application without duplication of effort by reducing the amount of code you need to write. It offers convenient libraries and extensible APIs for items such as session management and Web server integration (including CGI, mod_python, FastCGI, or its own Web server, Glass). It provides tight integration with Cheetah, including autocompilation of Cheetah templates.
Sep 22 » Template Engines » Cheetah
Cheetah is an open source template engine and code generation tool, written in Python. It can be used standalone or combined with other tools and frameworks. Web development is its principle use, but Cheetah is very flexible and is also being used to generate C++ game code, Java, sql, form emails and even Python code.
Sep 22 » Web Servers » 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.
Sep 22 » Web Frameworks » Karrigell
Karrigell is a flexible Python web framework, with a clear and intuitive syntax. It is independent from any database, ORM or templating engine, and lets the programmer choose between a variety of coding styles The package includes a powerful built-in web server, so there's no need to download, install and configure a separate one, and a pure-Python database engine, PyDbLite, which is used for the demos
Sep 22 » Web Frameworks » Maki
Maki is a webserving framework built on Python and XML. It allows a web developer to send an XML input document through any number of steps, where each step is either a stylesheet transformation or a custom process. A processor that evaluates embedded Python code is included. The output of each step is passed as the input to the next step (similar to a Unix pipe). Additionally, the output of each processor step can be cached for a user-specified time period. All configuration is done in XML files that allow you to specify rules based on matching paths against Unix-style wildcard patterns or regular expressions.
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.
Sep 22 » Web Servers » Snakelets
Snakelets is a very simple-to-use Python web application server. It provides a threaded web server (you don't have to provide a web server such as Apache yourself), Ypages (Python HTML template language, similar to Java's JSPs) and Snakelets: code-centric page request handlers (similar to Java's Servlets). Snakelet's focus is to make the creation of dynamic web sites as quick and easy as possible. To get started it is enough to extract Snakelets somewhere, add a single directory that will contain your files, copy-paste-edit a small configuration file that describes your site, and you're set to add your own pages and images and other content.
Sep 22 » Web Frameworks » Spyce
Spyce is a server-side language that supports elegant and efficient Python-based dynamic HTML generation. Spyce allows embedding Python in pages similar to how JSP embeds Java, but Spyce is far more than a JSP clone. Out of the box, Spyce provides development as rapid as other modern frameworks like Rails, but with an cohesive design rather than a morass of special cases. Spyce's modular design makes it very flexible and extensible. It can also be used as a command-line utility for static text pre-processing or as a web-server proxy.
Sep 22 » Web Testing » WebUnit
WebUnit is a framework for performing client-side automation of web applications by simulating a long-lived web browser session with one or more remote sites. Although it has many other uses, the primary aim of the project is to simplify the task of writing tests for web sites.
Sep 22 » Web Services » 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.
Sep 22 » Web Frameworks » Webware
Webware for Python is a suite of Python packages and tools for developing object-oriented, web-based applications. The suite uses well known design patterns and includes a fast Application Server, Servlets, Python Server Pages (PSP), Object-Relational Mapping, Task Scheduling, Session Management, and many other features. Webware is very modular and easily extended.
Sep 22 » Web Frameworks » 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.