Skip to main content

Democritus functions for working with XML.

Project description

Democritus Xml

PyPI CI Lint codecov The Democritus Project uses semver version 2.0.0 The Democritus Project uses black to format code License: LGPL v3

Democritus functions[1] for working with XML.

[1] Democritus functions are simple, effective, modular, well-tested, and well-documented Python functions.

We use d8s (pronounced "dee-eights") as an abbreviation for democritus (you can read more about this here).


pip install d8s-xml


You import the library like:

from d8s_xml import *

Once imported, you can use any of the functions listed below.


  • def xml_read(xml_path: str) -> Element:
        """Read the XML from the given path (which can be a URL, file path, or string) and return an xml Element tree."""
  • def is_xml(possible_xml: str) -> bool:
  • def xml_as_string(xml_input: Element) -> str:
        """Convert the given xml_input to a string."""
  • def xml_read_first_arg_string(func):
        """Return an XML element for first argument (if it is a string)."""
  • def stringify_first_arg_xml_element(func):
        """If the first arg is an XML element, send its string representation into the function."""
  • def xml_structure(xml_input: StringOrXmlElement) -> Dict[str, dict]:
  • def xml_to_json(xml_input: StringOrXmlElement) -> Dict[str, List[Dict[str, List[Dict[str, str]]]]]:
        """Convert the xml to json using"""
  • def xml_text(xml_input: StringOrXmlElement) -> str:
        """Convert the given xml_input to a string."""
  • def xml_file_names(path: str) -> List[str]:
        """Find all xml files in the given directory."""


👋  If you want to get involved in this project, we have some short, helpful guides below:

If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.


This package was created with Cookiecutter and Floyd Hightower's Python project template.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

d8s_xml-0.8.0.tar.gz (24.6 kB view hashes)

Uploaded source

Built Distribution

d8s_xml-0.8.0-py2.py3-none-any.whl (20.8 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page