Pyxb

Latest version: v1.2.6

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

1.2.0

This is a beta release intended to allow independent verification that the new
content model works. It is released on SourceForge, but will not be made
available through PyPI until such verification is satisfactory.

Key feature of the release:

- Use of an advanced content model which provides more accurate validation and
:ref:`much better diagnostics <validating>` when validation fails.

- Elimination of support for Python 2.4 and 2.5 (necessary to ease the path to
a future Python3 implementation of PyXB).

- Complete rework of the exceptions that normally arise when using binding
instances. These exceptions now provide information through attributes
rather than a text message.

The following reported `defects/enhancements
<http://sourceforge.net/p/pyxb/tickets/>`_ have been addressed:

- Improved diagnostics. :ticket:`26`, :ticket:`75`
- Correct handling of schema where greedy processing fails. :ticket:`112`,
:ticket:`133`
- Elements and attributes in generated bindings are emitted in a deterministic
order sorted by schema and location within schema, to ensure deterministic
processing and reduce variation between bindings when generation is
repeated. :ticket:`164`
- Make documentation annotations from schema available as documentation
strings for the generated complex type bindings. :ticket:`79`
- Update OpenGIS bindings to `use W3C XLink schema
<http://www.ogcnetwork.net/node/1829>`_. :ticket:`165`

1.1.x
=====

The 1.1.x release series entered maintenance mode with release 1.1.5. It is
unlikely that further releases will occur, though critical bugs fixes may be
made available in the `release branch
<http://pyxb.git.sourceforge.net/git/gitweb.cgi?p=pyxb/pyxb;a=shortlog;h=refs/heads/pyxb-1.1/next>`_.
Bugs reported against 1.1.5 will generally be fixed in the 1.2.x series.

1.1.5

This is a maintenance release to finalize the 1.1.x series before starting the
1.2.x series.

The following reported `defects/enhancements
<http://sourceforge.net/p/pyxb/tickets/>`_ have been addressed:

- The standard Python logging module is now used. :ticket:`17`,
:ticket:`159`, :ticket:`157`
- The potential for changing binding style support has been removed.
:ticket:`82`
- PyPI/setuptools support has been fixed (again). :ticket:`130`
- Unit test setup/teardown has been reviewed. :ticket:`149`
- utf-8 is now used in all PyXB source files. :ticket:`151`
- Preserve namespace mappings in deep-cloned instances. :ticket:`155`
- Fix problems revealed by cython and pyflakes. :ticket:`156`, :ticket:`167`
- User contributions from Jon Foster, with the exception of windows test
scripts, have been incorporated. :ticket:`157`
- Correct issues in generator function to retrieve command line.
:ticket:`161`
- Restore content of ExtraContentError exception. :ticket:`163`
- Warn rather than abort when apparently redundant schema are included.
:ticket:`169`

1.1.4

Key features of the release:

- A large number of bug fixes, especially in the area of internationalization.
Naive uses of unicode have mostly been eliminated.
- Corrections and improvements to date and time-related types, especially with
respect to timezones.
- More namespaces have been added in the :ref:`common <bundle_common>`,
:ref:`WS-* <bundle_wssplat>`, and :ref:`OpenGIS <bundle_opengis>` bundles.
- This release eliminates the separate packages for different bundles; all
bundles and documentation except for OpenGIS are incorporated into the
release file. OpenGIS is present but must be built manually; see
:ref:`OpenGIS <bundle_opengis>`

Examples have been added:

- ``examples/customization`` shows advanced customization, including injecting
behavior into binding classes corresponding to types from which other XML
types are extended or restricted. It also demonstrates how to introspect
the bindings within a module, automating much of the process of extending
multiple bindings with the same functionality.

- ``examples/unicode_jp`` demonstrates internationalization features including
the ability to intercept PyXB's construction of Python identifiers from XML
identifiers to produce meaningful identifiers when the schema language is
not compatible with the Python 2 requirement that identifiers be ASCII.

The following reported `defects/enhancements
<http://sourceforge.net/p/pyxb/tickets/>`_ have been addressed:

