Archived
This project has been archived by its maintainers, and is no longer receiving any updates.
Extended Data Types
🐍 Supercharge your Python data types! 🚀
Extended Data Types is a Python library that provides additional functionality for Python's standard data types. It includes utilities for handling YAML, JSON, Base64, file paths, strings, lists, maps, and more.
Project Goals
- Provide a reliable, typed utility layer for working with common serialization formats (YAML, JSON, TOML, HCL) without sacrificing readability or ergonomics.
- Offer safe helpers for file-system aware workflows, including path handling and Git repository discovery, while keeping platform differences in mind.
- Maintain a modern, well-tested codebase backed by automated CI/CD that validates packaging, linting, typing, coverage, and documentation builds.
Key Features
- 🔒 Base64 encoding and decoding - Easily encode data to Base64 format with optional wrapping for export.
- 📁 File path utilities - Manipulate and validate file paths, check file extensions, and determine encoding types.
- 🗺️ Extended map and list utilities - Flatten, filter, and manipulate dictionaries and lists with ease.
- 🔍 String matching and manipulation - Partially match strings, convert case, and validate URLs.
- 🎛️ Custom YAML utilities - Handle custom YAML tags, construct YAML pairs, and represent data structures.
Base64 Encoding
from extended_data_types import base64_encode
data = "Hello, world!"
encoded = base64_encode(data)
print(encoded) # Output: SGVsbG8sIHdvcmxkIQ==
File Path Utilities
from extended_data_types import match_file_extensions
file_path = "example.txt"
allowed_extensions = [".txt", ".log"]
is_allowed = match_file_extensions(file_path, allowed_extensions)
print(is_allowed) # Output: True
YAML Utilities
from extended_data_types import encode_yaml, decode_yaml
data = {"name": "Alice", "age": 30}
yaml_str = encode_yaml(data)
print(yaml_str)
# Output:
# name: Alice
# age: 30
decoded_data = decode_yaml(yaml_str)
print(decoded_data) # Output: {'name': 'Alice', 'age': 30}
For more usage examples, see the Usage documentation.
Contributing
Contributions are welcome! Please see the Contributing Guidelines for more information.
Credit
Extended Data Types is written and maintained by Jon Bogaty.
Project Links
- Get Help (use the extended-data-types tag on Stack Overflow)
- PyPI
- GitHub
- Documentation
- Changelog
Metadata
Release files for extended-data-types 202511.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| extended_data_types-202511.8.0.tar.gz | 64.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| extended_data_types-202511.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.7 kB
Release files / extended_data_types-202511.8.0.tar.gz
| Download URL | extended_data_types-202511.8.0.tar.gz |
|---|---|
| Size | 64.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88540ac8518de58b2671e7539ecb5d080a442de1ef2c625ada28cd28f9ca3378
|
|
BLAKE2b-256 checksum How to use checksums |
4c0f7015156b2dea0c79c08b6b0c63fcb3d4d0b6d1dd005b35ac5dd7d08e8e27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / extended_data_types-202511.8.0-py3-none-any.whl
| Download URL | extended_data_types-202511.8.0-py3-none-any.whl |
|---|---|
| Size | 47.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22df87692db1efdd6975625213d583c6fdd3a97599a24d2b9d11e6c504ba1247
|
|
BLAKE2b-256 checksum How to use checksums |
ac0594a9b08befafba9f50276945193842f450629cd59e10bfa5d08845dab88b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|