Skip to main content

Python bindings for imap-codec Rust crate

Project description

imap-codec

This library provides parsing and serialization for IMAP4rev1. It is based on imap-codec, a building block for IMAP client and server implementations written in Rust, which implements the complete formal syntax of IMAP4rev1 and several IMAP extensions.

Usage

from imap_codec import Greeting, GreetingCodec

buffer = b"* OK Hello, World!\r\n<remaining>"

# Decode buffer into a greeting
remaining, greeting = GreetingCodec.decode(buffer)
assert remaining == b"<remaining>"
assert isinstance(greeting, Greeting)

# Extract greeting data as dictionary
data = greeting.as_dict()
assert data["code"] is None
assert data["kind"] == "Ok"
assert data["text"] == "Hello, World!"

For more usage examples take a look at the examples and tests on GitHub.

Note: Access to data of message types (e.g. Greeting) is currently only available through dictionary representations (as seen above). This is planned to be improved in future releases of this library.

License

This library is dual-licensed under Apache 2.0 and MIT terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imap_codec-0.1.0.tar.gz (220.6 kB view hashes)

Uploaded Source

Built Distributions

imap_codec-0.1.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

imap_codec-0.1.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

imap_codec-0.1.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

imap_codec-0.1.0-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

imap_codec-0.1.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

imap_codec-0.1.0-pp38-pypy38_pp73-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-cp312-none-win_amd64.whl (899.1 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

imap_codec-0.1.0-cp312-none-win32.whl (767.7 kB view hashes)

Uploaded CPython 3.12 Windows x86

imap_codec-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-cp312-cp312-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

imap_codec-0.1.0-cp312-cp312-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

imap_codec-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (959.8 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

imap_codec-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

imap_codec-0.1.0-cp311-none-win_amd64.whl (885.2 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

imap_codec-0.1.0-cp311-none-win32.whl (753.7 kB view hashes)

Uploaded CPython 3.11 Windows x86

imap_codec-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-cp311-cp311-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

imap_codec-0.1.0-cp311-cp311-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

imap_codec-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (947.9 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

imap_codec-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

imap_codec-0.1.0-cp310-none-win_amd64.whl (884.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

imap_codec-0.1.0-cp310-none-win32.whl (753.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

imap_codec-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-cp310-cp310-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

imap_codec-0.1.0-cp310-cp310-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

imap_codec-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (947.5 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

imap_codec-0.1.0-cp39-none-win_amd64.whl (885.3 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

imap_codec-0.1.0-cp39-none-win32.whl (754.4 kB view hashes)

Uploaded CPython 3.9 Windows x86

imap_codec-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-cp39-cp39-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

imap_codec-0.1.0-cp39-cp39-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-cp39-cp39-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

imap_codec-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (949.3 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

imap_codec-0.1.0-cp38-none-win_amd64.whl (885.1 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

imap_codec-0.1.0-cp38-none-win32.whl (753.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

imap_codec-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

imap_codec-0.1.0-cp38-cp38-musllinux_1_2_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

imap_codec-0.1.0-cp38-cp38-musllinux_1_2_armv7l.whl (1.3 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARMv7l

imap_codec-0.1.0-cp38-cp38-musllinux_1_2_aarch64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

imap_codec-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

imap_codec-0.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

imap_codec-0.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

imap_codec-0.1.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

imap_codec-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

imap_codec-0.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page