Skip to main content

A holder for TOML data.

Project description

Overview

A holder for TOML data.

Installation

To install tomlhold, you can use pip. Open your terminal and run:

pip install tomlhold

Example

Here’s a simple example.

import tomlhold

# Example 1: Create Holder from a TOML string
toml_data = """
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true
"""
h = tomlhold.Holder(toml_data)

# Access a single value
print(h["database", "server"])

# Example 2: Access nested values using multiple indices
print(h["database", "ports", 2])

# Example 3: Update a value
h["database", "connection_max"] = 10000
print(h["database", "connection_max"])

# Example 4: Add a new section and key-value pair
h["new_section"] = dict(new_key = "New Value")
print(h["new_section", "new_key"])

# Example 5: TOML compatibility enforcement (invalid TOML raises an error)
try:
    h["new_section", "invalid_key"] = {"invalid": object()}
except Exception as e:
    print(f"Error: {e}")  # Ensures only TOML-compatible data is allowed

# Example 6: Create Holder from a dictionary and convert it to TOML format
data_dict = {
    "title": "Example",
    "owner": {
        "name": "John Doe",
        "dob": "1979-05-27T07:32:00Z"
    }
}
h = tomlhold.Holder.fromdict(data_dict)
print(h)

# Example 7: Iterate through Holder object like a regular dictionary
for section, values in h.items():
    print(section, values)

# Output:
    # 192.168.1.1
    # 8002
    # 10000
    # New Value
    # Error: type <class 'object'> is not allowed
    # title = "Example"
    #
    # [owner]
    # name = "John Doe"
    # dob = "1979-05-27T07:32:00Z"
    #
    # title Example
    # owner {'name': 'John Doe', 'dob': '1979-05-27T07:32:00Z'}

License

This project is licensed under the MIT License.

Credits

Thank you for using tomlhold!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tomlhold-0.1.9.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

tomlhold-0.1.9-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file tomlhold-0.1.9.tar.gz.

File metadata

  • Download URL: tomlhold-0.1.9.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for tomlhold-0.1.9.tar.gz
Algorithm Hash digest
SHA256 d7dea58afd9dd40eb213ab510c4143a208c8ed954bc39a0966052b3a632ed2b8
MD5 9106f3a635a8fe2f9369c17bf0bd0355
BLAKE2b-256 ce10846b19ac6ebe5986270740a9e2b7926aeb2aef72de3ed57a790f32c8b200

See more details on using hashes here.

File details

Details for the file tomlhold-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: tomlhold-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for tomlhold-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ac2c9ee46ca169ffd45c34bcc2a1f1f4af2626c19565500ccbaaf25f05fb419b
MD5 18287145c87a9edbe176ed371694d320
BLAKE2b-256 19a16cfebca67eab54106723ad4a7bebdf967e40ac5ef09d22c87d1670f8cb3e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page