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.5.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.5.0
File Size Uploaded
viriatum-0.5.0.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for viriatum 0.5.0
File
viriatum-0.5.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
viriatum-0.5.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
viriatum-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
viriatum-0.5.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.17+ x86-64, Linux glibc 2.28+ x86-64 Details
viriatum-0.5.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
viriatum-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
viriatum-0.5.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
viriatum-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
viriatum-0.5.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.28+ x86-64, Linux glibc 2.17+ x86-64 Details
viriatum-0.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
viriatum-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
viriatum-0.5.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
viriatum-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
viriatum-0.5.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.28+ x86-64, Linux glibc 2.17+ x86-64 Details
viriatum-0.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
viriatum-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
viriatum-0.5.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
viriatum-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
viriatum-0.5.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.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
viriatum-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
viriatum-0.5.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
viriatum-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
viriatum-0.5.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.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 4.4 MB

Release files / viriatum-0.5.0.tar.gz

Download URL viriatum-0.5.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
83771866b8bae9003d449ea4883f12475419f2f8d2fd60baf76dbd258bcc19ee
BLAKE2b-256 checksum
How to use checksums
ab621082a11c22c28ef7ffc48669001cde5bf59a599f90d598fa9277249240e3
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.5.0-cp314-cp314-win_amd64.whl

Download URL viriatum-0.5.0-cp314-cp314-win_amd64.whl
Size 90.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d200bee9f4f19d6fe28e5e77eeea0864041ee8a1511159a9527f249be3cffab9
BLAKE2b-256 checksum
How to use checksums
c5def25a60247cf2beb48015dcf1fc592ce8a8d4d7c625dc7cbe3a872905a340
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.5.0-cp314-cp314-win32.whl

Download URL viriatum-0.5.0-cp314-cp314-win32.whl
Size 82.2 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
fd52ad9e7d629b307a694df3a949e300ddd6a4c8a29706c6b445419649dffe88
BLAKE2b-256 checksum
How to use checksums
e4f548e3800fac16c2753661ead7ae00be4f89ef7a1890817fe2ac9a7ff2a326
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.5.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL viriatum-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 108.6 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a4cbd1ba001951728efbbef1ec06ea6064ee17a802336dc88acea6703715a00d
BLAKE2b-256 checksum
How to use checksums
d0440eb55ed9846583676784e8567230265d65fcbf84968ccd5b270bb426db2d
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.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 294.1 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d12bd5dfa06bd12d360be967cd579db2459008b12951a5a5c74d1cefe6f30ff
BLAKE2b-256 checksum
How to use checksums
b0d8ca67da4af8cb81436b4397982e6d8d6b8c37278dd9e672a8ec0af2dc998a
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.5.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL viriatum-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
Size 89.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a7d9a2fdb91c7a440bc557609bb49b717c624bc50f9a1e9b1299e7a97e4d556d
BLAKE2b-256 checksum
How to use checksums
1c4b6985a5afef0f6fb2c6bfd50cecfaaf5b86234e47e71d7408c02664f4b8d0
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.5.0-cp313-cp313-win_amd64.whl

Download URL viriatum-0.5.0-cp313-cp313-win_amd64.whl
Size 88.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9d84a03ffeb3a756d75e3d46e6460e0718c35e155c4bcb2920d3030dacca3c8d
BLAKE2b-256 checksum
How to use checksums
3586d2de135ca0a2ef58530e1e238b01e7e5e817bf5931846ad268791c7c0065
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.5.0-cp313-cp313-win32.whl

Download URL viriatum-0.5.0-cp313-cp313-win32.whl
Size 79.4 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
0bba6041ccd3509dabc36513dade7795f052e6e9d8eaf3816aba5680e0a1eadc
BLAKE2b-256 checksum
How to use checksums
e1401c6ed9d06a3da1a6638ac5f28b46be15e23e1694afe33887080deb82c1fb
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.5.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL viriatum-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 108.6 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
64f067e456b041a5a0ac0b2c24263da50829b14557e9ff68b76fab2e4af93f87
BLAKE2b-256 checksum
How to use checksums
8fd54133c68526c671cfaddcb76c010f70da5352ad3e0582bef88ba052050708
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.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 294.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
83f7884f22857054497ef2257b266ed66e4ab15737101365af00e0df322bac71
BLAKE2b-256 checksum
How to use checksums
7c8cb509f4e25011d6ed6edfa2920854a04f0e751ba92e3fe7ceec78e828c96a
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.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL viriatum-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 89.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
31da0cad23350210a1bcd1735efcc776b345f6062646181753af280ed823cdbe
BLAKE2b-256 checksum
How to use checksums
8b173ea3840118bd32328556b1ed2a4fff6274a1fa993540cb05dac11a14aded
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.5.0-cp312-cp312-win_amd64.whl

Download URL viriatum-0.5.0-cp312-cp312-win_amd64.whl
Size 88.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9bd78a1c1da4d2fc7e1bac2b529d8e8dbfd280bdebe2e05300ec783e4d24cf4f
BLAKE2b-256 checksum
How to use checksums
91b89dfb42b79f1d42260ddb7fc57422e798e4165539188ad7a4c2359b0a1065
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.5.0-cp312-cp312-win32.whl

