-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
49 lines (45 loc) · 2.08 KB
/
Copy pathpyproject.toml
File metadata and controls
49 lines (45 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Python build / dependency manifest for the FundsXML reference examples.
#
# WHY THIS EXISTS
# ===============
# The Python examples used to rely on ad-hoc `pip install lxml` / `pip install
# saxonche`. That is neither standalone nor cross-platform. This manifest makes
# the Python stack install with one idiomatic, OS-agnostic command. It is a
# dependency-only manifest — no module is packaged; the examples are plain
# scripts run from the repo root.
#
# STANDALONE BOOTSTRAP (any OS; venv works on Windows too)
# =======================================================
# python -m venv .venv
# # Linux/macOS: . .venv/bin/activate Windows: .venv\Scripts\activate
# pip install -e .
# Then run any example with the venv's Python, e.g. (the XSD validator takes a
# schema path or URL + the XML file — no version, no resolver):
# python XSD_Validation/python/validate.py \
# https://github.com/fundsxml/schema/releases/download/4.2.9/FundsXML.xsd \
# FundsXML_Files/4.2.9/positions/Mixed-Fund_Positions.xml
[build-system]
requires = ["setuptools>=64"]
build-backend = "setuptools.build_meta"
[project]
name = "fundsxml-examples"
version = "1.0.0"
description = "Standalone, cross-platform Python deps + schema resolver for the FundsXML reference examples"
requires-python = ">=3.9"
dependencies = [
# XSD validation, iterparse streaming, DOM round-trips, the xml_equiv
# comparator, JSON data binding, large-file split/delta.
"lxml>=4.9",
# Saxon's Python API — the XSLT 2.0 / XQuery 3.1 / Schematron(xslt2)
# examples need a Saxon-class engine (lxml is XSLT 1.0 only).
"saxonche>=12.4",
]
[project.optional-dependencies]
# XML_Signature/python/sign_verify_signxml.py only (the Java Santuario
# example is the verified path). Install with: pip install -e ".[signature]"
signature = ["signxml>=3.2"]
[tool.setuptools]
# Dependency-only install: nothing in the repo is packaged or importable, so
# declare an empty module list (this also disables setuptools auto-discovery,
# which would otherwise choke on the repo's flat multi-directory layout).
py-modules = []