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.

Documentation

The following documentation is available:

Manual

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

anise_4.3.6278_all.deb

Created

2021-03-17 02:53

Sha256sum

0d5ca34d7dffd0195e1572b4a2f966149dd05ca61371df6e0d4c2194089c9b3c

Size

5.0 MB

Python wheel package

File

anise-4.3.6278-py3-none-any.whl

Created

2021-03-17 02:53

Sha256sum

7ddb29ec1d5fa9708b09c6c1088b1b8e7cf84a9f5b051578c0c20b5826dff0ed

Size

6.8 MB

File

anise-4.2.5304-py3-none-any.whl

Created

2020-07-08 21:16

Sha256sum

cc98af743652075fdd8907f692805d97f60836275ce3ef9c0d5f3b9d76df0bf4

Size

407.2 KB

File

anise-4.1.4792-py3-none-any.whl

Created

2019-08-27 21:32

Sha256sum

5249700c22cbb3aeb2779694a68157d8050ef1df3ac9feb8675865188a4ff453

Size

524.8 KB

Windows package

File

anise-4.3.6278_all.exe

Created

2021-03-17 02:53

Sha256sum

ee7daef2ee2671b9aa9b6698e8a826850b53b42198c8ab28e39e4e791348ca9f

Size

11.0 MB

File

anise-4.2.5304_all.exe

Created

2020-07-08 21:16

Sha256sum

587ceeb8a2541f38e76da5306d351372f7b34b68a96428aab66f500f9bb23544

Size

8.9 MB

File

anise-4.1.4792_all.exe

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’.

_images/archlinux.png

Hint

Install $ sudo pacman -S flatpak before you can use Flatpak in Arch Linux.

_images/centos.png

Hint

Install $ yum install flatpak as root before you can use Flatpak in CentOS.

_images/debian.png

Hint

Install $ apt install flatpak as root before you can use Flatpak in Debian.

_images/fedora.png

Hint

Flatpak is directly usable in Fedora without further work.

_images/gentoo.png

Hint

Install https://github.com/fosero/flatpak-overlay before you can use Flatpak in Gentoo.

_images/opensuse.png

Hint

Install $ sudo zypper install flatpak before you can use Flatpak in openSUSE.

_images/redhat.png

Hint

Install $ yum install flatpak as root before you can use Flatpak in Red Hat.

_images/ubuntu.png

Hint

Install $ sudo apt install flatpak before you can use Flatpak in Ubuntu.

See above how to prepare Flatpak and then run:

$ 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

anise.flatpakref

Created

2021-03-17 02:53

Sha256sum

86af939f2e80075f9db164d29e648a6a88b5dae760e30354a43770ae57260756

Size

2.4 KB

Use the .gpg for optional repository signature verification.

File

anise_flatpak.gpg

Created

2021-03-17 02:53

Sha256sum

0a40600de0f79c9cc2f528d7a77bf9b9eb15723efaf1c3740ec81d8dccd2671f

Size

1.6 KB

source tarball

File

anise-4.3.6278.tgz

Created

2021-03-17 02:53

Sha256sum

67abcdf4929071f835013497113f4e6a53ae035b1da220c336f517e1db5a55e8

Size

10.8 MB

File

anise-4.2.5304.tgz

Created

2020-07-08 21:16

Sha256sum

49047297b480747503cce9b5692e85a39e770a2536049dc8fcf4b5f4a4d48891

Size

8.8 MB

File

anise-4.1.4792.tgz

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.

icon_python Python 3.7, required

icon_linux Typical GNU/Linux Desktop, recommended

icon_package PyQt5 incl. WebEngine, required (has alternatives) : for some user interface enhancements; you can comfortably work without it (inside the browser then)

icon_svn subversion, optional

icon_git git, optional

icon_artwork font ‘Symbola’, included : for logo symbol; free for use; copied from here.

icon_artwork font ‘Khula’, included : for websites; by Erin McLaughlin; copied from here.

icon_artwork font ‘Inconsolata’, included : for websites; by Raph Levien; copied from here.

icon_artwork banner image, included : _meta/background.png; license CC BY-SA 3.0; copied from here.

icon_artwork third-party project logos, included : from some projects (see their websites for details).

icon_artwork all files in /_meta, included : if not mentioned otherwise, Copyright 2015 Josef Hahn under license CC BY-SA 3.0 license.

icon_artwork icon set ‘oxygen’, included : files ‘anise/data/icons/userfeedback’; license see homepage.

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.