Skip to main content

EcKit

Latest Tag CI CI

codecov License REUSE status Project Maturity

Overview

EcKit is a cross-platform C++ toolkit that supports development of tools and applications at ECMWF. It is based on code developed over the last 20 years within the MARS software and was re-factored out to be reused by other applications. It provides an abstraction layer on top of the operating system, so it is easier to port code to new architectures. It is developed taking into account the robustness requirements of running production systems at ECMWF. The main focus is UNIX/POSIX systems, and it has been thoroughly tested on Linux and Mac OSX. Historically, the code base pre-dates and in some way can be seen as a leaner substitute for some 'Boost' libraries.

Features

It features facilities to easily handle, in a cross-platform way:

  • multi-threading
  • json and yaml parsing
  • object serialization and persistence
  • object serialization supporting compression, to and from file and network
  • configuration of user options and resources
  • file-system abstraction
  • regular expressions
  • socket networking
  • http protocol
  • type-to-type conversions
  • asynchronous IO
  • asynchronous processing
  • exception handling and stack dumping
  • MPI object-oriented wrapper
  • linear algebra abstraction with multiple backends (BLAS, MKL, Eigen3)
  • advanced container classes
  • space partition trees
  • file-mapped arrays

Requirements

Make sure ecbuild is installed and the ecbuild executable script is found (which ecbuild).

Now proceed with installation as follows:

# Environment --- Edit as needed
srcdir=$(pwd)
builddir=build
installdir=$HOME/.local

# 1. Create the build directory:
mkdir $builddir
cd $builddir

# 2. Run CMake
ecbuild --prefix=$installdir -- $srcdir

# 3. Compile / Install
make -j10
make install

# 4. Check installation
$installdir/bin/eckit-version

Metadata

Release files for eckitlib 2.3.0.29

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 eckitlib 2.3.0.29
File
eckitlib-2.3.0.29-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
eckitlib-2.3.0.29-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
eckitlib-2.3.0.29-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
eckitlib-2.3.0.29-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
eckitlib-2.3.0.29-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
eckitlib-2.3.0.29-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
eckitlib-2.3.0.29-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
eckitlib-2.3.0.29-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
eckitlib-2.3.0.29-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
eckitlib-2.3.0.29-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
eckitlib-2.3.0.29-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
eckitlib-2.3.0.29-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
eckitlib-2.3.0.29-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
eckitlib-2.3.0.29-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
eckitlib-2.3.0.29-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
eckitlib-2.3.0.29-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details

Total release size: 343.9 MB

Release files / eckitlib-2.3.0.29-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL eckitlib-2.3.0.29-cp314-cp314-manylinux_2_28_x86_64.whl
Size 37.8 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
18cd7058f7563295f590c88018272c7288d7a4110beddca9696e00a48405192c
BLAKE2b-256 checksum
How to use checksums
6879b41377dca6166893fd7675060b9d52f0dfa15913131482f6b4d3094fcebd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / eckitlib-2.3.0.29-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.29-cp314-cp314-manylinux_2_28_aarch64.whl
Size 35.0 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
afe95c09a64e014fed0cf1710f7b48ef0cd42d0eec014f87d978c0402bbe48ce
BLAKE2b-256 checksum
How to use checksums
c9a59d9ffa931f16b72407c1709f792184e9928c6ffc5c6b4f12dd8bec920be2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / eckitlib-2.3.0.29-cp314-cp314-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.29-cp314-cp314-macosx_15_0_x86_64.whl
Size 6.7 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
64bf25769c300bc291243d4e059f7dc856848701a0d2f86839bfeb6d0c8fd77b
BLAKE2b-256 checksum
How to use checksums
29e1865876323a9c4e055e164a47872b39b6bdd7793d93fd12429f26ae538560
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.14.5

Release files / eckitlib-2.3.0.29-cp314-cp314-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.29-cp314-cp314-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
1910d22985e3811cffcf062cb88111db6f8f49b6c570138890c7147866f09e11
BLAKE2b-256 checksum
How to use checksums
5e594529f0859dc940e572a29a200223a9a7c867a98fd0d34c7ca76d5308d88c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.14.7

