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.

next
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.

class axon.Element

Named mapping containing list of values.

_name

Name of element

_mapping

Mapping containing pairs of name/value.

_sequence

Child list of values.

class axon.Instance

Named sequence containing pairs of name: value.

_name

Name of object.

_mapping

Mapping containing optional values in form of name: value pairs.

_sequence

List of requiered 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:textunicode AXON text
Returns:formatted unicode AXON text
axon.load(fd, mode=u'safe', errto=None, encoding=u'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=u'safe', errto=None, json=0)[source]

Load values from unicode text.

Parameters:
  • textunicode 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=u'safe', errto=None, encoding=u'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=u'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=u'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.

Exceptions

class axon.LoadExit

Exception for exit load AXON representation from file or text.