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

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf5c17c30db5d844ea4afe2f56cb2e1b6ba0e55ae2aaa95aa9ee90076489a348
MD5 17728a6dfa1292936816d592f543988f
BLAKE2b-256 6547995156bc12c418fe27c5c687695ac6394be5ec4ee1ad73021c6f12b62009

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04bb7250aa468c688b521da3abaf6661f3c91bba432e2ab7103eb742347f0192
MD5 78e7c349ead38f07b33f1c5c18721759
BLAKE2b-256 5793aef88651d28c7428b3ad1789a53d9b0f48ca97de549c7f928ba1b0f6fa41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 80e4f9a4eb1fa3adf34391633962df73e3d42144c581554d7873a01a43080512
MD5 2ef100ba4ea850337a5362de7ba4fc05
BLAKE2b-256 0ff0935bce0a855ec98b7af1201aefefc3d2b348942756695a1c3b554e48c43b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eckitlib-1.32.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b170e779f4697b7bafcf7d386854ed1b857161b82d3dc60f90366cbb6d9ccdd9
MD5 c134b772e0f94974672ec5cf5482cac3
BLAKE2b-256 43eb9ac102e3fee25dce4d638caad7059de41b5b1cd7e0e1a86058bc180ba1eb

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