pymetkit
pymetkit is a Python interface to metkit, ECMWF's
meteorological toolkit. It exposes the MARS request model in a Pythonic way, built on a
pybind11 extension module (pymetkit_bindings) that binds the
metkit C++ library directly.
The native libmetkit shared library and its dependencies are located at runtime via
findlibs.
Architecture
pymetkit_bindings— compiled pybind11 module bindingmetkit::mars::MarsRequestandmetkit::mars::MarsExpansion.pymetkit._internal— loads the native library viafindlibs, initialises the bindings, and re-exports the raw symbols.pymetkit— the Pythonic layer:MarsRequest(a verb plus aMarsSelection),MarsSelection(a type alias for the user-facing key-value mapping),UserInputMapper(normalisesMarsSelectionvalues to and from the internaldict[str, list[str]]representation), andparse_mars_request.
Usage
from pymetkit import MarsRequest, parse_mars_request
# Build a request from a verb and a selection
request = MarsRequest(
"retrieve",
{
"class": "od",
"domain": "g",
"date": "-1",
"expver": "0001",
"step": range(0, 13, 6),
},
)
# Expand against the MARS language definition
expanded = request.expand()
print(expanded.verb(), dict(expanded))
# Parse requests from a string or a file
requests = parse_mars_request("retrieve,class=od,date=-1,param=129,step=12")
Command line
python -m pymetkit --print-home # metkit library home
python -m pymetkit --print-home-deps # all dependency homes and versions
Release files for pymetkit 1.20.2.27
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pymetkit-1.20.2.27-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| pymetkit-1.20.2.27-cp314-cp314-manylinux_2_28_aarch64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ ARM64 | Details |
| pymetkit-1.20.2.27-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| pymetkit-1.20.2.27-cp313-cp313-manylinux_2_28_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ ARM64 | Details |
| pymetkit-1.20.2.27-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| pymetkit-1.20.2.27-cp312-cp312-manylinux_2_28_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ ARM64 | Details |
| pymetkit-1.20.2.27-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| pymetkit-1.20.2.27-cp311-cp311-manylinux_2_28_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ ARM64 | Details |
Total release size: 623.3 kB
Release files / pymetkit-1.20.2.27-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | pymetkit-1.20.2.27-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 78.5 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
156c53874f676ab6de5e5543321302cf197f3aa262d6ca4159ff033d074d03ac
|
|
BLAKE2b-256 checksum How to use checksums |
0c11bd1aa5395d5ee25636e21f4a3054ad547afe3fb744bcc425760ad8d26685
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|
Release files / pymetkit-1.20.2.27-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | pymetkit-1.20.2.27-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 77.6 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a506df427e34d08fc83b2378ef100dae5dc84a6149bdde2ae0012f3379c6ed57
|
|
BLAKE2b-256 checksum How to use checksums |
b62c198ac4c4829f7ea59a5a4d15648dd8e3ce229ac955b4f34e1ed0e52c1035
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|
Release files / pymetkit-1.20.2.27-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | pymetkit-1.20.2.27-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 78.5 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ddbba7fa38de7788732a5ca94d72fc0a4a18882099c662cbd44cfc33d527b08
|
|
BLAKE2b-256 checksum How to use checksums |
6c487d0e978831b35ad19b14bc351638ba5fb0f4eb65f39c46330f5cfc2640e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / pymetkit-1.20.2.27-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | pymetkit-1.20.2.27-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 77.5 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
bab735b532d2e9618db54c83f7d5e9cdf49ff849fddefca1d2df773f31f13dce
|
|
BLAKE2b-256 checksum How to use checksums |
26fb24f25811ebf3b04f42e4de4fb4c1b9feae94ffaa9a87f2afae915e1b61f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / pymetkit-1.20.2.27-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | pymetkit-1.20.2.27-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 78.5 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1bb0556149baec0f8c7973a673dfeea13cec33de0f47b076b6311f3ae9a637cf
|
|
BLAKE2b-256 checksum How to use checksums |
6d94ae5486e672ca431003d3d2a841f4bfa3648f9c7d6517e0e217ee5b8a95ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / pymetkit-1.20.2.27-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | pymetkit-1.20.2.27-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 77.4 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5f5711480eb4ba7342411965a2037f1fa550eeec7a7169bf73e96365cfcc9b4e
|
|
BLAKE2b-256 checksum How to use checksums |
0a7a5bc01c4e816113c9fb7e1c11120b73fce500e4b80d9f8ae65c914e035233
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / pymetkit-1.20.2.27-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | pymetkit-1.20.2.27-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 78.2 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d23f4ff61807b65b60a50a449340f2a0898ee475917018736ab54a720fe97290
|
|
BLAKE2b-256 checksum How to use checksums |
4264e96914467c039fa9100a961f12ec7cdabbaaeb4acedcb45ecfd11cebe30b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Release files / pymetkit-1.20.2.27-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | pymetkit-1.20.2.27-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 77.1 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
7bbf7a607499131bd5a84a2a78a469044dbbd960e19564904cfff4ba8214eedc
|
|
BLAKE2b-256 checksum How to use checksums |
c89a78f00eb5f0ca83b1b9e469fe5622e4fc2be2fb351993c46ab7909fe48388
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|