{"id":23343,"library":"bases","title":"bases","description":"Python library for general Base-N encodings (e.g., base64, base32, base16, hex, binary, and custom alphabets). Version 0.3.0 supports Python 3.7+ and uses runtime type validation. Release cadence is low; no releases since 2022.","status":"active","version":"0.3.0","language":"python","source_language":"en","source_url":"https://github.com/hashberg-io/bases","tags":["base64","base32","base16","encoding","decoding","base-n"],"install":[{"cmd":"pip install bases","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Runtime type validation","package":"typing-validation","optional":false}],"imports":[{"note":"Alphabet is a top-level export.","wrong":"from bases.alphabet import Alphabet","symbol":"Alphabet","correct":"from bases import Alphabet"},{"note":"The main encoding class.","symbol":"BaseEncoding","correct":"from bases import BaseEncoding"},{"note":"Base-8 encoding.","symbol":"Base8Encoding","correct":"from bases import Base8Encoding"},{"note":"Base-10 encoding.","symbol":"Base10Encoding","correct":"from bases import Base10Encoding"},{"note":"Base-16 (hex) encoding.","symbol":"Base16Encoding","correct":"from bases import Base16Encoding"},{"note":"Base-32 encoding.","symbol":"Base32Encoding","correct":"from bases import Base32Encoding"},{"note":"Base-64 encoding.","symbol":"Base64Encoding","correct":"from bases import Base64Encoding"},{"note":"Base-64 URL-safe encoding.","symbol":"Base64URLEncoding","correct":"from bases import Base64URLEncoding"}],"quickstart":{"code":"from bases import Base64Encoding\nencoding = Base64Encoding()\ndata = b'hello world'\nencoded = encoding.export(data)\nprint(encoded)  # Output: aGVsbG8gd29ybGQ=\ndecoded = encoding.import_bytes(encoded)\nprint(decoded)  # Output: b'hello world'\n","lang":"python","description":"Import Base64Encoding, encode bytes, and decode back."},"warnings":[{"fix":"Use `encoding.import_bytes(encoded)` and handle bytes output.","message":"The `import_bytes` method returns bytes, not string. Do not assume it returns a string.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Upgrade to Python 3.7+ or use `bases==0.1.1`.","message":"Python 3.6 support was removed in v0.2.0. If your project requires Python 3.6, pin to v0.1.1.","severity":"deprecated","affected_versions":">=0.2.0"},{"fix":"Ensure alphabet has no duplicate characters.","message":"Custom alphabets must be strings of unique characters without duplicates. Violation raises ValueError.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Upgrade to latest version: `pip install --upgrade bases`","cause":"Older version (pre-0.1.0) may not exist or incorrect import path.","error":"ImportError: cannot import name 'Base64Encoding' from 'bases'"},{"fix":"Use `encoding.export(data)` for encoding.","cause":"The method is named `export`, not `encode`.","error":"AttributeError: 'Base64Encoding' object has no attribute 'encode'"},{"fix":"Remove duplicate characters from the alphabet string.","cause":"Custom alphabet contains repeated characters.","error":"ValueError: Alphabet must not contain duplicate characters"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}