Welcome!¶
About¶
Anise is a Python-based execution engine for automation tasks.
Automation tasks exist in software development, and probably all kinds of other sectors. They typically require the execution of different smaller and larger tools. Complex tasks often need a sequence of many steps to execute, with some steps having dependencies to each other. Manually triggering all these steps in the graphical interfaces of all the involved tools is possible in theory, but will generate errors and frustration after some cycles.
The automation interfaces of those tools are sometimes easier, but sometimes they 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 to access 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 unique oddnesses and special conventions. As the number of different project increases, you will see more and more different 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, but will 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 more
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). This gives you a common and easy interface to all your ‘tool glue’ code.
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, 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) 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. Even so, those implementations are rather specific and it depends on the particular case, if, and how many of those implementations are useful.
License¶
anise is distributed under the terms of the AGPLv3 license. This also affects all included files without a license header (non-source files like images), unless they are explicitly mentioned as third-party content. Read the Dependencies section for included third-party stuff.
Download¶
The following packages are available. Choose the one that matches your operating system or environment. Please also check for requirements. anise is in production-stable state.
Debian package
- File
- Created
2021-03-17 02:53
- Sha256sum
0d5ca34d7dffd0195e1572b4a2f966149dd05ca61371df6e0d4c2194089c9b3c
- Size
5.0 MB
Python wheel package
- File
- Created
2021-03-17 02:53
- Sha256sum
7ddb29ec1d5fa9708b09c6c1088b1b8e7cf84a9f5b051578c0c20b5826dff0ed
- Size
6.8 MB
- File
- Created
2020-07-08 21:16
- Sha256sum
cc98af743652075fdd8907f692805d97f60836275ce3ef9c0d5f3b9d76df0bf4
- Size
407.2 KB
- File
- Created
2019-08-27 21:32
- Sha256sum
5249700c22cbb3aeb2779694a68157d8050ef1df3ac9feb8675865188a4ff453
- Size
524.8 KB
Windows package
- File
- Created
2021-03-17 02:53
- Sha256sum
ee7daef2ee2671b9aa9b6698e8a826850b53b42198c8ab28e39e4e791348ca9f
- Size
11.0 MB
- File
- Created
2020-07-08 21:16
- Sha256sum
587ceeb8a2541f38e76da5306d351372f7b34b68a96428aab66f500f9bb23544
- Size
8.9 MB
- File
- Created
2019-08-27 21:32
- Sha256sum
d42025e054e663646abbc831e9f55d754a68a5a1d27aac138fc3eacb9c8bf3c8
- Size
6.1 MB
flatpak
Install anise as Flatpak on most modern Linux systems by installing application ‘pi.no.anise
’ from the repository ‘https://pseudopolis.eu/wiki/pino/projs/anise/flatpak
’.
$ flatpak remote-add --user --no-gpg-verify anise https://pseudopolis.eu/wiki/pino/projs/anise/flatpak
$ flatpak install --user anise pi.no.anise
$ flatpak run pi.no.anise
or install it with just:
$ flatpak install --user --from https://pseudopolis.eu/wiki/pino/projs/anise/anise.flatpakref
- File
- Created
2021-03-17 02:53
- Sha256sum
86af939f2e80075f9db164d29e648a6a88b5dae760e30354a43770ae57260756
- Size
2.4 KB
Use the .gpg for optional repository signature verification.
- File
- Created
2021-03-17 02:53
- Sha256sum
0a40600de0f79c9cc2f528d7a77bf9b9eb15723efaf1c3740ec81d8dccd2671f
- Size
1.6 KB
source tarball
- File
- Created
2021-03-17 02:53
- Sha256sum
67abcdf4929071f835013497113f4e6a53ae035b1da220c336f517e1db5a55e8
- Size
10.8 MB
- File
- Created
2020-07-08 21:16
- Sha256sum
49047297b480747503cce9b5692e85a39e770a2536049dc8fcf4b5f4a4d48891
- Size
8.8 MB
- File
- Created
2019-08-27 21:32
- Sha256sum
51d90e0af3e1429c8c9e39cf306c014b78e4458d1ad68a9037a0fd87392d379b
- Size
5.9 MB
Dependencies¶
There are external parts that are used by anise. Many thanks to the projects and all participants. Some installation methods might handle dependency installation automatically, while others leave that up to you.
Python 3.7, required
Typical GNU/Linux Desktop, recommended
PyQt5 incl. WebEngine, required (has alternatives) : for some user interface enhancements; you can comfortably work without it (inside the browser then)
subversion, optional
git, optional
font ‘Symbola’, included : for logo symbol; free for use; copied from here.
font ‘Khula’, included : for websites; by Erin McLaughlin; copied from here.
font ‘Inconsolata’, included : for websites; by Raph Levien; copied from here.
banner image, included : _meta/background.png; license CC BY-SA 3.0; copied from here.
third-party project logos, included : from some projects (see their websites for details).
all files in /_meta, included : if not mentioned otherwise, Copyright 2015 Josef Hahn under license CC BY-SA 3.0 license.
icon set ‘oxygen’, included : files ‘anise/data/icons/userfeedback’; license see homepage.
Gallery¶
The Anise task chooser Execution of an Anise task The Anise Console Powerful graphical configuration interface Each graphical interface also works in terminals Project configuration raw editor Screencast: First steps Screencast: Creating project homepages Screencast: Features Screencast: Windows
Change Log¶
The last changes brought the following improvements.
2020-07-08 (4.3.5310)
Feature ‘docrender’ for flexible low-level documentation rendering added.
All documentation/homepage generation switched from Doxygen to Sphinx.
Imprint¶
Publisher: Josef Hahn, Boxgraben 112-114, 52064 Aachen, Germany | website: pseudopolis.eu/wiki/pino | mail: anise@pseudopolis.eu
Feedback¶
If you have funny rants about anise itself or about some techniques it uses, some constructive feedback, a cool patch or a mysterious problem, feel free to mail it to anise@pseudopolis.eu.
Please use the bugtracker if you have found an error in the software.