Skip to main content

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 binding metkit::mars::MarsRequest and metkit::mars::MarsExpansion.
  • pymetkit._internal — loads the native library via findlibs, initialises the bindings, and re-exports the raw symbols.
  • pymetkit — the Pythonic layer: MarsRequest (a verb plus a MarsSelection), MarsSelection (a type alias for the user-facing key-value mapping), UserInputMapper (normalises MarsSelection values to and from the internal dict[str, list[str]] representation), and parse_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)

Table of built distributions (wheels) for pymetkit 1.20.2.27
File
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

Release history Release notifications | RSS feed

This release

1.20.2.27 This release

8 release files

1.14.3

2 release files

1.14.2

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.3

2 release files

1.13.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page