Skip to main content

Codec Versioning

A python module to manage alternative versions of general-purpose binary codecs.

This python library makes it easy to manage multiple alternative versions of codecs (encoding and decoding functions). This is primarily intended for situations where codecs may be updated in the future and old codecs need to remain supported.

Use Cases

  • encoded format is binary (bytes/bytearray)
  • old codecs need to remain supported as new codecs are developed

Features

  • manage multiple versions of codecs (encoding and decoding functions)
  • define codec functions either in classes or modules as you prefer
  • each codec is identified by an integer version
  • when encoding, used codec's version is automatically encoded
  • when decoding, the correct codec version is automatically determined
  • built-in type-checking of encoded/decoded objects

Quickstart

pip install codec_versioning

See the example at ./examples/example1/example_encoding.py, and its test at ./tests/test_example.py.

Documentation

See the example at ./examples/example1/example_encoding.py, and its test at ./tests/test_example.py.

Also, this library's source code essentially comprises one small file, which should be fairly easy to undrstand: ./src/codec_versioning/codec_versioning.py

DevOps

To get started using this repository's code, checkout the commands built into its Makefile by running:

make help

Contributing

Get Involved

  • GitHub Discussions: if you want to share ideas
  • GitHub Issues: if you find bugs, other issues, or would like to submit feature requests
  • GitHub Merge Requests: if you think you know what you're doing, you're very welcome!

Donations

To support me in my work on this and other projects, you can make donations with the following currencies:

Donations help me:

  • dedicate more time to developing and maintaining open-source projects
  • cover costs for IT infrastructure
  • finance projects requiring additional hardware & compute

About the Developer

This project is developed by a human one-man team, publishing under the name Emendir.
I build open technologies trying to improve our world; learning, working and sharing under the principle:

Freely I have received, freely I give.

Feel welcome to join in with code contributions, discussions, ideas and more!

Open-Source in the Public Domain

I dedicate this project to the public domain. It is open source and free to use, share, modify, and build upon without restrictions or conditions.

I make no patent or trademark claims over this project.

Formally, you may use this project under either the:

Metadata

Release files for codec-versioning 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codec-versioning 0.1.0
File Size Uploaded Provenance Actions
codec_versioning-0.1.0.tar.gz 7.9 kB Without provenance Details for codec_versioning-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for codec-versioning 0.1.0
File Interpreter ABI Platform Actions
codec_versioning-0.1.0-py3-none-any.whl Python 3 none any Details for codec_versioning-0.1.0-py3-none-any.whl

Total release size: 16.2 kB

Release files / codec_versioning-0.1.0.tar.gz

Download URL codec_versioning-0.1.0.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3b1a28e9929f2e161866ef01c4d6b126c8f499960144368bd24fdcbb64903ed5
BLAKE2b-256 checksum
How to use checksums
c4905b529fc3982d927f34b620ffe015c00d8c777f7cfe0f86dded64caa14bc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release files / codec_versioning-0.1.0-py3-none-any.whl

Download URL codec_versioning-0.1.0-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d57b5890555b0c2bab5def8dcf1bcb281f68e8b416902d90a946ab3751272b17
BLAKE2b-256 checksum
How to use checksums
f7da1f1f1641706973263919ca9da388082eb656b744569561b12ab013d0b9c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Security for codec-versioning 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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