Model or dataset
zward/Amua avatar
zward/Amua

Amua is a modeling framework whose point is to be left

An open source modeling framework

51 stars14 forksJavaGPL-3.0

At a glance

What is it?
zward's Amua is an open source modeling framework and probabilistic programming language in Java, named after the Swahili word for decide or solve. It ships decision trees and Markov models, plans discrete event simulation and microsimulation, and treats exporting a model to another language as a first-class outcome rather than a fallback.
Who is it for?
Amua suits a modeller who wants a graphical way to build and document a conceptual model, then keep that model if the implementation platform changes. It does not suit a project that needs discrete event simulation or microsimulation today, since both are listed as planned, or one that wants a reproducible build from a manifest.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 66 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • zward/Amua51 ★ · +1
Star history
Repository2026-08-182026-10-22
zward/Amua5051

1 Stars in the last 65 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

A framework and a language in one project

The README describes Amua in one sentence as two things at once: an open source modeling framework and a probabilistic programming language. That pairing is what separates it from a diagramming tool, and it is why the design goals are written as four adjectives rather than as a feature list. It also explains the name, which comes from the Swahili word for decide or solve, a choice that signals the intended audience more clearly than a neutral product name would. The stated audience is split between teaching and research: the README calls it free software usable as a teaching tool or by researchers seeking an integrated modeling environment. Nothing in the README describes a command line, a server or an application programming interface, so the graphical interface is the product rather than a front end to one.

Two model types shipped, two marked planned

The model list is the fastest way to gauge what you can actually build. Decision trees and Markov models are the two that exist, each with its own documentation page. Discrete event simulation is listed as planned. Multi-method microsimulation models are also listed as planned. That is a short list, and for anyone whose field needs one of the missing two it is the deciding fact, because the framework's value is in the model you can express rather than in the environment it runs in. It is also worth noting what the entries imply about direction: the two shipped types are both stochastic or combinatorial rather than time-driven, which is consistent with the Bayesian emphasis elsewhere in the README. Nothing about the planned items gives a schedule, so treat them as intent rather than as a queue you can plan around.

Export is the escape hatch, not a fallback

The flexibility goal is the one that separates this project from most modelling tools, and it is stated in terms of a specific fear. Models can be run inside Amua or exported to other programming languages, and the stated benefit is that conceptual models can be separated from any particular implementation, making it easy to change model platforms. That reframes the tool. In a platform-locked modelling environment the model lives inside the application, so changing tools means rewriting. Here the model is treated as an artefact you own, and the environment is one place you happen to build it. The practical question that follows is the fidelity of the export, which the README does not address, so anyone relying on it should assume they will need to inspect the generated code rather than trust it to be idiomatic in the target language.

Parameters as random variables is the Bayesian claim

The fourth design goal is the one that gives the project its identity as a language rather than a diagrammer. Because Amua is a probabilistic programming language, model parameters can be treated as random variables and fitted to data through model calibration, using a variety of techniques. That is a much stronger statement than saying the tool can display uncertainty. It means the model itself carries distributions over its parameters, and that calibration is part of the modelling workflow rather than something bolted on afterwards by fitting parameters to outputs. The README links calibration to its own documentation page, which suggests it is treated as a first-class topic. What the README does not do is name the calibration techniques, list the distributions available, or say how uncertainty propagates from fitted parameters into the outputs, so those details have to come from the wiki rather than from this page.

Eclipse project files are committed and there is no build

The repository layout is short and tells you how the software is meant to be run. There is a source directory, a resources directory, a settings directory and a licence file, and next to them two files that are development environment configuration: a project file and a classpath file, both of the kind an IDE writes. There is no manifest at the top level, no build descriptor for any conventional tool, and no packaging output. So there is no reproducible build as the term is normally used. Someone wanting to compile this has to import it into the same kind of environment, which is consistent with the README's claim that the software is lightweight and runs on any operating system with a Java Virtual Machine installed. It is also why a continuous integration badge would be hard to add without first writing the build the repository currently lacks.

_recentFiles sits at the root with no extension

One entry in the repository deserves a sentence because it says something about how the project is worked on. There is a file named for recent files, with no extension, committed at the top level next to the readme. That is editor or environment state, not source. Its presence alongside the project and classpath files tells you the working environment's state is being tracked in version control rather than ignored, which for a desktop application maintained by one person is an understandable shortcut. It is also a reminder when reading the rest of the repository: what you are looking at is a working tree for a single developer, not a curated distribution. The versioning tells a similar story, with releases at 0.3.4, 0.3.5 and 0.3.6 and the last of those on the same day as the most recent commit, so the project is under active development while still carrying a pre-one version number.

Editorial conclusion

Amua suits a modeller who wants a graphical way to build and document a conceptual model, then keep that model if the implementation platform changes. It does not suit a project that needs discrete event simulation or microsimulation today, since both are listed as planned, or one that wants a reproducible build from a manifest. Before adopting it, check three things: whether the model type you need has shipped, whether you are willing to run the software from an integrated development environment rather than from a build, and whether the licence suits you, since this is copyleft software rather than permissive.

Frequently asked questions

What is Amua software?

An open source modeling framework and probabilistic programming language written in Java, with a graphical interface for developing and documenting models. It is free software, runs on any operating system with a Java Virtual Machine, and takes its name from the Swahili word for decide or solve.

Which model types does Amua support today?

Decision trees and Markov models are supported and documented. Discrete event simulation and multi-method microsimulation models are both listed as planned, so if your work needs either of those, it is not there yet.

What does Amua need in order to run?

A Java Virtual Machine on any operating system. There is no build manifest at the repository root and project files for an integrated development environment are committed instead, so it is an environment you open rather than an artifact you install from a build.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/zward-amua.svg)](https://hysenlabs.com/projects/zward-amua)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/zward-amua.svg)](https://hysenlabs.com/projects/zward-amua)