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.28

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

Download URL eckitlib-2.3.0.28-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
bd0424e40ba0f8ada51463188a176edf134d6aee93c1ebc626b059c6c4c9063a
BLAKE2b-256 checksum
How to use checksums
d49add3034a29ae99ce05d8e35cdf243276b5af8ebd7356e969c4f8e5a823ab5
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.28-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.28-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
2a743b1ea7fd096d3bdb08db966b213166c823239d4cf8547149c0e448e7e9c7
BLAKE2b-256 checksum
How to use checksums
7160412342309876410fdb87d213fa649431b576efb1075ac1d2a021bf37d2cf
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.28-cp314-cp314-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.28-cp314-cp314-macosx_15_0_x86_64.whl
Size 6.6 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
9dae9c165b560022ae3a4dc0b4852ee8d4e69ae6d9dd8128531e19c904e4e0a7
BLAKE2b-256 checksum
How to use checksums
1fa8bc7aa0362288239172e303054405d3184e538d28bfac0365988989b8833d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.14.0b3

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

Download URL eckitlib-2.3.0.28-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
5a43ad05bee5321836fdc67b719b7ca23fc2447895a895904ac3bb3f04a3e4ce
BLAKE2b-256 checksum
How to use checksums
3e56c244e403368e4cad68c04072401da42185643e793b93789e5ddd418b84ab
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.28-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL eckitlib-2.3.0.28-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
286334f3fe6da55b9990be2f27a0e69111a74ea3364416b12bc29d3137efc0c8
BLAKE2b-256 checksum
How to use checksums
86e07b59d0d56e2337a953538467c0f70f74188aeae740f4abd5dfff5f3b4494
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.28-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.28-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
b190943abe40086c548a67b2062e8c7cdf9c3e91d6a3a78783c7f8d903a03e33
BLAKE2b-256 checksum
How to use checksums
34e8a2cfd79c0312bf509313efe9de09ad280aa6603e9f846b910797f4d4df97
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.28-cp313-cp313-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.28-cp313-cp313-macosx_15_0_x86_64.whl
Size 6.7 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
39bcdb9141d53bf09cc93e9b8d72aba6d0b3e1bed9fd7ad76c6d4e6434862818
BLAKE2b-256 checksum
How to use checksums
80d993a27d3785f50e24f20cff9f45474bd12e257d069d117b5841b0f55eb067
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.28-cp313-cp313-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.28-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
5494ce906b5be263683e61d65b324a7218ead46ee68fb532d9fa54aacfc03ed6
BLAKE2b-256 checksum
How to use checksums
b98ecfaca804e0ab4fd9ebc384d935a5e4dbfaa12fb9c3204c754d4593e8e585
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.28-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL eckitlib-2.3.0.28-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
384efa995e258409869d864c4b79f1d81537b5cc98cec310b1be021ffedce66f
BLAKE2b-256 checksum
How to use checksums
98ecb33c9191937deaa70e3365c740ef5a1f6e1f57a658e7c38cab8b5e06edc2
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.28-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.28-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
986b7dacb00a46ae62d40772cad82b4154b2ba3c0c96096d6c5662c78489483e
BLAKE2b-256 checksum
How to use checksums
c3394c1aa6103918ae601f7fe4a58ae590522f206e45d366283bf29c65eb221c
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.28-cp312-cp312-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.28-cp312-cp312-macosx_15_0_x86_64.whl
Size 6.6 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
8982bf548db7a858426272b8a5c60c9da2fb7f268f61c055940c9ba6bea45927
BLAKE2b-256 checksum
How to use checksums
58e85ee710d7db35241e0acf02747a58716f5796acb4f2b33f52cc55e381a3c9
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.28-cp312-cp312-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.28-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
4b4da935dd285121f707b0b43097c76bf9aa65d58b2949cdc9d37a5abf08450c
BLAKE2b-256 checksum
How to use checksums
ab5ca3e541bd73a4c043eb186d7161e0ba68126169604adce2e120f7c8424924
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.7

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

Download URL eckitlib-2.3.0.28-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
9b36849237fc777e4749b54d0bfef7508a5d7f61612d0a6a6d914cd1984ab6be
BLAKE2b-256 checksum
How to use checksums
13c875e11658a06c010f6f575decf4ffb39d42f64a08b00647ba5f62dda32aec
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.28-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL eckitlib-2.3.0.28-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
d43146b650b74d3b905166804f4192f921be32d768823f2d792827a138c5f6e6
BLAKE2b-256 checksum
How to use checksums
244c6c24c835b7cb09e91bbf98ce0c4a36467a56b20f5f76f2e14ab284b8c119
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.28-cp311-cp311-macosx_15_0_x86_64.whl

Download URL eckitlib-2.3.0.28-cp311-cp311-macosx_15_0_x86_64.whl
Size 6.7 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
7ac9dc1487a0db1b5d911d0a34e7957e117b1933e539967e019689b8edae9f9e
BLAKE2b-256 checksum
How to use checksums
8f43566201657b91d8e3a6c2820a8bf0e12769c5fd50fb2278de97e79904009a
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.28-cp311-cp311-macosx_15_0_arm64.whl

Download URL eckitlib-2.3.0.28-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
bede6b72c137d298ce79a03379f9c816a540d6313257d7ae7682554050532447
BLAKE2b-256 checksum
How to use checksums
c3a0e14cfd05e851db1c80bbe470e41abd96c155564d6ceb5c69088e7538af2d
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