API¶
This part of the documentation covers interfaces of axon.
Classes¶
-
class
axon.
Loader
¶ Loader from line oriented unicode text inputs.
-
line
¶ Current input unicode line
-
pos
¶ Position of current unicode character
-
lnum
¶ Number of current input unicode line
-
errto
¶ Name of file for reporting errors
-
Loader
(fd, readline, builder="safe", sbuilder="default", errto=None)¶ - Parameters
fd – File-like object with .readline() and .close() method
mode – Specifies the method of building python objects for complex values
errto – Name of file for reporting errors
-
load
¶ Load all values.
-
-
class
axon.
Dumper
¶ Dumper class
-
dump
¶ Main dumping method.
- Parameters
seq – Sequence of values to dump
pretty – Flag indicates whether to use pretty dumping mode. Default is False (i.e. no pretty dumping)
-
-
class
axon.
Empty
¶ Empty named complex value.
-
_name
¶
Name of complex value
-
_mapping
¶
Dictionary of attributes.
-
_sequence
¶
List of values.
-
-
class
axon.
Sequence
¶ Named sequence of values.
-
_name
¶
Name of sequence.
-
_mapping
¶
Empty dictionary of attributes.
-
_sequence
¶
List of values.
-
-
class
axon.
Mapping
¶ Named mapping containing pairs of name/value.
-
_name
¶
Name of mapping
-
_mapping
¶
Mapping containing pairs of name: value.
-
_sequence
¶
Empty list of values.
-
Functions¶
Loading and dumping¶
-
axon.
display
(text, pretty=1, braces=0, sorted=1, hsize=0, crossref=0)[source]¶ Display AXON text in formatted form for easy read.
- Parameters
text – unicode AXON text
- Returns
formatted unicode AXON text
-
axon.
load
(fd, mode='safe', errto=None, encoding='utf-8', json=0)[source]¶ Load object from unicode text in AXON.
- Parameters
fd – input file name of file object opening as TextIO/StringIO
mode – specifies the method of building python objects for complex values.
errto – name of file for reporting errors
encoding – encoding of input file (default utf-8)
- There are values of parameter mode:
“safe” - use safe object builder
“strict” - use unsafe builder with strict name resolution: if there is no registered name for building object builder return undef object
“mixed” - use unsafe object builder with following rule: if there is no registered name for building object then use safe mode.
- Parameters
json – if true then allow to load from json format
- Returns
list of values.
-
axon.
loads
(text, mode='safe', errto=None, json=0)[source]¶ Load values from unicode text.
- Parameters
text – unicode text in AXON.
mode – specifies the method of building python objects for complex values (see .. py:func:load)
errto – name of file for reporting errors
json – if true then allow to load from json format
- Returns
list of values.
-
axon.
iload
(fd, mode='safe', errto=None, encoding='utf-8', json=0)[source]¶ Iterative loading values from input file.
Arguments are same as in .. py:func:load.
- Returns
iterator object.
-
axon.
iloads
(text, mode='safe', errto=None, json=0)[source]¶ Iterative loading values from unicode text.
- Parameters
text – unicode text in AXON.
mode – specifies the method of building python objects for complex values (see .. py:func:load)
errto – name of file for reporting errors
json – if true then allow to load from json format
- Returns
iterator object.
-
axon.
dump
(fpath, val, pretty=0, braces=0, sorted=1, hsize=0, crossref=0, encoding='utf-8')[source]¶ Same as
dumps()
but for dumping into a file.- Parameters
fpath – path to file for dumping.
For other parameters see
dumps()
.
-
axon.
dumps
(val, pretty=0, braces=0, sorted=1, hsize=0, crossref=0)[source]¶ Dump value into unicode text.
- Parameters
val – value to convert
simple_dumpers – dictionary containing callables for text representation of values of simple types &em; int, float, decimal, boolean, unicode text, date/time/datetime &em; in form of type:dumper.
type_reducers – dictionary containing callables, which returns reduced data for representation in AXON.
pretty –
flag indicating pretty dumping:
True - use pretty dumping
False - do not use pretty dumping (default)
crossref –
flag for crossreferece support in unsafe mode
True - use crosserefernce support
False - do not use crosserefernce support (default)
- Returns
unicode string of AXON representation of val.
Factory functions for safe mode complex values¶
-
axon.
empty
()¶ Factory function for creating empty complex value.
- Parameters
name – name of empty complex value.
-
axon.
mapping
()¶ Factory function for creating named mapping.
- Parameters
name – name of sequence.
mapping – python dictionary containing pairs of name/value.
-
axon.
sequence
()¶ Factory function for creating named sequence.
- Parameters
name – name of the sequence.
sequence – python sequence containing values.
-
axon.
element
()¶ Factory function for creating named element.
- Parameters
name – name of element.
mapping – python dictionary containing pairs of name: value.
sequence – python sequence containing child values.
-
axon.
instance
()¶ Factory function for creating named instance.
- Parameters
name – name of object.
sequence – python sequence containing required values.
mapping – python dictionary containing optional values in form of of name: value pairs.