Skip to main content

"eckitlib"

Project description

eckit

Latest Tag CI CI codecov License

Project home: https://software.ecmwf.int/wiki/display/ECKIT

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 a 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 AIX, 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.

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, Armadillo, Eigen3)
  • advanced container classes
  • space partition trees
  • file-mapped arrays

Requirements

Tested compilers include:

  • GCC 4.9.1, 5.3.0, 6.3.0, 7.2.0
  • Intel 15.0.2, 16.0.3, 17, 18
  • CCE 8.4.5, 8.5.8, 8.6.2
  • Apple LLVM 9.1.0 (clang-902.0.39.1)

Required dependencies:

  • CMake --- For use and installation see http://www.cmake.org/
  • ecbuild --- ECMWF library of CMake macros
  • Perl5 --- For some code generation

Installation

Eckit employs an out-of-source build/install based on CMake.

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

Project details


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-1.32.2.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.6 MB view details)

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

eckitlib-1.32.2.5-cp313-cp313-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

eckitlib-1.32.2.5-cp313-cp313-macosx_13_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

eckitlib-1.32.2.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.6 MB view details)

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

eckitlib-1.32.2.5-cp312-cp312-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

eckitlib-1.32.2.5-cp312-cp312-macosx_13_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

eckitlib-1.32.2.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.6 MB view details)

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

eckitlib-1.32.2.5-cp311-cp311-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

eckitlib-1.32.2.5-cp311-cp311-macosx_13_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

eckitlib-1.32.2.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.6 MB view details)

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

eckitlib-1.32.2.5-cp310-cp310-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

eckitlib-1.32.2.5-cp310-cp310-macosx_13_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d89a06a6ac3f43b1943857012842d3a0c19adb438f7285b55ee76f8053e680db
MD5 e25ac3316f7cf405710c3c3becf7a21b
BLAKE2b-256 1320bc1abeed0ef0d032e783956c1346bda449dfdf9b4fd3b7defdaf66301daa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 39f41c38b378774dc999b45625d20615c921c1dc8f9e7e1c84d623871e19b308
MD5 5d58072987ceaa2d27f5276643699c79
BLAKE2b-256 765e5b273cf4e8256585c0b7e54dcc8962e69fccc2292989399d0b5a4a9c27c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c8070ed1c384c4656fb2585dc3c2d6cd0170bb84c1da7f53d0442fbb369c2154
MD5 6b7b8a6beab36448552e31107849ef40
BLAKE2b-256 f8574598a0925273f1b0dbd5c33c208a041e0db51a0ccd125b4741fd0f53c25b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50ba1390b0df9b47bb7631ba03ecc44688a245b9781d0005c1ca9e3020ef9598
MD5 cd05887dda0900e1421abbae58d4e2b2
BLAKE2b-256 6cd21a985b441539487e0b1698bac967c088e2d3d4029f534f75fa63271ab9e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 cc535fa2bde152c180300ad629530493f101d4638dac936522c5fbcfeab46e29
MD5 3c44de91785a2046168bf4b055bb53ac
BLAKE2b-256 3ce7b14c4194f61d9b27c6b9e26d6644cb247c27a0b6e3acc99bf14bafcf6c61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e5cb195558e566239831d6e39b3693aa27c656f8e9316be8ed6ef329eadd1d92
MD5 f7720323db8fb4cb68f8c03fc0d616e1
BLAKE2b-256 bc9d2fb84682c4e412df5f4477427839b28d8c78d5b41835b12fa992598d87a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3bd2918113e6f0ad2e8564e746910af8f935d6d92358b89efdf5e4d13ea90a41
MD5 eaca9a90f70ddbbb3f9ce9385a586d2c
BLAKE2b-256 f23cff1f3f08802d94f3a81b92a65903ff703af7bc2e7a7c3fae22373737ffe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4900a7851c60f5048bdc516fc52b1d327d4281fdc8424578b3250491e22185e8
MD5 84d9e32812f58ef5d6943144331ce666
BLAKE2b-256 9c885eedcbfaa76d3275c592786b9fc26e826fd61eedb695baad06012d47dafb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 bd2ca585883de3cc15fdc4f363178258883161a1121ec06a96777769bffeaf01
MD5 1ab233df5690b87c6a61af186385da0b
BLAKE2b-256 3a97898374d500d8e8af9747b7cbdae841ff58b9243ba027e9aa23d005ddb38d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 831911cb2cc2cf2c4bca789c5cf2fcbfb41352f7a7186f7939b6f46bb0be271a
MD5 ca6f60fe4673b3b482062805dc770414
BLAKE2b-256 f4ed6187d70d26b3cc58166974c20bcc3bc2e2847602b5c739abb5e4cc6398f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 48fa29b508538989f0e68cc1ddca2a043124d37e912027ab31e1e0ad726f6dca
MD5 912a218448b30d256b8c95465ccbd665
BLAKE2b-256 b6ae26a9c6607c34cefd497dfcbc021adbf821a09335a855bc033416da246c8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.5-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9dcbaa0dc80a519ba891e668d9a3f8005d3da67ca4d33f50aa7d995ca6aa9bc8
MD5 8250709d07df6f5fd33e51b80ef9e4b1
BLAKE2b-256 da1948b8c2ad560e43bbd9a2c1f4dac3b037cb6c7b747ca2603b9d55272a010b

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 Pingdom Monitoring Sentry Error logging StatusPage Status page