Release files / eckitlib-2.3.0.29-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL eckitlib-2.3.0.29-cp313-cp313-manylinux_2_28_x86_64.whl
Size 37.8 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
de827b4e2637448a52c59d6867f8799e45ea5c63e9fe29270645381cb861743c
BLAKE2b-256 checksum
How to use checksums
59bfda8f25da74c8502d97c64c9871d57b5c93f9dfe409c86220321428be2d1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / eckitlib-2.3.0.29-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.29-cp313-cp313-manylinux_2_28_aarch64.whl
Size 35.0 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0967ff982bfa6bc0058d0d9a52fc9823ee591887e94778afc93b728599238c7d
BLAKE2b-256 checksum
How to use checksums
a3f434a3a472f0f8d5964f7f9eeaac51e3803f2e11cbb8432fcfda7c320a8a57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / eckitlib-2.3.0.29-cp313-cp313-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.29-cp313-cp313-macosx_15_0_x86_64.whl
Size 6.6 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
21b1f69eddb60f2877e68fd0ba783a13d7b0d22390806b4fba4b7448b4fdc161
BLAKE2b-256 checksum
How to use checksums
24657b436b0eca39eb318a80587d2f2ed9409bdc26772a4f3163f1261ab54686
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.2

Release files / eckitlib-2.3.0.29-cp313-cp313-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.29-cp313-cp313-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
fec820660b0a3fac5e5c80ed1556fcaea54b312c52a7a65818d6fe8b1bd6444f
BLAKE2b-256 checksum
How to use checksums
1aaec8bfb31b6a42c7f710740f200cd3fd6e7f32a17c89fc79d20780a23d0d40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.15

Release files / eckitlib-2.3.0.29-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL eckitlib-2.3.0.29-cp312-cp312-manylinux_2_28_x86_64.whl
Size 37.8 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
aed791a21cf2da1fd3c94a904b372148319a0745d374ab5efc6dceaad07df1d6
BLAKE2b-256 checksum
How to use checksums
526366185ba464a39302729ccf540617e4d12a27b9e3ef424e9642d2924abe01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / eckitlib-2.3.0.29-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.29-cp312-cp312-manylinux_2_28_aarch64.whl
Size 35.0 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
aab96cad50c328c08ceb3d9f0e2f828303454ea36b29f4c025ed102ac3517179
BLAKE2b-256 checksum
How to use checksums
e7a8dcc57e590a4a750b15bd8d7d1adec39fcc6c9ac065e52eddb38a2b2a78ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / eckitlib-2.3.0.29-cp312-cp312-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.29-cp312-cp312-macosx_15_0_x86_64.whl
Size 6.7 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
5d261584ce197e0d53943d99e1c6dce3a7567ae1b01a1e432efb7214b79c75b5
BLAKE2b-256 checksum
How to use checksums
3183abcda6a941d346586766cdb18f545a61f5f4bf7bfffb4f0489cd610b586c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / eckitlib-2.3.0.29-cp312-cp312-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.29-cp312-cp312-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
140e15ebde96c3b727682ab996562cb9de4a8c5a1534bb0fa7281b555921420f
BLAKE2b-256 checksum
How to use checksums
ae7f96c5fefa1842305c70905089556603a4838bc339e361e880790ce35538a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.14

Release files / eckitlib-2.3.0.29-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL eckitlib-2.3.0.29-cp311-cp311-manylinux_2_28_x86_64.whl
Size 37.8 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7d8ea7b18eb2bfdbe2fc3f3d4db7f5f126c827313834580866f2c12bd04877c3
BLAKE2b-256 checksum
How to use checksums
cdb5da55944ee98471005c3d1b5c2809f279a28abf5dbe7d2fa33d776cb91966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.14

Release files / eckitlib-2.3.0.29-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.29-cp311-cp311-manylinux_2_28_aarch64.whl
Size 35.0 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
df1b5b874ca588cd50c84178ea24867ece8a4e9aa1a7ede836d178fc46969ea3
BLAKE2b-256 checksum
How to use checksums
b077830eb82d6ee9baac11f044da2ea5c7d872637afdd5dfe5623c9952f101a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.14

Release files / eckitlib-2.3.0.29-cp311-cp311-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.29-cp311-cp311-macosx_15_0_x86_64.whl
Size 6.6 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
c699b6a15fb1d1b7c908bb5ce8280f5590d4770b2ed12e7657bce9cf5cad7872
BLAKE2b-256 checksum
How to use checksums
87bbdd53d3f4b61ac59ee71e04cf5ed89ed2d1fad1fdbe01d181271290cd5cf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.11

Release files / eckitlib-2.3.0.29-cp311-cp311-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.29-cp311-cp311-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
f31c689baad922d56570b3c7ccfd8d13a9039e8ca076f2a47dbb86a4aaec12f5
BLAKE2b-256 checksum
How to use checksums
04a706f4b201debb0f6b162cca4c1345401aae379df5969c31bce581ffea6bb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.16
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