cyclonedx.schema.deprecation
============================

.. py:module:: cyclonedx.schema.deprecation

.. autoapi-nested-parse::

   CycloneDX Schema Deprecation Warnings
   =====================================

   This module provides warning classes for deprecated features in CycloneDX schemas.
   Each warning class corresponds to a specific schema version, enabling downstream
   code to catch, filter, or otherwise handle schema-specific deprecation warnings.

   Intended Usage
   --------------

   Downstream consumers can manage warnings using Python's ``warnings`` module.
   Common scenarios include:

   - Filtering by schema version
   - Suppressing warnings in tests or batch processing
   - Logging or reporting deprecation warnings without raising exceptions

   Example
   -------

   .. code-block:: python

       import warnings
       from cyclonedx.schema.deprecation import (
           BaseSchemaDeprecationWarning,
           SchemaDeprecationWarning1Dot7,
       )

       # Suppress all CycloneDX schema deprecation warnings
       warnings.filterwarnings("ignore", category=BaseSchemaDeprecationWarning)

       # Suppress only warnings specific to schema version 1.7
       warnings.filterwarnings("ignore", category=SchemaDeprecationWarning1Dot7)

   Notes
   -----

   - All deprecation warnings inherit from :class:`BaseSchemaDeprecationWarning`.
   - The ``SCHEMA_VERSION`` class variable indicates the CycloneDX schema version
     where the feature became deprecated.
   - These warning classes are designed for downstream **filtering and logging**,
     not for raising exceptions.



Exceptions
----------

.. autoapisummary::

   cyclonedx.schema.deprecation.BaseSchemaDeprecationWarning
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot7
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot6
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot5
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot4
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot3
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot2
   cyclonedx.schema.deprecation.SchemaDeprecationWarning1Dot1


Module Contents
---------------

.. py:exception:: BaseSchemaDeprecationWarning

   Bases: :py:obj:`DeprecationWarning`, :py:obj:`abc.ABC`


   Base class for warnings about deprecated schema features.


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[cyclonedx.schema.SchemaVersion]


.. py:exception:: SchemaDeprecationWarning1Dot7

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.7


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_7]]


.. py:exception:: SchemaDeprecationWarning1Dot6

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.6


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_6]]


.. py:exception:: SchemaDeprecationWarning1Dot5

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.5


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_5]]


.. py:exception:: SchemaDeprecationWarning1Dot4

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.4


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_4]]


.. py:exception:: SchemaDeprecationWarning1Dot3

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.3


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_3]]


.. py:exception:: SchemaDeprecationWarning1Dot2

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.2


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_2]]


.. py:exception:: SchemaDeprecationWarning1Dot1

   Bases: :py:obj:`BaseSchemaDeprecationWarning`


   Class for warnings about deprecated schema features in CycloneDX 1.1


   .. py:attribute:: SCHEMA_VERSION
      :type:  ClassVar[Literal[cyclonedx.schema.SchemaVersion.V1_1]]


