multio
======
[](https://github.com/ecmwf/multio/actions/workflows/ci.yml?query=branch%3Adevelop)
[](https://github.com/ecmwf/multio/blob/develop/LICENSE)
multio is a package developed by ECMWF that provides an application programming interface (API) for
* I/O-server functionality for distributed earth-system models,
* post-processing pipelines of user-programmable list of actions.
The fundamental design principle behind multio is that data is decoupled from metadata, and that the
metadata is used for routing the data through the post-processing pipelines.
Documentation
------------
The documentation can be found at https://multio.readthedocs.io.
Requirements
------------
Runtime dependencies:
- eccodes -- http://github.com/ecmwf/eccodes
- eckit -- http://github.com/ecmwf/eckit
- metkit -- http://github.com/ecmwf/metkit
Optional runtime dependencies:
- fdb -- http://github.com/ecmwf/fdb
- fckit -- http://github.com/ecmwf/fckit (for the fortran example code only)
Build dependencies:
- CMake -- For use and installation see http://www.cmake.org/
- ecbuild -- ECMWF library of CMake macros (available via apt or see https://github.com/ecmwf/ecbuild)
- MPI -- an implementation of MPI may be required for the I/O-server functionality, see https://www.mpi-forum.org/
Installation
------------
multio 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.
1. Set up environment as appropriate
```bash
srcdir=$(pwd)
builddir=build
installdir=$HOME/local
```
2. Run Cmake/ecbuild
```bash
ecbuild --prefix=$installdir -- -DCMAKE_PREFIX_PATH=<path/to/dependencies/install> $srcdir
```
The package is in active development and the I/O-server functionality is not enabled by default, so
it needs to be turned on explicitly. In addition, if built with FDB support, some compilers will
require linking to be forced.
```bash
ecbuild --prefix=$installdir -- -DCMAKE_PREFIX_PATH=<path/to/dependencies/install> -DECBUILD_EXE_LINKER_FLAGS=-Wl,--no-as-needed $srcdir
```
3. Compile, test and install
```bash
make -j10
ctest
make install
```
Copyright and license
------------
(C) Copyright 2005- ECMWF.
This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at
http://www.apache.org/licenses/LICENSE-2.0.
In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue
of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
Raw data
{
"_id": null,
"home_page": null,
"name": "pymultio",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "multio, multiopython, tools",
"author": null,
"author_email": "\"European Centre for Medium-Range Weather Forecasts (ECMWF)\" <software.support@ecmwf.int>",
"download_url": null,
"platform": null,
"description": "multio\n======\n\n[](https://github.com/ecmwf/multio/actions/workflows/ci.yml?query=branch%3Adevelop)\n[](https://github.com/ecmwf/multio/blob/develop/LICENSE)\n\nmultio is a package developed by ECMWF that provides an application programming interface (API) for\n\n * I/O-server functionality for distributed earth-system models,\n * post-processing pipelines of user-programmable list of actions.\n\nThe fundamental design principle behind multio is that data is decoupled from metadata, and that the\nmetadata is used for routing the data through the post-processing pipelines.\n\nDocumentation\n------------\n\nThe documentation can be found at https://multio.readthedocs.io.\n\nRequirements\n------------\n\nRuntime dependencies:\n\n- eccodes -- http://github.com/ecmwf/eccodes\n- eckit -- http://github.com/ecmwf/eckit\n- metkit -- http://github.com/ecmwf/metkit\n\nOptional runtime dependencies:\n\n- fdb -- http://github.com/ecmwf/fdb\n- fckit -- http://github.com/ecmwf/fckit (for the fortran example code only)\n\nBuild dependencies:\n\n- CMake -- For use and installation see http://www.cmake.org/\n- ecbuild -- ECMWF library of CMake macros (available via apt or see https://github.com/ecmwf/ecbuild)\n- MPI -- an implementation of MPI may be required for the I/O-server functionality, see https://www.mpi-forum.org/\n\nInstallation\n------------\n\nmultio employs an out-of-source build/install based on CMake.\n\nMake sure ecbuild is installed and the ecbuild executable script is found ( `which ecbuild` ).\n\nNow proceed with installation as follows.\n\n1. Set up environment as appropriate\n ```bash\n srcdir=$(pwd)\n builddir=build\n installdir=$HOME/local\n ```\n\n2. Run Cmake/ecbuild\n ```bash\n ecbuild --prefix=$installdir -- -DCMAKE_PREFIX_PATH=<path/to/dependencies/install> $srcdir\n ```\n\n The package is in active development and the I/O-server functionality is not enabled by default, so\n it needs to be turned on explicitly. In addition, if built with FDB support, some compilers will\n require linking to be forced.\n ```bash\n ecbuild --prefix=$installdir -- -DCMAKE_PREFIX_PATH=<path/to/dependencies/install> -DECBUILD_EXE_LINKER_FLAGS=-Wl,--no-as-needed $srcdir\n ```\n\n3. Compile, test and install\n ```bash\n make -j10\n ctest\n make install\n ```\n\nCopyright and license\n------------\n\n(C) Copyright 2005- ECMWF.\n\nThis software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at\nhttp://www.apache.org/licenses/LICENSE-2.0.\n\nIn applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue\nof its status as an intergovernmental organisation nor does it submit to any jurisdiction.\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python interface to multio.",
"version": "2.6.1.dev20250627",
"project_urls": {
"Homepage": "https://github.com/ecmwf/multio/",
"Issues": "https://github.com/ecmwf/multio/issues",
"Repository": "https://github.com/ecmwf/multio/"
},
"split_keywords": [
"multio",
" multiopython",
" tools"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "169490b17701a4d2da65b354497d9f3bb6a82e72efb91a252bf79a6f29b98db1",
"md5": "dce70465249308a5c0fca18617c97cc0",
"sha256": "e3fb450465cb8b54bb717ae732c995d1a5f9fb1ecd420dc399dd7f0033e5bc9b"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dce70465249308a5c0fca18617c97cc0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:05:50",
"upload_time_iso_8601": "2025-06-27T12:05:50.298909Z",
"url": "https://files.pythonhosted.org/packages/16/94/90b17701a4d2da65b354497d9f3bb6a82e72efb91a252bf79a6f29b98db1/pymultio-2.6.1.dev20250627-1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "da5427ccd96dfbfafb9da91ef0e3fd245e7c9d56e4a19fa53567be2a2cc12c39",
"md5": "6d3100a2857e12aa10eea776db70477b",
"sha256": "923edd697fb89f6f0385a6e79b76e6298cfc54e2e97bce37d27441765e8a080a"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6d3100a2857e12aa10eea776db70477b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:11:37",
"upload_time_iso_8601": "2025-06-27T12:11:37.413721Z",
"url": "https://files.pythonhosted.org/packages/da/54/27ccd96dfbfafb9da91ef0e3fd245e7c9d56e4a19fa53567be2a2cc12c39/pymultio-2.6.1.dev20250627-2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3ec4a009d59404f30c5bec8d3a47192b349486ab9b3483accfef0f6d8639c05",
"md5": "c4b07a1355b3963808ab7d8cc8b11007",
"sha256": "05f28d36bed80a1ff2da27831833d830059c263a9c0fbadff088316fdc1b7aa9"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c4b07a1355b3963808ab7d8cc8b11007",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:22:06",
"upload_time_iso_8601": "2025-06-27T12:22:06.508059Z",
"url": "https://files.pythonhosted.org/packages/e3/ec/4a009d59404f30c5bec8d3a47192b349486ab9b3483accfef0f6d8639c05/pymultio-2.6.1.dev20250627-3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "02b60ad75a436f13773a7b966e0be632d3f4f2c4b6ca200e8444ddd5d913f52c",
"md5": "429919e6c4519d80c2f779e87beb3dd3",
"sha256": "f31692a76eeeedf11ab271e5e21df5a9ca470d3cccf3fef511e606fca239bf6f"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "429919e6c4519d80c2f779e87beb3dd3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:27:22",
"upload_time_iso_8601": "2025-06-27T12:27:22.451854Z",
"url": "https://files.pythonhosted.org/packages/02/b6/0ad75a436f13773a7b966e0be632d3f4f2c4b6ca200e8444ddd5d913f52c/pymultio-2.6.1.dev20250627-4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cbb6de857e3e887ed5de07d12f6850804cd2fd854e1c53e9adb58bf491e79e56",
"md5": "5ea5d5e0a3cba0ebb6b1a7a93b4be82b",
"sha256": "1e0a98435e073089acd59358bbb0db043bea908d461b573b9038335acfeff03a"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5ea5d5e0a3cba0ebb6b1a7a93b4be82b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:36:07",
"upload_time_iso_8601": "2025-06-27T12:36:07.863674Z",
"url": "https://files.pythonhosted.org/packages/cb/b6/de857e3e887ed5de07d12f6850804cd2fd854e1c53e9adb58bf491e79e56/pymultio-2.6.1.dev20250627-5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2baf55505d9e61517c07ff49c49b4e2037b500bba2c6f76e3424bbb7e6d6951d",
"md5": "a2b9c86407792fbc204365aeaa34a646",
"sha256": "282cf8fe6828387b4195aacfa2c8e55e8c9975be69aec375b2e7a84cfdde299b"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a2b9c86407792fbc204365aeaa34a646",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:43:05",
"upload_time_iso_8601": "2025-06-27T12:43:05.320747Z",
"url": "https://files.pythonhosted.org/packages/2b/af/55505d9e61517c07ff49c49b4e2037b500bba2c6f76e3424bbb7e6d6951d/pymultio-2.6.1.dev20250627-6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e46b239a7e0bd1cab85e507dc3d52a83e5409881ca4270bed29318319c8e88d1",
"md5": "83c00261983835d64d36fc0e6a16b7c6",
"sha256": "98c61e7d139f55efa8deaf797e579758af44c7e6c34155440fb716a7fa3a0f8f"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "83c00261983835d64d36fc0e6a16b7c6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T13:29:19",
"upload_time_iso_8601": "2025-06-27T13:29:19.725879Z",
"url": "https://files.pythonhosted.org/packages/e4/6b/239a7e0bd1cab85e507dc3d52a83e5409881ca4270bed29318319c8e88d1/pymultio-2.6.1.dev20250627-7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "912c6b986dfb5160ee4bbba43b57a999f528e28615e6e94dbc4bc5b02b533de1",
"md5": "07b836343db30b8362957d70f31b4128",
"sha256": "9b6f42a85886f8ac6d235a66270e5701ad4da9ff02295383725118d80ed1a473"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "07b836343db30b8362957d70f31b4128",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T13:38:32",
"upload_time_iso_8601": "2025-06-27T13:38:32.497258Z",
"url": "https://files.pythonhosted.org/packages/91/2c/6b986dfb5160ee4bbba43b57a999f528e28615e6e94dbc4bc5b02b533de1/pymultio-2.6.1.dev20250627-8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6ad30626f9ee1ce923e7b03b77183b8d1676f5cdb0a266c852ea14dabd73b83a",
"md5": "bee77b5917f1df52e5c0953128aa7e58",
"sha256": "b004e7ca4d408c687750a03cece15bfa40555704419d11ac3404dc566b2f3ffb"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bee77b5917f1df52e5c0953128aa7e58",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T13:44:02",
"upload_time_iso_8601": "2025-06-27T13:44:02.922701Z",
"url": "https://files.pythonhosted.org/packages/6a/d3/0626f9ee1ce923e7b03b77183b8d1676f5cdb0a266c852ea14dabd73b83a/pymultio-2.6.1.dev20250627-9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5cf78f3b3996369b9c1c5dc2a5921daa65a8fb54fbc3a7c9362ca7155a322430",
"md5": "7eb739e7b67422cb3fe3aec1bc73c017",
"sha256": "c7f77f0238ec689f5f990f557620654c6cc6d63a86aebd0943c9bbe63a7f2ecd"
},
"downloads": -1,
"filename": "pymultio-2.6.1.dev20250627-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7eb739e7b67422cb3fe3aec1bc73c017",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 22144,
"upload_time": "2025-06-27T12:00:16",
"upload_time_iso_8601": "2025-06-27T12:00:16.544853Z",
"url": "https://files.pythonhosted.org/packages/5c/f7/8f3b3996369b9c1c5dc2a5921daa65a8fb54fbc3a7c9362ca7155a322430/pymultio-2.6.1.dev20250627-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-06-27 12:05:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ecmwf",
"github_project": "multio",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pymultio"
}