xmlsec 1.3.17__cp313-cp313-win_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
xmlsec/__init__.pyi ADDED
@@ -0,0 +1,80 @@
1
+ from collections.abc import Callable, Iterable
2
+ from typing import IO, Any, AnyStr, TypeVar, overload
3
+
4
+ from _typeshed import GenericPath, Self, StrOrBytesPath
5
+ from lxml.etree import _Element
6
+
7
+ from xmlsec import constants as constants
8
+ from xmlsec import template as template
9
+ from xmlsec import tree as tree
10
+ from xmlsec.constants import __KeyData as KeyData
11
+ from xmlsec.constants import __Transform as Transform
12
+
13
+ _E = TypeVar('_E', bound=_Element)
14
+
15
+ def enable_debug_trace(enabled: bool = ...) -> None: ...
16
+ def get_libxml_version() -> tuple[int, int, int]: ...
17
+ def get_libxml_compiled_version() -> tuple[int, int, int]: ...
18
+ def init() -> None: ...
19
+ def shutdown() -> None: ...
20
+ def cleanup_callbacks() -> None: ...
21
+ def register_default_callbacks() -> None: ...
22
+ def register_callbacks(
23
+ input_match_callback: Callable[[bytes], bool],
24
+ input_open_callback: Callable[[bytes], Any],
25
+ input_read_callback: Callable[[Any, memoryview], int],
26
+ input_close_callback: Callable[[Any], None],
27
+ ) -> None: ...
28
+ @overload
29
+ def base64_default_line_size() -> int: ...
30
+ @overload
31
+ def base64_default_line_size(size: int) -> None: ...
32
+
33
+ class EncryptionContext:
34
+ key: Key | None
35
+ def __init__(self, manager: KeysManager | None = ...) -> None: ...
36
+ def decrypt(self, node: _Element) -> _Element: ...
37
+ def encrypt_binary(self, template: _E, data: bytes) -> _E: ...
38
+ def encrypt_uri(self, template: _E, uri: str) -> _E: ...
39
+ def encrypt_xml(self, template: _E, node: _Element) -> _E: ...
40
+ def reset(self) -> None: ...
41
+
42
+ class Error(Exception): ...
43
+ class InternalError(Error): ...
44
+
45
+ class Key:
46
+ name: str
47
+ @classmethod
48
+ def from_binary_data(cls: type[Self], klass: KeyData, data: AnyStr) -> Self: ...
49
+ @classmethod
50
+ def from_binary_file(cls: type[Self], klass: KeyData, filename: StrOrBytesPath) -> Self: ...
51
+ @classmethod
52
+ def from_file(cls: type[Self], file: GenericPath[AnyStr] | IO[AnyStr], format: int, password: str | None = ...) -> Self: ...
53
+ @classmethod
54
+ def from_engine(cls: type[Self], engine_and_key_id: AnyStr) -> Self: ...
55
+ @classmethod
56
+ def from_memory(cls: type[Self], data: AnyStr, format: int, password: str | None = ...) -> Self: ...
57
+ @classmethod
58
+ def generate(cls: type[Self], klass: KeyData, size: int, type: int) -> Self: ...
59
+ def load_cert_from_file(self, file: GenericPath[AnyStr] | IO[AnyStr], format: int) -> None: ...
60
+ def load_cert_from_memory(self, data: AnyStr, format: int) -> None: ...
61
+ def __copy__(self: Self) -> Self: ...
62
+ def __deepcopy__(self: Self) -> Self: ...
63
+
64
+ class KeysManager:
65
+ def add_key(self, key: Key) -> None: ...
66
+ def load_cert(self, filename: StrOrBytesPath, format: int, type: int) -> None: ...
67
+ def load_cert_from_memory(self, data: AnyStr, format: int, type: int) -> None: ...
68
+
69
+ class SignatureContext:
70
+ key: Key | None
71
+ def enable_reference_transform(self, transform: Transform) -> None: ...
72
+ def enable_signature_transform(self, transform: Transform) -> None: ...
73
+ def register_id(self, node: _Element, id_attr: str = ..., id_ns: str | None = ...) -> None: ...
74
+ def set_enabled_key_data(self, keydata_list: Iterable[KeyData]) -> None: ...
75
+ def sign(self, node: _Element) -> None: ...
76
+ def sign_binary(self, bytes: bytes, transform: Transform) -> bytes: ...
77
+ def verify(self, node: _Element) -> None: ...
78
+ def verify_binary(self, bytes: bytes, transform: Transform, signature: bytes) -> None: ...
79
+
80
+ class VerificationError(Error): ...
xmlsec/constants.pyi ADDED
@@ -0,0 +1,148 @@
1
+ import sys
2
+ from typing import Final, NamedTuple
3
+
4
+ class __KeyData(NamedTuple): # __KeyData type
5
+ href: str
6
+ name: str
7
+
8
+ class __KeyDataNoHref(NamedTuple): # __KeyData type
9
+ href: None
10
+ name: str
11
+
12
+ class __Transform(NamedTuple): # __Transform type
13
+ href: str
14
+ name: str
15
+ usage: int
16
+
17
+ class __TransformNoHref(NamedTuple): # __Transform type
18
+ href: None
19
+ name: str
20
+ usage: int
21
+
22
+ DSigNs: Final[str]
23
+ EncNs: Final[str]
24
+ KeyDataAes: Final[__KeyData]
25
+ KeyDataDes: Final[__KeyData]
26
+ KeyDataDsa: Final[__KeyData]
27
+ KeyDataEc: Final[__KeyData]
28
+ KeyDataEcdsa: Final[__KeyData]
29
+ KeyDataEncryptedKey: Final[__KeyData]
30
+ KeyDataFormatBinary: Final[int]
31
+ KeyDataFormatCertDer: Final[int]
32
+ KeyDataFormatCertPem: Final[int]
33
+ KeyDataFormatDer: Final[int]
34
+ KeyDataFormatPem: Final[int]
35
+ KeyDataFormatPkcs12: Final[int]
36
+ KeyDataFormatPkcs8Der: Final[int]
37
+ KeyDataFormatPkcs8Pem: Final[int]
38
+ KeyDataFormatUnknown: Final[int]
39
+ KeyDataHmac: Final[__KeyData]
40
+ KeyDataName: Final[__KeyDataNoHref]
41
+ KeyDataRawX509Cert: Final[__KeyData]
42
+ KeyDataRetrievalMethod: Final[__KeyDataNoHref]
43
+ KeyDataRsa: Final[__KeyData]
44
+ KeyDataTypeAny: Final[int]
45
+ KeyDataTypeNone: Final[int]
46
+ KeyDataTypePermanent: Final[int]
47
+ KeyDataTypePrivate: Final[int]
48
+ KeyDataTypePublic: Final[int]
49
+ KeyDataTypeSession: Final[int]
50
+ KeyDataTypeSymmetric: Final[int]
51
+ KeyDataTypeTrusted: Final[int]
52
+ KeyDataTypeUnknown: Final[int]
53
+ KeyDataValue: Final[__KeyDataNoHref]
54
+ KeyDataX509: Final[__KeyData]
55
+ NodeCanonicalizationMethod: Final[str]
56
+ NodeCipherData: Final[str]
57
+ NodeCipherReference: Final[str]
58
+ NodeCipherValue: Final[str]
59
+ NodeDataReference: Final[str]
60
+ NodeDigestMethod: Final[str]
61
+ NodeDigestValue: Final[str]
62
+ NodeEncryptedData: Final[str]
63
+ NodeEncryptedKey: Final[str]
64
+ NodeEncryptionMethod: Final[str]
65
+ NodeEncryptionProperties: Final[str]
66
+ NodeEncryptionProperty: Final[str]
67
+ NodeKeyInfo: Final[str]
68
+ NodeKeyName: Final[str]
69
+ NodeKeyReference: Final[str]
70
+ NodeKeyValue: Final[str]
71
+ NodeManifest: Final[str]
72
+ NodeObject: Final[str]
73
+ NodeReference: Final[str]
74
+ NodeReferenceList: Final[str]
75
+ NodeSignature: Final[str]
76
+ NodeSignatureMethod: Final[str]
77
+ NodeSignatureProperties: Final[str]
78
+ NodeSignatureValue: Final[str]
79
+ NodeSignedInfo: Final[str]
80
+ NodeX509Data: Final[str]
81
+ Ns: Final[str]
82
+ NsExcC14N: Final[str]
83
+ NsExcC14NWithComments: Final[str]
84
+ TransformAes128Cbc: Final[__Transform]
85
+ TransformAes128Gcm: Final[__Transform]
86
+ TransformAes192Cbc: Final[__Transform]
87
+ TransformAes192Gcm: Final[__Transform]
88
+ TransformAes256Cbc: Final[__Transform]
89
+ TransformAes256Gcm: Final[__Transform]
90
+ TransformDes3Cbc: Final[__Transform]
91
+ TransformDsaSha1: Final[__Transform]
92
+ TransformEcdsaSha1: Final[__Transform]
93
+ TransformEcdsaSha224: Final[__Transform]
94
+ TransformEcdsaSha256: Final[__Transform]
95
+ TransformEcdsaSha384: Final[__Transform]
96
+ TransformEcdsaSha512: Final[__Transform]
97
+ TransformEnveloped: Final[__Transform]
98
+ TransformExclC14N: Final[__Transform]
99
+ TransformExclC14NWithComments: Final[__Transform]
100
+ TransformHmacMd5: Final[__Transform]
101
+ TransformHmacRipemd160: Final[__Transform]
102
+ TransformHmacSha1: Final[__Transform]
103
+ TransformHmacSha224: Final[__Transform]
104
+ TransformHmacSha256: Final[__Transform]
105
+ TransformHmacSha384: Final[__Transform]
106
+ TransformHmacSha512: Final[__Transform]
107
+ TransformInclC14N: Final[__Transform]
108
+ TransformInclC14N11: Final[__Transform]
109
+ TransformInclC14N11WithComments: Final[__Transform]
110
+ TransformInclC14NWithComments: Final[__Transform]
111
+ TransformKWAes128: Final[__Transform]
112
+ TransformKWAes192: Final[__Transform]
113
+ TransformKWAes256: Final[__Transform]
114
+ TransformKWDes3: Final[__Transform]
115
+ TransformMd5: Final[__Transform]
116
+ TransformRemoveXmlTagsC14N: Final[__TransformNoHref]
117
+ TransformRipemd160: Final[__Transform]
118
+ TransformRsaMd5: Final[__Transform]
119
+ TransformRsaOaep: Final[__Transform]
120
+ TransformRsaPkcs1: Final[__Transform]
121
+ TransformRsaRipemd160: Final[__Transform]
122
+ TransformRsaSha1: Final[__Transform]
123
+ TransformRsaSha224: Final[__Transform]
124
+ TransformRsaSha256: Final[__Transform]
125
+ TransformRsaSha384: Final[__Transform]
126
+ TransformRsaSha512: Final[__Transform]
127
+ TransformSha1: Final[__Transform]
128
+ TransformSha224: Final[__Transform]
129
+ TransformSha256: Final[__Transform]
130
+ TransformSha384: Final[__Transform]
131
+ TransformSha512: Final[__Transform]
132
+ TransformUsageAny: Final[int]
133
+ TransformUsageC14NMethod: Final[int]
134
+ TransformUsageDSigTransform: Final[int]
135
+ TransformUsageDigestMethod: Final[int]
136
+ TransformUsageEncryptionMethod: Final[int]
137
+ TransformUsageSignatureMethod: Final[int]
138
+ TransformUsageUnknown: Final[int]
139
+ TransformVisa3DHack: Final[__TransformNoHref]
140
+ TransformXPath: Final[__Transform]
141
+ TransformXPath2: Final[__Transform]
142
+ TransformXPointer: Final[__Transform]
143
+ TransformXslt: Final[__Transform]
144
+ TypeEncContent: Final[str]
145
+ TypeEncElement: Final[str]
146
+ XPath2Ns: Final[str]
147
+ XPathNs: Final[str]
148
+ XPointerNs: Final[str]
xmlsec/py.typed ADDED
@@ -0,0 +1 @@
1
+ # Marker file for PEP 561. The xmlsec package uses stub files.
xmlsec/template.pyi ADDED
@@ -0,0 +1,38 @@
1
+ from collections.abc import Sequence
2
+ from typing import Any
3
+
4
+ from lxml.etree import _Element
5
+
6
+ from xmlsec.constants import __Transform as Transform
7
+
8
+ def add_encrypted_key(
9
+ node: _Element, method: Transform, id: str | None = ..., type: str | None = ..., recipient: str | None = ...
10
+ ) -> _Element: ...
11
+ def add_key_name(node: _Element, name: str | None = ...) -> _Element: ...
12
+ def add_key_value(node: _Element) -> _Element: ...
13
+ def add_reference(
14
+ node: _Element, digest_method: Transform, id: str | None = ..., uri: str | None = ..., type: str | None = ...
15
+ ) -> _Element: ...
16
+ def add_transform(node: _Element, transform: Transform) -> Any: ...
17
+ def add_x509_data(node: _Element) -> _Element: ...
18
+ def create(node: _Element, c14n_method: Transform, sign_method: Transform, id: str | None = ..., ns: str | None = ...) -> _Element: ...
19
+ def encrypted_data_create(
20
+ node: _Element,
21
+ method: Transform,
22
+ id: str | None = ...,
23
+ type: str | None = ...,
24
+ mime_type: str | None = ...,
25
+ encoding: str | None = ...,
26
+ ns: str | None = ...,
27
+ ) -> _Element: ...
28
+ def encrypted_data_ensure_cipher_value(node: _Element) -> _Element: ...
29
+ def encrypted_data_ensure_key_info(node: _Element, id: str | None = ..., ns: str | None = ...) -> _Element: ...
30
+ def ensure_key_info(node: _Element, id: str | None = ...) -> _Element: ...
31
+ def transform_add_c14n_inclusive_namespaces(node: _Element, prefixes: str | Sequence[str]) -> None: ...
32
+ def x509_data_add_certificate(node: _Element) -> _Element: ...
33
+ def x509_data_add_crl(node: _Element) -> _Element: ...
34
+ def x509_data_add_issuer_serial(node: _Element) -> _Element: ...
35
+ def x509_data_add_ski(node: _Element) -> _Element: ...
36
+ def x509_data_add_subject_name(node: _Element) -> _Element: ...
37
+ def x509_issuer_serial_add_issuer_name(node: _Element, name: str | None = ...) -> _Element: ...
38
+ def x509_issuer_serial_add_serial_number(node: _Element, serial: str | None = ...) -> _Element: ...
xmlsec/tree.pyi ADDED
@@ -0,0 +1,18 @@
1
+ from collections.abc import Sequence
2
+ from typing import overload
3
+
4
+ from lxml.etree import _Element
5
+
6
+ def add_ids(node: _Element, ids: Sequence[str]) -> None: ...
7
+ @overload
8
+ def find_child(parent: _Element, name: str) -> _Element | None: ...
9
+ @overload
10
+ def find_child(parent: _Element, name: str, namespace: str = ...) -> _Element | None: ...
11
+ @overload
12
+ def find_node(node: _Element, name: str) -> _Element | None: ...
13
+ @overload
14
+ def find_node(node: _Element, name: str, namespace: str = ...) -> _Element | None: ...
15
+ @overload
16
+ def find_parent(node: _Element, name: str) -> _Element | None: ...
17
+ @overload
18
+ def find_parent(node: _Element, name: str, namespace: str = ...) -> _Element | None: ...
@@ -0,0 +1,247 @@
1
+ Metadata-Version: 2.4
2
+ Name: xmlsec
3
+ Version: 1.3.17
4
+ Summary: Python bindings for the XML Security Library
5
+ Home-page: https://github.com/mehcode/python-xmlsec
6
+ Author: Bulat Gaifullin
7
+ Author-email: support@mehcode.com
8
+ Maintainer: Oleg Hoefling
9
+ Maintainer-email: oleg.hoefling@gmail.com
10
+ License: MIT
11
+ Project-URL: Documentation, https://xmlsec.readthedocs.io
12
+ Project-URL: Source, https://github.com/mehcode/python-xmlsec
13
+ Project-URL: Changelog, https://github.com/mehcode/python-xmlsec/releases
14
+ Keywords: xmlsec
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: System Administrators
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: C
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Topic :: Text Processing :: Markup :: XML
29
+ Classifier: Typing :: Typed
30
+ Requires-Python: >=3.9
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ Requires-Dist: lxml>=3.8
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: description-content-type
39
+ Dynamic: home-page
40
+ Dynamic: keywords
41
+ Dynamic: license
42
+ Dynamic: license-file
43
+ Dynamic: maintainer
44
+ Dynamic: maintainer-email
45
+ Dynamic: project-url
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
49
+
50
+ # python-xmlsec
51
+
52
+ [![image](https://img.shields.io/pypi/v/xmlsec.svg?logo=python&logoColor=white)](https://pypi.python.org/pypi/xmlsec)
53
+ [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/xmlsec/python-xmlsec/master.svg)](https://results.pre-commit.ci/latest/github/xmlsec/python-xmlsec/master)
54
+ [![image](https://github.com/xmlsec/python-xmlsec/actions/workflows/manylinux.yml/badge.svg)](https://github.com/xmlsec/python-xmlsec/actions/workflows/manylinux.yml)
55
+ [![image](https://github.com/xmlsec/python-xmlsec/actions/workflows/macosx.yml/badge.svg)](https://github.com/xmlsec/python-xmlsec/actions/workflows/macosx.yml)
56
+ [![image](https://github.com/xmlsec/python-xmlsec/actions/workflows/linuxbrew.yml/badge.svg)](https://github.com/xmlsec/python-xmlsec/actions/workflows/linuxbrew.yml)
57
+ [![image](https://codecov.io/gh/xmlsec/python-xmlsec/branch/master/graph/badge.svg)](https://codecov.io/gh/xmlsec/python-xmlsec)
58
+ [![Documentation Status](https://img.shields.io/readthedocs/xmlsec/latest?logo=read-the-docs)](https://xmlsec.readthedocs.io/en/latest/?badge=latest)
59
+
60
+ Python bindings for the [XML Security
61
+ Library](https://www.aleksey.com/xmlsec/).
62
+
63
+ ## Documentation
64
+
65
+ Documentation for `xmlsec` can be found at
66
+ [xmlsec.readthedocs.io](https://xmlsec.readthedocs.io/).
67
+
68
+ ## Usage
69
+
70
+ Check the
71
+ [examples](https://xmlsec.readthedocs.io/en/latest/examples.html)
72
+ section in the documentation to see various examples of signing and
73
+ verifying using the library.
74
+
75
+ ## Requirements
76
+
77
+ - `libxml2 >= 2.9.1`
78
+ - `libxmlsec1 >= 1.2.33`
79
+
80
+ ## Install
81
+
82
+ `xmlsec` is available on PyPI:
83
+
84
+ ``` bash
85
+ pip install xmlsec
86
+ ```
87
+
88
+ Depending on your OS, you may need to install the required native
89
+ libraries first:
90
+
91
+ ### Linux (Debian)
92
+
93
+ ``` bash
94
+ apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl
95
+ ```
96
+
97
+ Note: There is no required version of LibXML2 for Ubuntu Precise, so you
98
+ need to download and install it manually.
99
+
100
+ ``` bash
101
+ wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
102
+ tar -xvf libxml2-2.9.1.tar.gz
103
+ cd libxml2-2.9.1
104
+ ./configure && make && make install
105
+ ```
106
+
107
+ ### Linux (CentOS)
108
+
109
+ ``` bash
110
+ yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
111
+ ```
112
+
113
+ ### Linux (Fedora)
114
+
115
+ ``` bash
116
+ dnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
117
+ ```
118
+
119
+ ### Mac
120
+
121
+ ``` bash
122
+ brew install libxml2 libxmlsec1 pkg-config
123
+ ```
124
+
125
+ or
126
+
127
+ ``` bash
128
+ port install libxml2 xmlsec pkgconfig
129
+ ```
130
+
131
+ ### Alpine
132
+
133
+ ``` bash
134
+ apk add build-base openssl libffi-dev openssl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsec
135
+ ```
136
+
137
+ ## Troubleshooting
138
+
139
+ ### Mac
140
+
141
+ If you get any fatal errors about missing `.h` files, update your
142
+ `C_INCLUDE_PATH` environment variable to include the appropriate files
143
+ from the `libxml2` and `libxmlsec1` libraries.
144
+
145
+ ### Windows
146
+
147
+ Starting with 1.3.7, prebuilt wheels are available for Windows, so
148
+ running `pip install xmlsec` should suffice. If you want to build from
149
+ source:
150
+
151
+ 1. Configure build environment, see
152
+ [wiki.python.org](https://wiki.python.org/moin/WindowsCompilers) for
153
+ more details.
154
+
155
+ 2. Install from source dist:
156
+
157
+ ``` bash
158
+ pip install xmlsec --no-binary=xmlsec
159
+ ```
160
+
161
+ ## Building from source
162
+
163
+ 1. Clone the `xmlsec` source code repository to your local computer.
164
+
165
+ ``` bash
166
+ git clone https://github.com/xmlsec/python-xmlsec.git
167
+ ```
168
+
169
+ 2. Change into the `python-xmlsec` root directory.
170
+
171
+ ``` bash
172
+ cd /path/to/xmlsec
173
+ ```
174
+
175
+ 3. Install the project and all its dependencies using `pip`.
176
+
177
+ ``` bash
178
+ pip install .
179
+ ```
180
+
181
+ ## Contributing
182
+
183
+ ### Setting up your environment
184
+
185
+ 1. Follow steps 1 and 2 of the [manual installation
186
+ instructions](#building-from-source).
187
+
188
+ 2. Initialize a virtual environment to develop in. This is done so as
189
+ to ensure every contributor is working with close-to-identical
190
+ versions of packages.
191
+
192
+ ``` bash
193
+ mkvirtualenv xmlsec
194
+ ```
195
+
196
+ The `mkvirtualenv` command is available from `virtualenvwrapper`
197
+ package which can be installed by following
198
+ [link](http://virtualenvwrapper.readthedocs.org/en/latest/install.html#basic-installation).
199
+
200
+ 3. Activate the created virtual environment:
201
+
202
+ ``` bash
203
+ workon xmlsec
204
+ ```
205
+
206
+ 4. Install `xmlsec` in development mode with testing enabled. This will
207
+ download all dependencies required for running the unit tests.
208
+
209
+ ``` bash
210
+ pip install -r requirements-test.txt
211
+ pip install -e "."
212
+ ```
213
+
214
+ ### Running the test suite
215
+
216
+ 1. [Set up your environment](#setting-up-your-environment).
217
+
218
+ 2. Run the unit tests.
219
+
220
+ ``` bash
221
+ pytest tests
222
+ ```
223
+
224
+ 3. Tests configuration
225
+
226
+ Env variable `PYXMLSEC_TEST_ITERATIONS` specifies number of test
227
+ iterations to detect memory leaks.
228
+
229
+ ### Reporting an issue
230
+
231
+ Please attach the output of following information:
232
+
233
+ - version of `xmlsec`
234
+ - version of `libxmlsec1`
235
+ - version of `libxml2`
236
+ - output from the command
237
+
238
+ ``` bash
239
+ pkg-config --cflags xmlsec1
240
+ ```
241
+
242
+ ## License
243
+
244
+ Unless otherwise noted, all files contained within this project are
245
+ licensed under the MIT open source license. See the included `LICENSE`
246
+ file or visit [opensource.org](http://opensource.org/licenses/MIT) for
247
+ more information.
@@ -0,0 +1,11 @@
1
+ xmlsec.cp313-win_arm64.pyd,sha256=sjVR9Q00-ufGIkyZKAo8xfvVfU2LAReCJnYYbsV1lM0,4816384
2
+ xmlsec/__init__.pyi,sha256=MNODYDmsXNYBbWHlig9PlBQ7GkZn5CRAkYEu9vM4J_8,3552
3
+ xmlsec/constants.pyi,sha256=h92wdeXVivIbcGEoAE4KMqFPizNiR7VC8HmtCVv5f1g,4882
4
+ xmlsec/py.typed,sha256=Bxa3A5IphUe3lrTfAq7zA9VqzyOpddaq32o-mnAQ0sA,64
5
+ xmlsec/template.pyi,sha256=tvlKhWjh-1qftl65omCWNwwSp4ItP5raAPghIj1AYFU,1969
6
+ xmlsec/tree.pyi,sha256=KTwWoFnf-XQjqlyBAmut5WEyjZd2P3Cs6Tvsw8A7DuA,704
7
+ xmlsec-1.3.17.dist-info/licenses/LICENSE,sha256=ff8PS7Wwne5bFvri6AEOsb42IEKWpnmQWCTPZVaLnwY,1099
8
+ xmlsec-1.3.17.dist-info/METADATA,sha256=F-jvh83bMZQR97-LDg5UsnIxtbueasHhhL9bzaRA__M,7021
9
+ xmlsec-1.3.17.dist-info/WHEEL,sha256=QL7uMKXoDJRpSwAf1VOVpjVXYPYll2YWTJ-omqdO8-4,101
10
+ xmlsec-1.3.17.dist-info/top_level.txt,sha256=wMJ_ZeZ8UpcV61weMTdYG9hzzYWfyJ2Nf3fmZ4VNqwQ,7
11
+ xmlsec-1.3.17.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-win_arm64
5
+
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Ryan Leckey
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is furnished
10
+ to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ xmlsec
Binary file