x690
Pure Python X.690 implementation
What it is and what it does
x690 is a pure Python implementation of the X.690 standard for BER (Basic Encoding Rules) encoding and decoding. It provides a type system for representing and converting between Python objects and their binary-encoded forms, with built-in support for common types like Integer and Sequence. The library allows you to define custom types by subclassing and registering them, making it extensible for domain-specific binary formats.
The package is useful when you need to work with BER-encoded data—either encoding Python objects into binary form or decoding raw bytes back into structured objects. It includes a reverse-engineering mode that can inspect unknown binary data and report its structure, helping you understand and define custom types for non-standard formats. However, the package has been abandoned since its last commit on 2022-09-30 with no active maintenance.
Use it for:
- Decode X.690 BER-encoded binary files or network data when you have no documentation and need to inspect their structure.
- Encode and decode ASN.1 data structures in pure Python without external C dependencies.
- Define and register custom application-specific or context-specific types that extend the standard X.690 type set.
- Parse legacy binary protocols or file formats that use BER encoding.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encodes and decodes data using the X.690 BER standard, a pure Python implementation supporting custom type registration and reverse-engineering of unknown binary formats.
Yes, if you need X.690 BER encoding/decoding in pure Python and can tolerate an abandoned package. The low install friction, permissive MIT license, and lack of known vulnerabilities make it safe to use. However, be aware that no maintenance is happening—if you encounter bugs or need compatibility fixes for future Python versions, you will need to fork or patch the code yourself.
Install
x690 on PyPI
pip
pip install x690uv
uv add x690poetry
poetry add x690Installing x690
Before you install
Low install friction with only two runtime dependencies. However, the package is abandoned—last commit was 2022-09-30 with no releases since then. No active maintenance means bug fixes or compatibility updates are unlikely.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or redistribution in commercial or private projects.
Quickstart
pip install x690
import x690
import x690.types as t
# Encode
value = t.Sequence(t.Integer(12), t.Integer(12))
encoded = bytes(value)
# Decode
decoded, nxt = x690.decode(encoded)
print(decoded)
Requires Python 3.7 or later.
Verify before relying
- Whether the two runtime dependencies (t61codec, importlib-metadata) are actively maintained.
- Real-world usage patterns and whether the X.690 BER implementation is complete enough for production use cases beyond documented examples.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — t61codec, importlib-metadata |
| Maintenance | abandoned — 1,414 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 419,500/month — #6,796 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: x690-1.0.0.post1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
asn1Encodes and decodes ASN.1 data structures using…
permissive · top 5,000 on PyPI
asn1toolsParses, encodes, and decodes ASN.1 messages…
permissive · top 15,000 on PyPI
pyasn1Pyasn1 encodes and decodes ASN.1 data…
permissive · top 100 on PyPI
bencode.pyEncodes and decodes bencode format, the binary…
unclear · top 15,000 on PyPI
pybase62Encodes and decodes integers and byte sequences…
unclear · top 5,000 on PyPI
pyiso8583Serializes and deserializes ISO8583 financial…
permissive · top 15,000 on PyPI
reedsoloEncodes and decodes data using Reed-Solomon…
permissive · top 5,000 on PyPI
pyaisDecodes and encodes AIS (Automatic…
permissive · top 15,000 on PyPI
pyubx2Parses and generates UBX protocol messages from…
permissive · top 15,000 on PyPI
base36Converts integers to and from base36…
permissive · top 15,000 on PyPI