Name | extended-data-types JSON |
Version |
3.1.0
JSON |
| download |
home_page | None |
Summary | Extended functionality for data types |
upload_time | 2024-10-01 23:30:55 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
python3
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Extended Data Types
[![Extended Data Types Logo](docs/_static/logo.png)](https://github.com/jbcom/extended-data-types)
*π Supercharge your Python data types! π*
[![CI Status](https://github.com/jbcom/extended-data-types/workflows/CI/badge.svg)](https://github.com/jbcom/extended-data-types/actions?query=workflow%3ACI)
[![Documentation Status](https://readthedocs.org/projects/extended-data-types/badge/?version=latest)](https://extended-data-types.readthedocs.io/en/latest/?badge=latest)
[![PyPI Package latest release](https://img.shields.io/pypi/v/extended-data-types.svg)](https://pypi.org/project/extended-data-types/)
[![Supported versions](https://img.shields.io/pypi/pyversions/extended-data-types.svg)](https://pypi.org/project/extended-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.
## 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
```python
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
```python
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](https://extended-data-types.readthedocs.io/en/latest/usage.md) documentation.
## Contributing
Contributions are welcome! Please see the [Contributing Guidelines](https://github.com/jbcom/extended-data-types/blob/main/CONTRIBUTING.md) for more information.
## Credit
Extended Data Types is written and maintained by [Jon Bogaty](mailto:jon@jonbogaty.com).
## Project Links
- [**Get Help**](https://stackoverflow.com/questions/tagged/extended-data-types) (use the *extended-data-types* tag on
Stack Overflow)
- [**PyPI**](https://pypi.org/project/extended-data-types/)
- [**GitHub**](https://github.com/jbcom/extended-data-types)
- [**Documentation**](https://extended-data-types.readthedocs.io/en/latest/)
- [**Changelog**](https://github.com/jbcom/extended-data-types/tree/main/CHANGELOG.md)
Raw data
{
"_id": null,
"home_page": null,
"name": "extended-data-types",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Jon Bogaty <jon@jonbogaty.com>",
"keywords": "python3",
"author": null,
"author_email": "Jon Bogaty <jon@jonbogaty.com>",
"download_url": "https://files.pythonhosted.org/packages/e5/eb/5f7c71c8ecf4c11eba61f1f2225f95efdb6e29bf2681c2908133aab7c4d7/extended_data_types-3.1.0.tar.gz",
"platform": null,
"description": "# Extended Data Types\n\n[![Extended Data Types Logo](docs/_static/logo.png)](https://github.com/jbcom/extended-data-types)\n\n*\ud83d\udc0d Supercharge your Python data types! \ud83d\ude80*\n\n[![CI Status](https://github.com/jbcom/extended-data-types/workflows/CI/badge.svg)](https://github.com/jbcom/extended-data-types/actions?query=workflow%3ACI)\n[![Documentation Status](https://readthedocs.org/projects/extended-data-types/badge/?version=latest)](https://extended-data-types.readthedocs.io/en/latest/?badge=latest)\n[![PyPI Package latest release](https://img.shields.io/pypi/v/extended-data-types.svg)](https://pypi.org/project/extended-data-types/)\n[![Supported versions](https://img.shields.io/pypi/pyversions/extended-data-types.svg)](https://pypi.org/project/extended-data-types/)\n\nExtended 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.\n\n## Key Features\n\n- \ud83d\udd12 **Base64 encoding and decoding** - Easily encode data to Base64 format with optional wrapping for export.\n- \ud83d\udcc1 **File path utilities** - Manipulate and validate file paths, check file extensions, and determine encoding types.\n- \ud83d\uddfa\ufe0f **Extended map and list utilities** - Flatten, filter, and manipulate dictionaries and lists with ease.\n- \ud83d\udd0d **String matching and manipulation** - Partially match strings, convert case, and validate URLs.\n- \ud83c\udf9b\ufe0f **Custom YAML utilities** - Handle custom YAML tags, construct YAML pairs, and represent data structures.\n\n### Base64 Encoding\n\n```\nfrom extended_data_types import base64_encode\n\ndata = \"Hello, world!\"\nencoded = base64_encode(data)\nprint(encoded) # Output: SGVsbG8sIHdvcmxkIQ==\n```\n\n### File Path Utilities\n\n```python\nfrom extended_data_types import match_file_extensions\n\nfile_path = \"example.txt\"\nallowed_extensions = [\".txt\", \".log\"]\nis_allowed = match_file_extensions(file_path, allowed_extensions)\nprint(is_allowed) # Output: True\n```\n\n### YAML Utilities\n\n```python\nfrom extended_data_types import encode_yaml, decode_yaml\n\ndata = {\"name\": \"Alice\", \"age\": 30}\nyaml_str = encode_yaml(data)\nprint(yaml_str)\n# Output:\n# name: Alice\n# age: 30\n\ndecoded_data = decode_yaml(yaml_str)\nprint(decoded_data) # Output: {'name': 'Alice', 'age': 30}\n```\n\nFor more usage examples, see the [Usage](https://extended-data-types.readthedocs.io/en/latest/usage.md) documentation.\n\n## Contributing\n\nContributions are welcome! Please see the [Contributing Guidelines](https://github.com/jbcom/extended-data-types/blob/main/CONTRIBUTING.md) for more information.\n\n## Credit\n\nExtended Data Types is written and maintained by [Jon Bogaty](mailto:jon@jonbogaty.com).\n\n## Project Links\n\n- [**Get Help**](https://stackoverflow.com/questions/tagged/extended-data-types) (use the *extended-data-types* tag on\n Stack Overflow)\n- [**PyPI**](https://pypi.org/project/extended-data-types/)\n- [**GitHub**](https://github.com/jbcom/extended-data-types)\n- [**Documentation**](https://extended-data-types.readthedocs.io/en/latest/)\n- [**Changelog**](https://github.com/jbcom/extended-data-types/tree/main/CHANGELOG.md)\n",
"bugtrack_url": null,
"license": null,
"summary": "Extended functionality for data types",
"version": "3.1.0",
"project_urls": {
"Documentation": "https://github.com/jbcom/extended-data-types#readme",
"Issues": "https://github.com/jbcom/extended-data-types/issues",
"Source": "https://github.com/jbcom/extended-data-types"
},
"split_keywords": [
"python3"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "de11570289d4e93420f0677894c8d201e33bce4265f410981d628742ee91dc2d",
"md5": "2bf55a285904ebc47e67b750ee59a6d5",
"sha256": "6d607170f080ff96042ad17aabc97d839c5b0d6aba8dac456b845896325ef439"
},
"downloads": -1,
"filename": "extended_data_types-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2bf55a285904ebc47e67b750ee59a6d5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 30474,
"upload_time": "2024-10-01T23:30:53",
"upload_time_iso_8601": "2024-10-01T23:30:53.669359Z",
"url": "https://files.pythonhosted.org/packages/de/11/570289d4e93420f0677894c8d201e33bce4265f410981d628742ee91dc2d/extended_data_types-3.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e5eb5f7c71c8ecf4c11eba61f1f2225f95efdb6e29bf2681c2908133aab7c4d7",
"md5": "4a92b6c159fb8764d539f15dee96b8b6",
"sha256": "feebbfe817bc1981aa2616a59d7dcf5fce783c172a7949eb06af6d12c0c2d006"
},
"downloads": -1,
"filename": "extended_data_types-3.1.0.tar.gz",
"has_sig": false,
"md5_digest": "4a92b6c159fb8764d539f15dee96b8b6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 270941,
"upload_time": "2024-10-01T23:30:55",
"upload_time_iso_8601": "2024-10-01T23:30:55.157079Z",
"url": "https://files.pythonhosted.org/packages/e5/eb/5f7c71c8ecf4c11eba61f1f2225f95efdb6e29bf2681c2908133aab7c4d7/extended_data_types-3.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-01 23:30:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jbcom",
"github_project": "extended-data-types#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "extended-data-types"
}