Installation¶
Install using pip¶
The recommended method is to use a virtual environment.
$ pip install xsdata[cli,lxml,soap]
Hint
Install the cli requirements for the code generator
Install the soap requirements for the builtin wsdl client
Install lxml if you want to use one of the lxml handlers/writers instead of the builtin python xml implementations.
xsdata has a monthly release cycle, in order to use the latest updates you can also install directly from the git repo.
$ pip install git+https://github.com/tefra/xsdata@master#egg=xsdata[cli,lxml]
Install using conda¶
$ conda install -c conda-forge xsdata
Verify installation¶
Verify installation using the cli entry point.
$ xsdata --help
Usage: xsdata [OPTIONS] COMMAND [ARGS]...
xsdata command line interface.
Options:
--version Show the version and exit.
-v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG
--help Show this message and exit.
Commands:
generate* Generate code from xml schemas, webservice definitions and...
download Download a schema or a definition locally with all its...
init-config Create or update a configuration file.
Requirements¶
xsData relies on these awesome libraries and supports python >= 3.6
Warning
In python 3.6 the typing module is flattening subclasses in unions, this may affect how values are converted.
There is no official workaround because it’s not very common, if you like monkey
patching then take a look here typing._remove_dups_flatten()
>>> from dataclasses import dataclass
>>> from typing import Union, get_type_hints
...
>>> @dataclass
... class Example:
... value: Union[int, bool, str, float]
...
>>> get_type_hints(Example)
{'value': typing.Union[int, str, float]}
>>> issubclass(bool, int)
True