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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

eckitlib-2.1.0.23-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

eckitlib-2.1.0.23-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

eckitlib-2.1.0.23-cp314-cp314-macosx_13_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14macOS 13.0+ x86-64

eckitlib-2.1.0.23-cp314-cp314-macosx_13_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

eckitlib-2.1.0.23-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

eckitlib-2.1.0.23-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

eckitlib-2.1.0.23-cp313-cp313-macosx_13_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

eckitlib-2.1.0.23-cp313-cp313-macosx_13_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

eckitlib-2.1.0.23-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

eckitlib-2.1.0.23-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

eckitlib-2.1.0.23-cp312-cp312-macosx_13_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

eckitlib-2.1.0.23-cp312-cp312-macosx_13_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

eckitlib-2.1.0.23-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

eckitlib-2.1.0.23-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

eckitlib-2.1.0.23-cp311-cp311-macosx_13_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

eckitlib-2.1.0.23-cp311-cp311-macosx_13_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

eckitlib-2.1.0.23-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

eckitlib-2.1.0.23-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

eckitlib-2.1.0.23-cp310-cp310-macosx_13_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

eckitlib-2.1.0.23-cp310-cp310-macosx_13_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file eckitlib-2.1.0.23-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 80e9c6343545a49f942ce12ced078dd7428728e6e75043b06d617b3f60729621
MD5 ae937a9998ce7bfde2c62eb9e46f6d26
BLAKE2b-256 97cde736f10a4c9a82016e9339d095aca8d5079042149311f9b4c3d93795a614

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 95308e2410b6233507c1676eb82b74d8118a1dc80840cf846bf0c2582bf5a929
MD5 ee24ff43ca87f3e08b257940f8a0b328
BLAKE2b-256 1ed2d9e55a8aa1d86a73d9c1ccbe988bc63c92d272c08558f801f9b78267a926

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp314-cp314-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp314-cp314-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f7fae4077c7a3b73ca8bc3385d8aa7955f655cfe02fe0a0c63f3dbdc97ab1ffa
MD5 bb0be0b33aa32bdb81402343c128a0d3
BLAKE2b-256 271f57f6b45ffb799df5d3c73b9fe97f725d531a9c69549b7a4e2fa27259eb3f

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp314-cp314-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 be0e9bf4d7f50f9d0e932c5e82d7665e3fd833e506d2d33e50439909ac98c15f
MD5 ba79d55475e87457ffb75f2e65bb6224
BLAKE2b-256 5c796edf0be8cf1b3eca80e29f143822c535e5f0e9de99bc1d0eaf9f51f31444

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b0046e7d04ccfb396c05ec10b24dd8c4bbd605edfe60cab8322d4e77e8437402
MD5 ad597eb91acccbba395330eca481517e
BLAKE2b-256 92fa8ae18fdf9864827e3a61481e53e62758b5b400a3080f084bb68f9d409d87

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 49f69a561ccfeb08a8ba960839c4ed337150b384faba062e78118390b74271eb
MD5 a1ef415c13eb93968d92870b1e89c502
BLAKE2b-256 5d83e439e7eb5048abede78403ed0759a6ae5a876b2ba236f972ec4c841641fa

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c310d645a68836a8368e5ff2a84694974ad122dc30aead6f1d98d0375055101e
MD5 92b201de139118ef54fc5d6e99147fed
BLAKE2b-256 f3a0853a6874ae39850dc4f2a3aeb8a57e2755c0cad249cbc397623814c40679

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 74f55006599ad0a1499d85ae011d506ae87af37c6ec68bdb981075d2f890cede
MD5 56b65edcde3fba7d164fe853b6b84ae2
BLAKE2b-256 23cf039889f78b0c6d33dfd77566e04c21eea6b282e4ba665804760918ede276

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 701686f9ab338c4523eaf2bb87fd6da990043ec03e79bf1827bf3a66ae4b76e0
MD5 7f7d0b5c8a5e2cb8811ebaa1b7e56ebc
BLAKE2b-256 0816b7ff29d853b27868405f7715c1b20dc0b014b2d69f594cfd030a92a697fe

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 245a2572303d474c19c24d9c3f9a0cf6bca0faa8062416740370f6adc403ddc2
MD5 a9d52f3e2487650dee42d343234287d3
BLAKE2b-256 f1180435f9653aae0927d050429674f9b6311b0ae73b49e7f2c73ea9075a777d

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0306dffa71e64a388691255adc26d8db3b510cb08a57a592362d9be8dd56a47d
MD5 20ea3cf3c233388f1eda51d38ad9a9a2
BLAKE2b-256 3a3b59fde65e3a6eeffdef2b1fe6c0d16294d447dd0009d24cf0931461a8d96f

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 40991faf158d3f66254c35abea9dd483ac3c32d999aaa505238740f6005d18be
MD5 c1ad8b193d9c0f4e81180829b47abbad
BLAKE2b-256 fd909cca3dccae1177a665a33a510f117088d8c70273f87bbdc5345a4f401efb

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e58e9bfb22c43bc715669ca28b40bfcf0a6baab58e1a7f2246b46139d7b7701
MD5 830656f82881cf99caaf71ed63534c79
BLAKE2b-256 148aaf26e651caa8bca4c64d81d75afb67078697f12c30cd8ec24c71417d396a

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe75d65b4c4c0d1d5c455b3c4cd11e78f68186cb8335036b205c4925a0aba71b
MD5 72cfb010bd15a74479838457222720f7
BLAKE2b-256 fb970d3213cfc1b24cd582c0f84bebf789ffedf628b8df55371bd3131392d521

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 758d42ebced900607eccde797d5601f30aae7e9391121f97178531c4c67c4d30
MD5 caec7b9fd0121d442e7997c73812ec0f
BLAKE2b-256 841cf3f92f56ae854be4cabb32b70fb9469dbf762568275f04915e165cc84152

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 327efe9f9fcae6408764647a8956f3fbcc56277926f3a2357de9aa9a4b8b6f3e
MD5 768d8ee94bfb9f451b607204738dcb42
BLAKE2b-256 5f106d4b7d21ece00f1db91bf60bed95e16f8d3b185c725cf04e352d362ff534

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5354fc0459c56e15d459da7758db357a750798eb985147b39a4b88e75206a2b9
MD5 a24b8681bf59311dc239b1214c0fbbf3
BLAKE2b-256 8ca017951a9b89d3e8d64bdeddb1cebc35bf8aacb9be2cfc831743cf9d53e4a2

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4918651757ab44b83c71cdb89609dad19880e7d373af6f7198f643f12c68203f
MD5 c0865ae4f29e9672c80c39cb6e68d7ea
BLAKE2b-256 d847fe9ef1f34ed1e1b27680267721141af447a3902cd3bb992de01795fd2b87

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 954d9fb93611c2725e6b11477d086e463d58bad031970e497639c3c557e16b0c
MD5 319e47a04962ee9ece4ade6171bb17a0
BLAKE2b-256 8bbff53092113aa622a4f42bb7ccf36454a20899545a65eeef6e4622502afd5a

See more details on using hashes here.

File details

Details for the file eckitlib-2.1.0.23-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for eckitlib-2.1.0.23-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 843a42032ddc56b59fcd2b329d64936f9fbe278242e1a10f116a654d224946ef
MD5 098021d8e8b7ece3db827067c9534420
BLAKE2b-256 e9e58106a2f514ef2e5a8f7a45e6bc0d9bed9af50fec54acc783d8e6e32659cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page