Skip to main content

Viriatum Web Server

The Viriatum Web Server is simple and lightweight web server aimed at providing a simple yet powerful solution for static file serving, reverse proxy serving and dynamic language handling.

The current implementation support both x86/x64 and ARM architectures.

Building

Automium

Building viriatum using automium is quite simple even for complex builds like cross compilation. Just use the appropriate 'build.json' located under 'scripts/build' and under such directory execute:

atm

For production purposes one should use the proper optimization flags:

atm --cflags=-O3

For cross compilation (eg: arm-rasp-linux) use the following command:

atm --cflags=-O3 --cross=arm-rasp-linux-gnueabi

If you want to know more about cross compilation please refer to the Cross Compilation document.

CMake

CMake is the recommended build system for local development and IDE integration.

cmake -B build
cmake --build build

The binary is placed under build/bin/viriatum.

For a debug build (enables debug logging with file/line info and V_DEBUG output):

cmake -DCMAKE_BUILD_TYPE=Debug -B build
cmake --build build

Debug logging can also be enabled independently of the optimization level:

cmake -D VIRIATUM_DEBUG=ON -B build
cmake --build build

For a release build with debug symbols (-O2 -g):

cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -B build
cmake --build build

To set a custom www root path (equivalent to --with-wwwroot in Autoconf):

cmake -D VIRIATUM_WWW_ROOT=/var/viriatum/www -B build
cmake --build build

If the project has Conan-managed dependencies, install them first:

conan install . --output-folder=build --build=missing -s build_type=Debug
cmake -B build -DCMAKE_BUILD_TYPE=Debug --toolchain build/conan_toolchain.cmake
cmake --build build

Autoconf / Automake

If you're going to build viriatum using the git repository you first need to generate the configure files using autoconf.

./autogen.sh

Unix

For building under unix simple instructions are used:

./configure
make && make install

In order to provide a correct (system wide) configuration path use:

./configure --sysconfdir=/etc

In order to get the most performance out of viriatum set the CFLAGS variable for optimization:

CFLAGS="-O3" ./configure

Unix 32bit from 64bit

apt-get libc6-dev-i386
export CC="cc -m32"
./configure
make && make install

Android

Building viriatum for android involves cross compilation and the android ndk toolkit must be used.

Check the instructions for downloading the android ndk from the official website, then unpack the android-ndk package file into the current directory.

The recommended NDK version is r8e as compatibility is ensured for that version. NDK is currently known to have problems compiling some of the packages (including PHP, Python and Lua). To download that version of the NDK for Linux use this link.

Because of problems building the static versions of PHP, Python, Lua, etc. some of the modules are currently not compatible with Android.

The r8d or preivous versions of the NDK are meant to be run only under x86 machines and should be used with care unnder x86-64 based machines.

tar -xvf android-ndk-r[x]-linux-[arch].tar.bz2

Create the standalone toolchain using the script for that purpose.

android-ndk-r[x]/build/tools/make-standalone-toolchain.sh --system=linux-x86_64\
    --platform=android-4 --install-dir=/opt/android-toolchain

And then you may use the "just" created toolchain to build Viriatum with:

export PATH=/opt/android-toolchain/bin:$PATH
export CFLAGS="-L/opt/android-toolchain/lib -I/opt/android-toolchain/include\
    -L/opt/android-root/lib -I/opt/android-root/include"
./configure --host=arm-linux-androideabi --build=arm --prefix=/opt/android-root
make && make install

Windows

For building using the default mingw32 toolchain.

apt-get install mingw32 mingw32-binutils
./configure --host=i586-mingw32msvc --build=i686-linux --prefix=/opt/i586-mingw32
make && make install

For building using the mingw-w64 toolchain for 64 and 32 bit options.

apt-get install mingw-w64 gcc-mingw-w64 binutils-mingw-w64
./configure --host=x86_64-w64-mingw32 --build=i686-linux --prefix=/opt/x86_64-w64-mingw32
./configure --host=i686-w64-mingw32 --build=i686-linux --prefix=/opt/i686-w64-mingw32
make && make install

