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.1.1-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.1.1-cp313-cp313-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

eckitlib-1.32.1.1-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.1.1-cp312-cp312-macosx_13_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

eckitlib-1.32.1.1-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.1.1-cp311-cp311-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

eckitlib-1.32.1.1-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.1.1-cp310-cp310-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4188107059f2357a7ae815e133d3a6343b7128d16592f29cc4c35b1ff02a306c
MD5 20b9c52f777674270c40a8fae13963ae
BLAKE2b-256 253e687c59cccd7b3e2ed5d0bb2cc323001488a60dacb00a26a7fb382aa6f436

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 82d75115db70262796bcdba1075b87aff7be714b6be0b7904cfa3cb048325018
MD5 648905ef7686c2413eae71452e342e69
BLAKE2b-256 0ef7896f4374b497451f66cb3cc4709132bf3e6a94b95266ebb1ad8866e0921e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13b381397d18fcfe12adff4c6447bd822dc199c649287b97eae319613c9bc6bd
MD5 6d6eb1bd40e0ff0e672777612e258d3e
BLAKE2b-256 95a7fadf54d58b14f1492331423482cdc06e50e31b82a909528a32c6db9448d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b0cecbdfe1c8f841fdc3f7a7ff10a124c9e2943e5f493898b20da1ff27499094
MD5 ca0973b529bc86e3d119afba47fa3740
BLAKE2b-256 458c3156a6a5bbfbef243b0f2e98ad8020784be9195dfeb4c4becfca5c937981

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9fc9ab83cee86738e039f6796f7738f3939b913060afedf68a6607173fd31bc5
MD5 8bf9fd194879406b1339a562dc7b41b9
BLAKE2b-256 5db5d278eb5a15312e9f69d663de6abe457640f2f7a743e1a051f5c3e31b01d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a857da36b77991ca1b98d330e66e88a0bd078009672bcd05ecbc0409dd513053
MD5 271e8fde45e61cbbc0caed696d9080e0
BLAKE2b-256 a8c1f7b8846d991ef3da2752b6781a47ff5f3e7c6a694ccc95a44da77adcce7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 512451290c617fea31f21a84eec80882059f50f9c8d8b0d9345afa02533e7994
MD5 e54a10fbd66ff080aaf9c019144ac467
BLAKE2b-256 03c23ec0a55bc574eeb680eb70e47e267ad842df3fcc6f1c4e4d65eb31087da8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.1.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9e7a168858f24bd4d122cc7701d4370f067fee2210687f8133a9e488db8fd81c
MD5 9db6c52e0dfaa8b239a00b52e6c6dd46
BLAKE2b-256 ab87365f5683e62ef3b4aa6fac48937203d5fee08b7d844e37e3b2686f867300

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