A Python library for parsing and creating TOML.
The module passes the TOML test suite.
See also:
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
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"
toml.dump takes a dictionary and a file descriptor and returns a string containing the corresponding TOML-formatted data.
>>> with open('new_toml_file.toml', 'w') as f: ... new_toml_string = toml.dump(parsed_toml, f) >>> 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.
For Numpy users, by default the data types np.floatX
will not be translated to floats by toml, but will instead be encoded as strings. To get around this, specify the TomlNumpyEncoder
when saving your data.
>>> import toml >>> import numpy as np >>> a = np.arange(0, 10, dtype=np.double) >>> output = {'a': a} >>> toml.dumps(output) 'a = [ "0.0", "1.0", "2.0", "3.0", "4.0", "5.0", "6.0", "7.0", "8.0", "9.0",]\n' >>> toml.dumps(output, encoder=toml.TomlNumpyEncoder()) 'a = [ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0,]\n'
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 returnedA dictionary (or object _dict
) containing parsed TOML data
TypeError
: When f
is an invalid type or is a list containing invalid typesTomlDecodeError
: 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 dictionaryA dictionary (or object _dict
) containing parsed TOML data
TypeError
: When a non-string object is passedTomlDecodeError
: When an error occurs while decoding the TOML-formatted stringtoml.dump(o, f, encoder=None)
Write a dictionary to a file containing TOML-formatted data
Args:o
: An object to be converted into TOMLf
: A File descriptor where the TOML-formatted output should be storedencoder
: An instance of TomlEncoder
(or subclass) for encoding the object. If None
, will default to TomlEncoder
A string containing the TOML-formatted data corresponding to object o
TypeError
: When anything other than file descriptor is passedtoml.dumps(o, encoder=None)
Create a TOML-formatted string from an input object
Args:o
: An object to be converted into TOMLencoder
: An instance of TomlEncoder
(or subclass) for encoding the object. If None
, will default to TomlEncoder
A string containing the TOML-formatted data corresponding to object o
This project is released under the terms of the MIT Open Source License. View LICENSE.txt for more information.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4