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.8.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tomlhold-0.1.8.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.8.tar.gz
Algorithm Hash digest
SHA256 8202bb879b28e838402d1ec98037baaa77dd84a9d6359b97c637a996373e2749
MD5 a9d0f56c455ff5971cfc09f980c381ca
BLAKE2b-256 f7253f9d30a48d340898e3a39354d692c56d7ba317bfcccc6c5bceab89937db5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tomlhold-0.1.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 c2f246836f5be2e7d1e1fb3d699c549e9d227b630df7bcd056b2316d9ce3790e
MD5 9adea1c2bb9b3784eae4d13ac3b67e4a
BLAKE2b-256 9e1f231c8cac4c192c83bc9ab4828488ec17903cf08d3b27b9b5233387fc8f85

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