Download URL viriatum-0.5.0-cp312-cp312-win32.whl
Size 79.4 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
3cc6ccc4a62dd21c828d587e1fd694619655bcfdc278158f80a9f646bf8e229b
BLAKE2b-256 checksum
How to use checksums
554c41fb73fdbfdf777348d9190dd0a5880df26009c036bf206a27ea31632cec
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.5.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL viriatum-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 108.6 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
18a3c44d7044a522691c270c3616ca62d243ee9c8618ac391da312b123d86434
BLAKE2b-256 checksum
How to use checksums
526dd5f464300f6f5ca01abba0c4c89af5f2a8ba06b334c2431ccddf04dd02ff
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.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 294.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1c1414654fe311e7d1dd5ac85c77e5c5f82ff56fae86c021f9d00e3757a011e2
BLAKE2b-256 checksum
How to use checksums
137d7084cd51e0ab694db0ba472c8acfe0f9c1e2c34de9180084fec9fa143ad9
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.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL viriatum-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 89.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bf485a34e692efdce475770918bc261eddf37e7a33982f3a32a52b801c485584
BLAKE2b-256 checksum
How to use checksums
885be38441af81e737892139b470504b32b27dacd80bf4fd4bf403d93b7e40ed
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.5.0-cp311-cp311-win_amd64.whl

Download URL viriatum-0.5.0-cp311-cp311-win_amd64.whl
Size 87.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f45a1fa37c0592b5c4a26fe7370050cf2d0c6089e801e2d2c212537b5196eeca
BLAKE2b-256 checksum
How to use checksums
296684444db299547f3b8e3111b8be883a9e7966166c4000e9ad52e4e15ed761
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.5.0-cp311-cp311-win32.whl

Download URL viriatum-0.5.0-cp311-cp311-win32.whl
Size 79.1 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
062387de6fadc8200121530b08a9bacd080ba4b8f14af463d787319c7e8f1cab
BLAKE2b-256 checksum
How to use checksums
813bfbb0a3c80bd12e1f494bdefaa11f59ff27c9b2b1dce204bc1079fcae8a57
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.5.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL viriatum-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 108.0 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3deaf62a677f7e71cacb09666a8dc860ccb5fc1e02eaa54be52a9a3f774d8865
BLAKE2b-256 checksum
How to use checksums
15e5d80ab2963a66cae2922ff73d511ad75753e1196e4b77654ec0d7b1f6b028
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.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0c5cf28078fbdf67cc1c367adf5ecf330fa6ee7fee626d683ddd2eda9d823518
BLAKE2b-256 checksum
How to use checksums
4b0a4ff37764f41676701a24e9b35cd9ef4e66585935c871f06a74f075e18e85
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.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL viriatum-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 89.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d85e75347d492bfb1bcb4794ee85a03ce2f976aa42c2b9353709e44897fb04f6
BLAKE2b-256 checksum
How to use checksums
861e0f4285f4d7644f1c80b230adbbdc4faf364b66dbeb43877a9606218eb249
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.5.0-cp310-cp310-win_amd64.whl

Download URL viriatum-0.5.0-cp310-cp310-win_amd64.whl
Size 87.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
14890abd13644d37f4989629d70fad93883f31ad8b3e0d3b3db422468b56f107
BLAKE2b-256 checksum
How to use checksums
22d346edb976da15f808aae143636be428be60d019486a75ce345a9c5b317a14
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.5.0-cp310-cp310-win32.whl

Download URL viriatum-0.5.0-cp310-cp310-win32.whl
Size 79.1 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
e708b07c55ea02b3e439e44a7fd2116bba3a9eb5fb55ebac1ee86b7fa09be196
BLAKE2b-256 checksum
How to use checksums
c18b2cb750245542a5bb454477f147fd51f2f17fc8ed59f5ab23f3b967e77afb
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.5.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL viriatum-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 108.0 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
235cb2de2705d361994b53d9be0ac297276e4727474f6ec724ce4365c610042d
BLAKE2b-256 checksum
How to use checksums
8b49d6ac98a9d1d3ae3dd99ad9426f2dd1e361ed2034bcc4aae25843bb0d5724
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.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL viriatum-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 293.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
95d7e9b3043fd5e3439931b51f43af72b67a1fb6469720a143715a66d3fd5086
BLAKE2b-256 checksum
How to use checksums
4b0baec10176b01dff1b98332ca2f4fa5676592fc1a1919468d0a7abdc018882
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.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL viriatum-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 89.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4ec2fccb350dd8d674afe9095d6057afc1274bf38ca5cb56a0ceb5d43ea0282e
BLAKE2b-256 checksum
How to use checksums
a0a7edac6fd516ec07d010519b18f6bf111df3f306f687405b66a425dab2a5e1
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

This release

0.5.0 This release

26 release files

0.4.0

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