Skip to main content

libAntimony

GitHub version Build Status PyPI version License

PyPI - Downloads Funding Funding Funding Funding Funding

Summary

Antimony is a human-readable, human-writable modular model definition language, letting you create SBML models with a simple text interface, i.e.

   S1 -> S2; k1*S1;
   S2 -> S3; k2*S2;
   S1 = 10
   k1 = 0.3
   k2 = 0.1

For a working online example, see MakeSBML

Antimony is free to use in any application: a simple API is provided to allow Antimony strings to be converted to and from SBML, so the application's users can interact with their models in an easy-to-comprehend format. C/C++ applications can use the library directly, and Python applications can use the Python bindings.

Documentation can be found:

Since Antimony is used within Tellurium, the general Tellurium documentation may also be of interest.

Python bindings are available via pypi, and can be installed with pip:

pip install antimony

Other binaries are available from https://github.com/sys-bio/antimony/releases

Antimony depends on the libSBML and SBMLNetwork libraries. The currently-used versions of each will always be available from https://github.com/sys-bio/libroadrunner-deps/releases/.

Antimony has been supported by NIH/NIGMS Grants GM081070, GM123032, and NIBIB EB028887.

Building from Source

Here we describe how to build libAntimony from source. Note: if these instructions don't work for any reason, look at the github build instructions, which will always be up-to-date out of necessity.

Install Required Build Tools

Install CMake. On Windows, you also need to install Visual Studio with the Desktop development with C++ workload, which enables you to run CMake from an MSVC x64 development environment.

To build the Python bindings, install Python and ensure that CMake can locate it.

To build the QtAntimony (the standalone Antimony editor), install Qt 5.15 (or a later version of Qt5) and ensure that CMake can locate it.

If you are actually developing Antimony, you will need the Bison parser to re-generate src/antimony.tab.cpp from src/antimony.ypp when the latter changes.

Download Prebuilt Dependencies

Download the latest version of prebuilt Antimony dependencies that match your operating system, and build type from the libroadrunner-deps releases page. Make sure you get the 'release' version if you are building the release version of Antimony.

If no pre-built dependencies match your operating system, you'll need to find libsbml with the released packages enabled (in particular: comp, fbc, and distrib) and SBMLNetwork. Libsbml in turn requires an XML library; we recommend using expat. A CMake system that builds these and a few others is available at libroadrunner-deps; see that repository (and its github build files) for more information.

Obtain Antimony Source Code

Clone the Antimony repository and enter the source directory:

git clone https://github.com/sys-bio/antimony.git
cd antimony

Configure with CMake

From the command line (i.e. PowerShell in an MSVC x64 development environment, or a terminal window in MacOS or Linux), enter the following. Replace /path/to/libroadrunner-deps-install with the location of the extracted prebuilt dependencies.

Windows

cmake -S . -B build-antimony `
  -DCMAKE_INSTALL_PREFIX="./install-antimony" `
  -DANT_DEPENDENCIES_INSTALL_PREFIX="C:/path/to/libroadrunner-deps-install" `
  -DCMAKE_BUILD_TYPE=Release `
  -DWITH_PYTHON=ON `
  -DWITH_QTANTIMONY=OFF `
  -DWITH_GTEST=OFF 

MacOS/Linux

cmake -S . -B build-antimony \
  -DCMAKE_INSTALL_PREFIX="./install-antimony" \
  -DANT_DEPENDENCIES_INSTALL_PREFIX="/path/to/libroadrunner-deps-install" \
  -DCMAKE_BUILD_TYPE=Release \
  -DWITH_PYTHON=ON \
  -DWITH_QTANTIMONY=OFF \
  -DWITH_GTEST=OFF 

Making changes

The above represents a typical build, but modifications are available:

  • If you want to compile for a different architecture than the environment where you're running CMake, use (for example) -A x86 or DCMAKE_OSX_ARCHITECTURES="$(uname -m)
  • If you do want to build QTAntimony, change WITH_QTANTIMONY to ON, and set QT5_DIR to the location of the CMake files where you installed QT5 (i.e. Qt5.15.16/5.15.16/msvc2019_64/lib/cmake/Qt5).
  • If you don't want the python bindings, change WITH_PYTHON to OFF.
  • If you want to build the tests, change WITH_GTEST to ON

Build and Install

Windows

cmake --build build-antimony --config Release --target install --parallel

macOS and Linux

cmake --build build-antimony --target install --parallel

Location of files

The compiled files will be installed in the install-antimony directory. This directory should now include:

  • Antimony libraries in lib,
  • Public C/C++ header files in include,
  • If WITH_PYTHON=ON, Python bindings in bindings/python. This directory can be used to build a Python wheel (see these instructions),
  • If WITH_QTANTIMONY=ON, the QtAntimony graphical application in bin.

Release files for antimony 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for antimony 3.2.0
File
antimony-3.2.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
antimony-3.2.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
antimony-3.2.0-py3-none-macosx_15_0_x86_64.whl Python 3 none macOS 15.0+ x86-64 Details
antimony-3.2.0-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details

Total release size: 15.2 MB

Release files / antimony-3.2.0-py3-none-win_amd64.whl

Download URL antimony-3.2.0-py3-none-win_amd64.whl
Size 2.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
406852a49570a8a34a05b3029d3f7049c25f797e9bb93fac1c7973d6608210c9
BLAKE2b-256 checksum
How to use checksums
7e203509083b38fc03bcd207e940d4f8dddb89b62d10993c74b8a4f8ed55e3e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / antimony-3.2.0-py3-none-manylinux_2_28_x86_64.whl

Download URL antimony-3.2.0-py3-none-manylinux_2_28_x86_64.whl
Size 5.5 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
2036c1dcf699a8f1dedf35d26007e0060ddbd91f9f4bb9f4d05fa8a79cc7c2fd
BLAKE2b-256 checksum
How to use checksums
c8319790f2be8b22c2a8269862ba226530ca8b1cf620a7c398c278a6080a6014
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / antimony-3.2.0-py3-none-macosx_15_0_x86_64.whl

Download URL antimony-3.2.0-py3-none-macosx_15_0_x86_64.whl
Size 3.6 MB
Tags Python 3 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
d6dd38670d0743858fd53c4bc736fe00bca80f42fae256404c5af1c91a811e9a
BLAKE2b-256 checksum
How to use checksums
405e2d5752a4048d3a34b6d90f5391f336ecf4fd86a8d826025389902dcb70a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / antimony-3.2.0-py3-none-macosx_14_0_arm64.whl

Download URL antimony-3.2.0-py3-none-macosx_14_0_arm64.whl
Size 3.6 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
5b8cce9b7140ec210cf5380f14095b1ce639d0ec591ac676a185006e8002f93e
BLAKE2b-256 checksum
How to use checksums
90680866a28bca6b6a86662eca5d8c273b365890cb9e37f77e84ba9161d1b22c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

3.2.0 This release

4 release files

3.1.3

4 release files

3.1.1

4 release files

3.1.0

4 release files

3.0.0

4 release files

2.15.0

4 release files

2.14.0

5 release files

2.13.4

3 release files

2.13.3

1 release file

2.13.1

3 release files

2.13.0

3 release files

2.12.0

2 release files

2.9.4

16 release files

2.9.3

11 release files

2.9.0

7 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page