Notes

  • In order to compile to WINVER <= 0x0500 (Windows 2000 or older) disable IPv6 support (#undef VIRIATUM_IP6)

FreeBSD

FreeBSD ignores the /usr/local directory by default so it must be included in order to conform with dependencies.

setenv CFLAGS "-L/usr/local/lib -I/usr/local/include"

Features

There are a lot of possible building features to enable

  • --with-moduleroot=path - Sets the path to be used to load the modules
  • --with-wwwroot=path - Sets the path to be used to install and serve the default content
  • --enable-debug - Enables the extra debugging capabilities in Viriatum
  • --enable-defaults - Enables the default paths in the viriatum server, ignoring wwwroot and moduleroot at runtime
  • --disable-ipv6 - Disables the support for the IPv6 protocol stack
  • --disable-epoll - Disables the support for the epoll mechanism
  • --enable-mpool- Enables the memory pool support (optimized for windows only)
  • --enable-prefork - Enables the prefork support so that viriatum can create workers

Python Package

Viriatum may be imported from the Python interpreter and used to serve either a WSGI or an ASGI application on its own event loop, no separate server process is required:

pip install .

A WSGI application is served by passing it to the server, the interface is detected from the shape of the application:

import viriatum


def application(environ, start_response):
    start_response("200 OK", [("Content-Type", "text/plain")])
    return [b"Hello World"]


viriatum.serve(application, port=8080)

An ASGI application is served in exactly the same way, a coroutine function is recognised as such and driven on the asyncio loop that the server advances once per iteration of its own:

import viriatum


async def application(scope, receive, send):
    await receive()
    await send(
        {
            "type": "http.response.start",
            "status": 200,
            "headers": [(b"content-type", b"text/plain")],
        }
    )
    await send({"type": "http.response.body", "body": b"Hello World"})


viriatum.serve(application, port=8080)

The http, lifespan and websocket scopes are all supported, response bodies are streamed as each chunk is sent.

Both versions of the ASGI interface are supported. The single callable shape above is the third version, while the second one hands the scope to an outer callable and the pair of callables to the awaitable it returns:

import viriatum


def application(scope):
    async def handle(receive, send):
        await receive()
        await send({"type": "http.response.start", "status": 200, "headers": []})
        await send({"type": "http.response.body", "body": b"Hello World"})

    return handle


viriatum.serve(application, port=8080, interface="asgi")

The version is detected from the shape of the application, honouring the _asgi_single_callable and _asgi_double_callable markers when present. The interface may also be forced with interface set to wsgi, asgi2 or asgi3. Note that auto only tells a single callable ASGI application apart from a WSGI one, as a double callable application is indistinguishable from a WSGI callable, so a second version application needs asgi, asgi2 or one of the markers.

Modules

There are a series of modules for the viriatum server that are used to extend functionality of the base server, in order to compile then some rules apply. Current modules include:

  • mod_lua - For interaction with the Lua interpreter
  • mod_php - For interaction with the PHP interpreter (complex compilation)
  • mod_wsgi - For interaction with the Python interpreter using the WSGI specification.

Lua Module

For an Ubuntu/Debian environment the Lua 5.1 development packages must be included using:

apt-get install liblua5.1-0-dev

On Alpine Linux:

apk add lua5.1-dev

PHP Module

Requires PHP 8.x compiled with the embed SAPI. On Alpine Linux the simplest approach is to use the system packages:

apk add php84-dev php84-embed

When building PHP from source, compile with embed SAPI support (the library is now named libphp.so instead of the old libphp5.so):

./configure --enable-embed

For static linking, useful for package distribution:

export CFLAGS="-fpic"
./configure --enable-embed=static --disable-libxml --disable-dom --disable-simplexml\
    --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear --without-iconv

The PHP module must then be compiled with CFLAGS pointing to the PHP include directories. The easiest way is to use php-config:

export CFLAGS="$(php-config --includes)"

Or manually:

export CFLAGS="-I/usr/local/include/php -I/usr/local/include/php/main\
    -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend"

Additional information about PHP compilation flags may be found here.

WSGI Module

Requires Python 3 development headers and shared library. On Ubuntu/Debian:

apt-get install python3-dev

On Alpine Linux:

apk add python3-dev

On macOS (Homebrew):

brew install python3

The module is compiled with flags from python3-config:

export CFLAGS="$(python3-config --includes)"
export LDFLAGS="$(python3-config --ldflags --embed)"

Docker

It's possible to run viriatum inside a Docker container. Three Dockerfiles are provided:

  • Dockerfile - Core server only (~11 MB)
  • Dockerfile.php - Core + mod_php with PHP 8.4 (~22 MB)
  • Dockerfile.all - All modules: diag, gif, lua, php, wsgi (~112 MB)

To build and run:

docker build -t viriatum .
docker run -p 9090:9090 viriatum

To build the full image with all modules:

docker build -f Dockerfile.all -t viriatum-all .
docker run -p 9090:9090 viriatum-all

Benchmarking

  • Most of the information presented in gwan benchmark is applicable for benchmarking Viriatum

For more information regarding benchmarking please check the list of todo information.

Debugging

  • For windows debugging use Visual Leak Detector using the #include <vld.h> statement
  • In linux/unix environments use Valgrind with valgrind --tool=memcheck --leak-check=full viriatum

Profiling

  • On windows systems the tool to uses is the Very Sleepy
  • For linux/unix machines the best approach is to go with either Sysprof or the more expensive Zoom from rotate right

Versioning

The current version numbering in viriatum follows the following wildcard based structure ${MAJ}.${MIN}.${MIC}${STA}${STA_VER} and in order to change any of these values the definitions.h and the build.json files must be changed.

In case any one of the version numbers or the stage value changes a new tag must be created in the git repository, so that the version is correctly identified for the repository contributors.

License

Viriatum is currently licensed under the Apache License, Version 2.0.

Build Automation

Build Status Build Status GitHub PyPi Status License

Metadata

Release files for viriatum 0.4.0

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

Source distribution (sdist)

Source distribution for viriatum 0.4.0
File Size Uploaded
viriatum-0.4.0.tar.gz 549.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for viriatum 0.4.0
File
viriatum-0.4.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
viriatum-0.4.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
viriatum-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
viriatum-0.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
viriatum-0.4.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
viriatum-0.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
viriatum-0.4.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
viriatum-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
viriatum-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
viriatum-0.4.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
viriatum-0.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
viriatum-0.4.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
viriatum-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
viriatum-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
viriatum-0.4.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
viriatum-0.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
viriatum-0.4.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
viriatum-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
viriatum-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
viriatum-0.4.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
viriatum-0.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
viriatum-0.4.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
viriatum-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
viriatum-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
viriatum-0.4.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 3.8 MB

Release files / viriatum-0.4.0.tar.gz

Download URL viriatum-0.4.0.tar.gz
Size 549.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3efcd07b9dd873ae5c9d4182373ab64eba82d44f11022567977f6782bd3cfdb4
BLAKE2b-256 checksum
How to use checksums
8e24bafe1efc0267a119f2f5fd99ee5c22a8326ad41cbbff3c3552eb303b73f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp314-cp314-win_amd64.whl

Download URL viriatum-0.4.0-cp314-cp314-win_amd64.whl
Size 90.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b45669de2a185c0a23dd8b462b11cd92a07f7b62ab441668c0061815994474fe
BLAKE2b-256 checksum
How to use checksums
1d876bd9131649b57aff801a971702548e698b38ffbe39d5b7db183b360b3393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp314-cp314-win32.whl

Download URL viriatum-0.4.0-cp314-cp314-win32.whl
Size 81.8 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
f67314bd2401df80d61f9cccfa0306454953ea5533d52b98341cd78d6f948890
BLAKE2b-256 checksum
How to use checksums
8db195afbddc5e59a6d777874a8b66794bd23bb0406e63b342bbbb543d62c808
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL viriatum-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 108.4 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5f9cae731a56ddf5f64c842f906f9732e0afbbea66ef3494bac64c88d29205ef
BLAKE2b-256 checksum
How to use checksums
8655f8398366caaa4350362c45b1f499d2b1eb446209a7ec66307bebb26c693d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.9 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0525c108c9a467753aae65bfafde203b79bbfdca6c45a1cf406256c439856e92
BLAKE2b-256 checksum
How to use checksums
375646db1171c0274a1eb6e445cfbd3e86b18c582053d8ad51e75311a018fbc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL viriatum-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 89.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f1538733b6e857c1f5c580cca40f1ade9253e1b249628af59209a740b4b986cf
BLAKE2b-256 checksum
How to use checksums
524dbe9e5e004eb00cc96d8726f086135bf729631fd428a54e5c890a9e6a3d3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp313-cp313-win_amd64.whl

Download URL viriatum-0.4.0-cp313-cp313-win_amd64.whl
Size 87.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
763ecfd86b08d676dce33db1598f3f62ba4e35d566d8b4669c17081b2af57632
BLAKE2b-256 checksum
How to use checksums
8bf3f17f53f40f81ef05fa04d7eb127ef5d1a8f8e13d32b1b7fdad0a8f2ac45c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp313-cp313-win32.whl

Download URL viriatum-0.4.0-cp313-cp313-win32.whl
Size 79.2 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
782f45a3549f4045caf3de545ce2f5dc35469fc042e58d3f16bf9c1a76be5869
BLAKE2b-256 checksum
How to use checksums
79652afe7f5f7d5c58e15d71d3f52b02a5820e9aa5894b177c55c70b93fe1ea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL viriatum-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 108.4 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0149c3db8d01022ffa2d2b193d289c893c0f81760c81c0b3460d8753ffffc11c
BLAKE2b-256 checksum
How to use checksums
332e771799b38026927aeab9a3554cef60a5b3289ba55642bdaa628f7e2db842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.9 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
527eafbfb37d8837890d4506416ac62f4540faacf2e07c87d78210569aae21b9
BLAKE2b-256 checksum
How to use checksums
ccf1c3f46058fbab397cdb776a4bfce946c6c48dcf61b670fc906e10b507ae3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL viriatum-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 89.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
60255001cccbc5bae28b6e11677bf0baa04136d9fa8758109862b2366be0901c
BLAKE2b-256 checksum
How to use checksums
7ac65260716a6762dd40d369e786db4f44c9cbd83c56d9e354c5a7240a0b49a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp312-cp312-win_amd64.whl

Download URL viriatum-0.4.0-cp312-cp312-win_amd64.whl
Size 87.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e27ede880a10c3ca23de33dca3e9c629c64a70a6743123d1afb09893a96fa043
BLAKE2b-256 checksum
How to use checksums
1947c506f5dcd30be93862646894303813c72aaa8a741323af6a5aa038b3989c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp312-cp312-win32.whl

Download URL viriatum-0.4.0-cp312-cp312-win32.whl
Size 79.2 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
06bc86b6788ae6c24bd56347b7d008af2bb00364b936434b3dc09890b5dc691e
BLAKE2b-256 checksum
How to use checksums
a6634d5b236e8a17c060a38de780b58d731e0c509837f5e21eb1f2d8d94f9a2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL viriatum-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 108.5 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b3429306cc60b37c1981e4216685b8525b5574f559864582c98cb5b13b7e562b
BLAKE2b-256 checksum
How to use checksums
4202aa042b78d149efe631e437144b08ceec2c20aebca0f2d21a74d81d7c4c2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ad42b6618afa15196f0e6eb0d1ff42ba4130b086b59420038f7aa244ed6f8242
BLAKE2b-256 checksum
How to use checksums
2d56d550e8427312a128cb42a0557d66c1c96bd85b4666460f24ca4d682b0a01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL viriatum-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 89.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5af61f29e327ca16d19c0239de4c58566a8c7a5fc009a316841158b6d5d00166
BLAKE2b-256 checksum
How to use checksums
e244b8b4ae35985846d22c9e18eb886209badf1c3c599c26b0d9e83dfb8e5a42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp311-cp311-win_amd64.whl

Download URL viriatum-0.4.0-cp311-cp311-win_amd64.whl
Size 87.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
90356513d1ae76e9e126cf3b3afa8c67a7aca3fd6868c666d28361294a0b49d4
BLAKE2b-256 checksum
How to use checksums
effe73dc12d2a757a74fedc4e895af2c37a87fa02354a584f6a9a1acd122c086
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp311-cp311-win32.whl

Download URL viriatum-0.4.0-cp311-cp311-win32.whl
Size 79.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
d92daa79435289d3e29cf79643aeec76befaea29422e98250e461d8159c89fcb
BLAKE2b-256 checksum
How to use checksums
88c205e52c6806212435f5921b708b8d2a4be7a9177dac634c8f1bc7cbb7f8fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL viriatum-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 107.8 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4f077d9e50921ffd9ce3e4aa04f6d2235b48b9225a6e2546df1bc5c56122d709
BLAKE2b-256 checksum
How to use checksums
0a44ffa7b6106892439f5db6042a73c3f20b61f2d33d21031045518da5c58bbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6cce55f5d3a2b0054bb132490904d9b6dbc567575e77184b9a923a41a5bcdd75
BLAKE2b-256 checksum
How to use checksums
566acef024dbf65dfd9644034c0981141ba5dc3cc78c131f099ff99e6c4d9c51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL viriatum-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 89.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
04b0ac2346930a7e5b6c0ec22e26fe9286eb3a6a97c54accead442926f1810f4
BLAKE2b-256 checksum
How to use checksums
bdceae5ef25a05b893a3bc96d7989766eb31a8abced3ae218256c1bd82ef230c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp310-cp310-win_amd64.whl

Download URL viriatum-0.4.0-cp310-cp310-win_amd64.whl
Size 87.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d80db787b8287d46109001224212509bb60b3374d7615c92373112835bf3ad54
BLAKE2b-256 checksum
How to use checksums
477d6d19b064bfba0f02e4acd7ed4d45c33a718f364b73e09a44778efb1962c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp310-cp310-win32.whl

Download URL viriatum-0.4.0-cp310-cp310-win32.whl
Size 79.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
b4108dc8a2679c50b42de3057f44ec6b977a0578381dcd1744f9b59bc734489c
BLAKE2b-256 checksum
How to use checksums
7e1d58cac2d68ec529d59cee89537295e6d34b35c696ac173c919560deb0ab1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL viriatum-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 107.8 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
7bf4c6dbbc95265cfc7e28fb1d2480c7fda9839052663181d3baa4cce4843950
BLAKE2b-256 checksum
How to use checksums
e4ac176aa1b1f6850d66647117cf4b878a7d8e35dd1775770fc6afa2b34f3559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.1 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c1b410b170eb85f3d24499d1093353bd07f37b1582111460cbc5f57611d2495d
BLAKE2b-256 checksum
How to use checksums
f01662d818559c159f4b5b4cfd38198acd00b20a09c40bc9e0c67c9a1f8ce7ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / viriatum-0.4.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL viriatum-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Size 89.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f71c484dfcd0457eb7c079650c75a44ada6c8e26089c75133a31e175282e4f79
BLAKE2b-256 checksum
How to use checksums
28e7de94b1fdfe43c3487aceafe0d62cbf1c6f8bf13e2da792d4f13c6254f13c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.5.0

26 release files

This release

0.4.0 This release

26 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