Many software developers need to cope with a bunch of different large and tiny tools for completing their day-to-day business. Developers working on different projects, living in different software development ecosystems, building on different software frameworks are even more confronted with that issue. Typical tasks can be:
handling version information
e.g. print it in the manual
creating a homepage automatically built from the available version information, the packages, the documentation and so on
deploying this homepage to a web server
The anise engine executes arbitrary Python source code and provides some additional services like logging, parameter passing from command line, basic graphical user interface support, a plugin interface, a flexible event system, injecting code and data from other place, and more.
On top of this engine, anise comes with a bunch of implementations which fulfill tasks (or parts of them) of software development. There is a testing module, a documentation- and homepage-generator, some package building methods and a lot more. The implementations use the event system in many places in order to allow customization in a somewhat technical but very flexible way.
The anise framework allows you to implement all those tasks in a structured but generic way in a combination of XML and Python code. Once you have created this stuff at a defined place in your project, anise lets you easily execute your tasks from command line (or from any editor if you embed it somehow).