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 ruff to format and lint 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).

Installation

pip install d8s-xml

Usage

You import the library like:

from d8s_xml import *

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

Functions

  • 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 https://gitlab.com/fhightower/html-to-json."""
    
  • 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."""
    

Development

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

Credits

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.9.0.tar.gz (96.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

d8s_xml-0.9.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file d8s_xml-0.9.0.tar.gz.

File metadata

  • Download URL: d8s_xml-0.9.0.tar.gz
  • Upload date:
  • Size: 96.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for d8s_xml-0.9.0.tar.gz
Algorithm Hash digest
SHA256 df8d2b55879b0c67d643156260143ebc2fca85ad5093d216c427f32601a4fe3b
MD5 8ea6969307c791c1998394e2b57ec066
BLAKE2b-256 33793d2c3f4b814cb26aa4a961b5cb143360662ffdf8e924d5a3b3c15083d7af

See more details on using hashes here.

Provenance

The following attestation bundles were made for d8s_xml-0.9.0.tar.gz:

Publisher: release-please.yml on democritus-project/d8s-xml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file d8s_xml-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: d8s_xml-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for d8s_xml-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6cbd8f5174af037b25352a22cd48297e8b65f328ec1ed7db5556f9df4339575
MD5 471b2f794348d3f19c57462e6647391e
BLAKE2b-256 f3f6426b2d8b1cc1c2bb2c9a5468c913717f6d9667cf44dfdbe33814dca3e455

See more details on using hashes here.

Provenance

The following attestation bundles were made for d8s_xml-0.9.0-py3-none-any.whl:

Publisher: release-please.yml on democritus-project/d8s-xml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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