skillfed

x690

Pure Python X.690 implementation

x690 v1.0.0.post1 419.5K downloads/30d#6,796 on PyPI0
Permissive license MIT Abandoned released

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 x690

uv

uv add x690

poetry

poetry add x690

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Typing :: Typed

Tags

X.690 BER encoding decodingASN.1 binary serializationpure python ber codecbinary data parsing X.690custom type registration encodingreverse engineer binary format
binary-encodingasn1-berabandoned

More Software Development packages