Metadata-Version: 2.1
Name: annize
Version: 5.0.6379
Summary: a simple framework for task automation with focus on visual guidance and low-code
Home-page: https://pseudopolis.eu/pino/annize
Author: Josef Hahn
Author-email: annize@pseudopolis.eu
License: AGPL 3
Keywords: python software development documentation packaging deployment task execution
Platform: UNKNOWN
Description-Content-Type: text/plain

TODO Anise is a Python-based execution engine for automation tasks.Automation tasks exist in software development, and probably all kinds of other sectors. They typicallyrequire the execution of different smaller and larger tools.Complex tasks often need a sequence of many steps to execute, with some steps having dependenciesto each other.Manually triggering all these steps in the graphical interfaces of all the involved tools ispossible in theory, but will generate errors and frustration after some cycles.The automation interfaces of those tools are sometimes easier, but sometimesthey are error-prone. Some tasks may also need to ask the user for some information in an interactive way.Some smaller parts might also be machine-specific (e.g. filesystem paths or the code how toaccess a password vault), while the entire task must be runnable on some different machines.In some situations, this can lead to a rather intransparent forest of different tools, with uniqueoddnesses and special conventions. As the number of different project increases, you will see more and moredifferent tools, often doing a similar job, but for different platforms or frameworks and, of course,with different usage conventions. Spontaneously written glue scripts help in the beginning, butwill explode as the complexity exceeds some threshold.Typical tasks in software development could be:

- Generating documentation- Testing- Automatic code generation- Creating packages- Creating a homepage, automatically built from the available  version information, the packages, the documentation and so on- Deploying this homepage to a web server- Handling version information  - e.g. print it in the manual- and many moreThe Anise framework allows you to implement all those tasks in a structured but generic way in a combination of XML andPython code. Once you have created this stuff at a defined place in your project, Anise lets you easily execute yourtasks from command line (or from any editor if you embed it somehow). This gives you a common and easy interfaceto all your 'tool glue' code.The Anise engine executes arbitrary Python sourcecode and provides some additional services like logging, parameter passing from command line, basic graphical userinterface support, a plugin interface, a flexible event system, injecting code and data from other place,dependencies between code fragments, and more.On top of this engine, Anise comes with a bunch of implementations that fulfill tasks (or parts of them) ofsoftware development. There is a testing module, a documentation- and homepage-generator, some package buildingmethods and a lot more. The implementations use the event system in many places in order to allow customization ina somewhat technical but very flexible way. Even so, those implementations are rather specific and it depends onthe particular case, if, and how many of those implementations are useful.

