$npx skillfedfor your agent

python-olm

python CFFI bindings for the olm cryptographic ratchet library

With conditionsPyPI CommunicationsReleased Nov 20231.0M downloads / moApache-2.0Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — python_olm-3.2.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl · python_olm-3.2.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl · python_olm-3.2.16-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
v3.2.16 · released 2023-11-28 · 1 runtime deps: cffi

Yes, if you need Olm/Megolm encryption and can accept dormant maintenance. The package is stable and has no known vulnerabilities, but expect no updates or support. Suitable for established projects already using Olm (e.g., Matrix clients) or for new projects willing to maintain a fork if needed. The C/C++ build requirement and lack of Windows support are real constraints.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires cmake or GNU make and a C/C++ compiler; known to not work on Windows.
  • Medium install friction due to C/C++ compilation requirements (cmake or GNU make and a compiler needed).
  • Package is dormant—last release was 990 days ago—so expect no active maintenance or bug fixes.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows use in most projects, including commercial ones, with minimal restrictions beyond attribution.

last release 2023-11-28 (990 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,011,283 downloads/mo, #4,512 on PyPI

Verify before relying

pip install python-olm

from olm import Account, OutboundSession
alice = Account()
bob = Account()
bob.generate_one_time_keys(1)
id_key = bob.identity_keys['curve25519']
one_time = list(bob.one_time_keys['curve25519'].values())[0]
alice_session = OutboundSession(alice, id_key, one_time)
message = alice_session.encrypt('secret')
  • Whether the dormant maintenance status affects security patches or compatibility with current Python versions.
  • Exact Python version support (requires_python is unspecified in metadata).
  • Whether prebuilt wheels cover all target platforms or if compilation is required on some systems.
Same gist for agents: .md · .json

What it is and what it does

python-olm is a CFFI-based wrapper around the Olm cryptographic library, providing Python access to the Olm and Megolm ratcheting protocols. It lets you build encrypted peer-to-peer and group messaging systems by managing cryptographic accounts, sessions, and keys. The library handles the low-level cryptography (curve25519 and ed25519 keys, ratcheting state) so you can focus on message exchange; it's used in the Matrix protocol implementation.

The package works by creating Account objects that hold identity keys and generate one-time keys, OutboundSession and InboundSession objects for encrypted point-to-point channels, and OutboundGroupSession and InboundGroupSession objects for one-to-many encrypted broadcast. All objects support pickling for persistence. Installation requires a C/C++ compiler and build tools, and the package is currently dormant—no active maintenance since late 2023.

Use it for

  • Building end-to-end encrypted messaging applications using the Olm protocol, as implemented in Matrix clients.
  • Creating peer-to-peer encrypted communication channels between two accounts with forward secrecy.
  • Implementing group encrypted messaging where a sender broadcasts to multiple recipients using Megolm.
  • Storing and restoring encrypted session state via pickling for long-lived messaging applications.
  • Integrating Olm cryptography into Python-based chat or collaboration platforms.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need Olm/Megolm encryption and can accept dormant maintenance.

The package is stable and has no known vulnerabilities, but expect no updates or support. Suitable for established projects already using Olm (e.g., Matrix clients) or for new projects willing to maintain a fork if needed. The C/C++ build requirement and lack of Windows support are real constraints.

Install

python-olm on PyPI

Before you install

Medium install friction due to C/C++ compilation requirements (cmake or GNU make and a compiler needed). Package is dormant—last release was 990 days ago—so expect no active maintenance or bug fixes.

Requires cmake or GNU make and a C/C++ compiler; known to not work on Windows.

License in practice

Apache-2.0 permissive license allows use in most projects, including commercial ones, with minimal restrictions beyond attribution.

Quickstart

pip install python-olm

from olm import Account, OutboundSession
alice = Account()
bob = Account()
bob.generate_one_time_keys(1)
id_key = bob.identity_keys['curve25519']
one_time = list(bob.one_time_keys['curve25519'].values())[0]
alice_session = OutboundSession(alice, id_key, one_time)
message = alice_session.encrypt('secret')

Verify before relying

  • Whether the dormant maintenance status affects security patches or compatibility with current Python versions.
  • Exact Python version support (requires_python is unspecified in metadata).
  • Whether prebuilt wheels cover all target platforms or if compilation is required on some systems.

Package facts

LicenseApache-2.0 permissive
Python supportNot specified
Install frictionMedium. Platform-specific wheel
Runtime dependencies
1 package
cffi
MaintenanceDormant 990 days since the last release
First released
Downloads1,011,283 / month, #4,512 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: Apache Software LicenseTopic :: Communications

Evidence: python_olm-3.2.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_olm-3.2.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_olm-3.2.16-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; python_olm-3.2.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_olm-3.2.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_olm-3.2.16-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; python_olm-3.2.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_olm-3.2.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_olm-3.2.16-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; python_olm-3.2.16-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_olm-3.2.16-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_olm-3.2.16-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; python_olm-3.2.16-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_olm-3.2.16-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_olm-3.2.16-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; python_olm-3.2.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; python_olm-3.2.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; python_olm-3.2.16-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Tags

Capabilities
olm cryptographic ratchetend-to-end encryption pythonpeer-to-peer encrypted sessionsmegolm group encryptionmatrix protocol encryptioncffi cryptography bindingsencrypted messaging library
Topics
end-to-end-encryptioncryptographymessaging

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “olm cryptographic ratchet”

Give your agent the search over MCP, or paste the wish link into any chat.

More Communications packages

pyasn1 Worth it
PyPI · Python Modules · released Jul 2026

Pyasn1 encodes and decodes ASN.1 data structures using BER, CER, DER, and native Python codecs, allowing you to serialize complex data for network protocols and file formats.

Install it if you need to work with ASN.1-based protocols or formats; it is the standard library for this in Python and has no known vulnerabilities.

permissive licensepure Python · 3.8+
570.9Mdownloads / mo
pyasn1-modules Worth it
PyPI · Python Modules · released Mar 2025

Provides a collection of ASN.1 data structures expressed as Python classes, built on the pyasn1 library, for working with ASN.1-based protocols and standards.

BSD-3-Clausepure Python · 3.8+aging
462.5Mdownloads / mo
kombu Worth it
PyPI · Python Modules · released Dec 2025

Kombu is a messaging library that provides a high-level Python interface to AMQP and other message brokers, supporting pluggable transports for RabbitMQ, Redis, MongoDB, Amazon SQS, and others.

Install it if you are building any distributed system that requires reliable message passing.

permissive licensepure Python · 3.9+
58.9Mdownloads / mo
humanfriendly With conditions
PyPI · Software Development · released Sep 2021

Formats and parses numbers, file sizes, timespans, and other values into human-readable text; provides terminal interaction utilities including ANSI text styling and user prompts.

MITpure Pythonabandoned
54.3Mdownloads / mo
coloredlogs With conditions
PyPI · Software Development · released Jun 2021

Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.

However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.

MITpure Pythonabandoned
39.6Mdownloads / mo
phonenumbers Worth it
PyPI · Communications · released Aug 2026

Parse, validate, format, and analyze international phone numbers across all countries, with support for extracting geographic, carrier, and timezone information from phone number data.

Apache-2.0pure Python · 2.5+
38.8Mdownloads / mo

See also magic-wormhole · pyobjc-framework-MultipeerConnectivity · vodozemac · cryptography · pyrage · pqcrypto · pure25519 · noiseprotocol · pycryptodomex · rocrate