- Timezone support for xsd:date types. :ticket:`102`
- Pattern restriction does not work correctly with Unicode. :ticket:`108`
- bad unvalidated generation with simple list. :ticket:`110`
- Make simpleType CF_Enumeration iterable. :ticket:`111`
- toxml fails when wildcard is in unrecognized namespace. :ticket:`114`
- Problem with timedelta to duration conversion. :ticket:`115`
- Simple-typed elements accept any attributes. :ticket:`116`
- attributes are validated regardless of pyxb.RequireValidWhenParsing. :ticket:`117`
- unable to resolve with absent namespace. :ticket:`119`
- module CreateFromDocument ignores default_namespace. :ticket:`120`
- PyXB elementary data types do not play well with copy/pickling/.... :ticket:`121`
- PxXB should allow to assign None to optional elements and attributes. :ticket:`122`
- unbound wildcard element toxml() fails. :ticket:`123`
- misapplied allow_builtin_generation keyword in Generator. :ticket:`124`
- attributes are not validated regardless of pyxb.RequireValidWhenGenerating. :ticket:`126`
- dateTime objects must be timezone-aware. :ticket:`127`
- most lexical representations for reduced dates wrong. :ticket:`128`
- incorrect timezone adjustment from python values. :ticket:`129`
- validate processing of unicode in assignments and documents. :ticket:`131`
- Crash in PyXB when attempting to retrieve Unicode value from exception. :ticket:`132`
- Name, NMTOKEN, NCName wrong validation regexes. :ticket:`134`
- opengis/scripts/genbind removes all user files. :ticket:`135`
- preserve timezone in processing. :ticket:`136`
- wildcards rejected when validation disabled during parsing. :ticket:`137`
- xsd.dateTime loses microsecond precision. :ticket:`138`
- support alternative XML parsers. :ticket:`139`
- need regular way to replace MakeIdentifier. :ticket:`141`
- Document advanced customization. :ticket:`142`
- cleanup OpenGIS schema bundle. :ticket:`143`
- toxml needs encoding support. :ticket:`144`
- mark encoding in generated output. :ticket:`146`
- domutils references unqualified PyXB exceptions. :ticket:`148`

1.1.3

General cleanup, finish up a few previously unsupported datatypes.

- Correct extension of a simple type with enumeration restrictions.
:ticket:`89`

- Use the Python string type as the basis for `xs:hexBinary
<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/hexBinary>`_.
:ticket:`90`

- Support ``+`` in ``PYXB_ARCHIVE_PATH`` like the documentation says.
:ticket:`92`

- Correct exception reference. :ticket:`93`

- Correct handling of the `ur-type
<http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/key-urType>`_. :ticket:`94`

- Automatically provide an `xsi:type <http://www.w3.org/TR/xmlschema-1/xsi_type>`_
attribute when the schema uses the ur-type. :ticket:`95`

- Implement `xs:base64binary
<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/base64Binary>`_.
:ticket:`83`, :ticket:`96`

- Fix pickling and URI path issues on Windows. :ticket:`97`, :ticket:`98`

- Correct extensions that involve wildcards. :ticket:`100`

- Do a better job resolving circular dependencies, and don't try to write two
namespace groups to the same binding file. :ticket:`104`, :ticket:`105`

- Add a bundle for :ref:`Security Assertion Markup Language <bundle_saml20>`.
Thanks to Michael van der Westhuizen for providing this (sixteen months
ago). :ticket:`106`

- Avoid overwrite of Python `built-in constants
<http://docs.python.org/library/constants.html>`_, including ``None``,
``True``, and ``False``. :ticket:`107`

1.1.2

Complete replacement of the model group portion of the content model. The
NFA-to-DFA approach is gone. The resulting system does a better job in less
space and significantly faster: 30% faster on the standard tmsxtvd test,
orders of magnitude on documents with large sequences of optional elements.

Note: A couple unit tests fail due to incidental reasons that will be
addressed when fixing :ticket:`75`. Also, the architecture documentation for
the validation portion of the content model is completely out of date.

- Handle sequences of optional elements more effectively. :ticket:`33`

- Correct multi-step attribute restriction/extension. :ticket:`80`

- Support prefix rewrite for schema location URIs. :ticket:`81`

- Fix syntax error generating wildcard namespace constraints. :ticket:`84`

- Support whitespace validation bypass in simple type definitions. :ticket:`85`

1.1.1

Major feature is significantly improved ability to determine what content is
not acceptable to the validating parser, and where it can be found in the
document. See :ref:`invalid-content`.

Also, using keyword parameters in binding instance constructors will now raise
an :py:obj:`pyxb.exceptions_.ExtraContentError` in the case where the keyword does not
correspond to the PyXB-generated identifier associated with an attribute or
element of the class being instantiated.

- Eliminate complaints about reference to deprecated :mod:`sha` module in Python
2.6.

- Fix assorted problems with mixtures of :ref:`pyxbgen--binding-root`,
:ref:`pyxbgen--module-prefix`, and :ref:`pyxbgen--write-for-customization`.
:ticket:`64`, :ticket:`65`

- Eliminate unnecessary attempts to download schema for builtin namespaces.
:ticket:`63`

- Avoid assertion failure when provided schema location's content looks a
little, but not enough, like a schema document. :ticket:`72`

- References to declarations in other namespaces are now calculated locally to
the module, rather than cached under the expectation the name is valid
everywhere. :ticket:`73`

- Imposed consistency on behavior when document root element is not
recognized. :ticket:`74`

- Partial implementation of improved error data stored in exceptions.
:ticket:`75`

- Detect invalid keywords in instance constructor calls. :ticket:`76`

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.