extended-data-types


Nameextended-data-types JSON
Version 3.1.0 PyPI version JSON
download
home_pageNone
SummaryExtended functionality for data types
upload_time2024-10-01 23:30:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
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"
}
        
Elapsed time: 0.36275s