Python Library for Tom's Obvious, Minimal Language
Project description
A Python library for parsing and creating TOML.
The module passes the TOML test suite which is a fork of BurntSushi’s TOML test suite.
See also:
Installation
To install the latest release on PyPi, simply run:
pip install toml
Or to install the latest development version, run:
git clone https://github.com/uiri/toml.git cd toml python setup.py install
Quick Tutorial
toml.loads takes in a string containing standard TOML-formatted data and returns a dictionary containing the parsed data.
>>> import toml
>>> toml_string = """
... # This is a TOML document.
...
... title = "TOML Example"
...
... [owner]
... name = "Tom Preston-Werner"
... dob = 1979-05-27T07:32:00-08:00 # First class dates
...
... [database]
... server = "192.168.1.1"
... ports = [ 8001, 8001, 8002 ]
... connection_max = 5000
... enabled = true
...
... [servers]
...
... # Indentation (tabs and/or spaces) is allowed but not required
... [servers.alpha]
... ip = "10.0.0.1"
... dc = "eqdc10"
...
... [servers.beta]
... ip = "10.0.0.2"
... dc = "eqdc10"
...
... [clients]
... data = [ ["gamma", "delta"], [1, 2] ]
...
... # Line breaks are OK when inside arrays
... hosts = [
... "alpha",
... "omega"
... ]
... """
>>> parsed_toml = toml.loads(toml_string)
toml.dumps takes a dictionary and returns a string containing the corresponding TOML-formatted data.
>>> new_toml_string = toml.dumps(parsed_toml)
>>> print(new_toml_string)
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002,]
connection_max = 5000
enabled = true
[clients]
data = [ [ "gamma", "delta",], [ 1, 2,],]
hosts = [ "alpha", "omega",]
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
For more functions, view the API Reference below.
API Reference
- toml.load(f, _dict=dict)
Parse a file or a list of files as TOML and return a dictionary.
- Args:
f: A path to a file, list of filepaths (to be read into single object) or a file descriptor
_dict: The class of the dictionary object to be returned
- Returns:
A dictionary (or object _dict) containing parsed TOML data
- Raises:
TypeError: When f is an invalid type or is a list containing invalid types
TomlDecodeError: When an error occurs while decoding the file(s)
- toml.loads(s, _dict=dict)
Parse a TOML-formatted string to a dictionary.
- Args:
s: The TOML-formatted string to be parsed
_dict: Specifies the class of the returned toml dictionary
- Returns:
A dictionary (or object _dict) containing parsed TOML data
- Raises:
TypeError: When a non-string object is passed
TomlDecodeError: When an error occurs while decoding the TOML-formatted string
- toml.dump(o, f)
Write a dictionary to a file containing TOML-formatted data
- Args:
o: An object to be converted into TOML
f: A File descriptor where the TOML-formatted output should be stored
- Returns:
A string containing the TOML-formatted data corresponding to object o
- Raises:
TypeError: When anything other than file descriptor is passed
- toml.dumps(o)
Create a TOML-formatted string from an input object
- Args:
o: An object to be converted into TOML
- Returns:
A string containing the TOML-formatted data corresponding to object o
Licensing
This project is released under the terms of the MIT Open Source License. View LICENSE.txt for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.