Skip to main content

EcKit

Latest Tag CI CI

codecov License Project Maturity

[!IMPORTANT] This software is Graduated and subject to ECMWF's guidelines on Software 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.2.0.27

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.2.0.27
File
eckitlib-2.2.0.27-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
eckitlib-2.2.0.27-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
eckitlib-2.2.0.27-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
eckitlib-2.2.0.27-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
eckitlib-2.2.0.27-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
eckitlib-2.2.0.27-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
eckitlib-2.2.0.27-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
eckitlib-2.2.0.27-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
eckitlib-2.2.0.27-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
eckitlib-2.2.0.27-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details

Total release size: 71.1 MB

Release files / eckitlib-2.2.0.27-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL eckitlib-2.2.0.27-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dfef4d5967c925d70635915d497d38af737c68664d23787b82d477b93be49daf
BLAKE2b-256 checksum
How to use checksums
08848efb21bcaccdd7e23cc410ccc7565f60be90535dbd3f17fcbdbaf7f81c44
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.2.0.27-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL eckitlib-2.2.0.27-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.1 MB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ac58b794fde813d250b0e53e36b7030d0d1d659bab26bdc2b3c5300980157153
BLAKE2b-256 checksum
How to use checksums
12a518f0d5be2662315d432d222c668badfe97c72bbacdd572c036867cdec437
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.2.0.27-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL eckitlib-2.2.0.27-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fd792923c1aef1645b82cf5f7670206bbd1e6805a5d6c020b8ab0431c9414aa3
BLAKE2b-256 checksum
How to use checksums
ac7984ab7bd7736320d25e5b88d50375270b4661b156a4fc37d773301147cfaf
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.2.0.27-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL eckitlib-2.2.0.27-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.1 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
94c54dc8d8a25444f7c6634c88f12844bfe6ebb49240bfd58998789bd34feaff
BLAKE2b-256 checksum
How to use checksums
fe86fc991c7d69addd0e021acf05bb1721be45efae46d59bfae9f1883ec444c2
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.2.0.27-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL eckitlib-2.2.0.27-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5d7bf979cb232f83716624fa7d197a61d1a3cec706ad95889dc3c2f872ceda97
BLAKE2b-256 checksum
How to use checksums
f3f2b40e6677d1b205b260d68b373558eee21e59b9ab07b7949c7180223dd17d
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.2.0.27-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL eckitlib-2.2.0.27-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.1 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
df538933fb5c703c4675e106409118f5dd9cebfac6498ab5cae3ddb8d3486ebc
BLAKE2b-256 checksum
How to use checksums
e8d28d02dd3b3b102ab82f01e1d9957bd993ae2a4bdc4c03922462026e240bfd
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.2.0.27-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL eckitlib-2.2.0.27-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c845edb5c8128543a809c970d01cf99b53db4eaf5de154813ab04c054dcf7edd
BLAKE2b-256 checksum
How to use checksums
3ac88b640dc83dcb6476ceb5bdcfb5fa59cf6e72a71b51e8fde8765537ab1f0a
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.2.0.27-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL eckitlib-2.2.0.27-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.1 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
74d925b9fb08297f0500cdb92a6f9607f74b35c4fa11f676c0e31a0e32cef016
BLAKE2b-256 checksum
How to use checksums
9fd31096011ce96d6950d542bcfcb58238ebea95092e5ccba084ccb02cfad3af
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.2.0.27-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL eckitlib-2.2.0.27-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a557c416c9466cd18b2faf651834d85f550e79438e088bceb163f38b4f1766b9
BLAKE2b-256 checksum
How to use checksums
fb6459b27c2448a923b46f95424bb4e08fbf3ee41e1dd0225cba9fc44bed4506
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.19

Release files / eckitlib-2.2.0.27-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL eckitlib-2.2.0.27-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.1 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
98d9f38786486d0832bd88e41f4689339a9aa408091a2d3e558ffc980a055b0c
BLAKE2b-256 checksum
How to use checksums
7c99db3f8eae3b320db226daae4da6076867b800dc9fda3c9d7e90e6f89942c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.19
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