Skip to main content

A Saxon HE packaged for Python

Project description

saxonhe4py

A packaged Java Saxon HE for Python.

PyPI

Install

Java Saxon HE is made easy to install as a single Python package:

pip install saxonhe4py

Usage

>>> from saxonhe4py import SAXON_HE_JAR
>>> SAXON_HE_JAR
PosixPath('/Users/johndoe/dev/saxonhe4py/jdk4py/java-runtime')

Command line

>>> from subprocess import check_output, run, STDOUT
>>> from jdk4py import JAVA
>>> from saxonhe4py import SAXON_HE_JAR
>>>
>>> cmd_list = [str(JAVA), "-jar", str(SAXON_HE_JAR), "net.sf.saxon.Transform", "-t", "-?"] 
>>> print(check_output(cmd_list, stderr=subprocess.STDOUT, text=True))
SaxonJ-HE 11.4 from Saxonica
Java version 17.0.3
...

With jsaxonpy

Could be convinient if you want to execute your code as cloud function where there is no java VM nor Saxon are avaiable in the environment of the container.

import os
from jdk4py import JAVA
from saxonhe4py import SAXON_HE_JAR
from jsaxonpy import Xslt


os.environ.update({
    "JVM_OPTIONS": os.environ.get("JVM_OPTIONS", "-Xmx64m"),
    "CLASSPATH": os.environ.get("CLASSPATH", "") + os.pathsep + str(SAXON_HE_JAR),
    "PATH": os.environ.get("PATH", "") + os.pathsep + str(JAVA)
})

xml = "<root><child>text</child></root>"
xsl = """
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <xsl:copy-of select="."/>
  </xsl:template>
</xsl:stylesheet>
"""
t = Xslt()
print(t.transform(xml, xsl))

Versioning

saxonhe4py's version contains 3 numbers:

  • The first 2 numbers are the Java Saxon HE version.
  • The third is saxonhe4py specific: it starts at 0 for each Java Saxon HE version and then increases.

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

saxonhe4py-11.4.0.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

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

saxonhe4py-11.4.0-py3-none-any.whl (6.5 MB view details)

Uploaded Python 3

File details

Details for the file saxonhe4py-11.4.0.tar.gz.

File metadata

  • Download URL: saxonhe4py-11.4.0.tar.gz
  • Upload date:
  • Size: 6.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for saxonhe4py-11.4.0.tar.gz
Algorithm Hash digest
SHA256 eeb0e6ecdad86a19c646a8564f0f94cb94e1e80b3c80cad5cc318497ef5e34b8
MD5 14a9fc04543252c70f8b13acd195240e
BLAKE2b-256 60f6a616298edd9fe69aaf5734d31c5f5affbed19ecf106dd710454b69f32345

See more details on using hashes here.

File details

Details for the file saxonhe4py-11.4.0-py3-none-any.whl.

File metadata

  • Download URL: saxonhe4py-11.4.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for saxonhe4py-11.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b0c335f0c8d9444f606197163bb418fe89331654f7fb63a75b5c4c2ff812e45
MD5 811f38539ac9f3951b63f79b816cd183
BLAKE2b-256 83efa18770eaf4410e5bbd638d7eaa6a3cdce24b7a38d4cbd665dae9fa4e30bf

See more details on using hashes here.

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