• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. Djblets 5.x
    2. Version 5.x
    3. Version 4.x
    4. Version 3.x
    5. Version 2.x
    6. Version 2.0
    7. Version 1.0
    8. Version 0.9
    9. Djblets Documentation
    10. Module and Class References
    11. djblets.deprecation
  • Home
  • Guides
  • Avatar Services Guides
  • Writing Avatar Services
  • Extension Guides
  • Writing Extensions
  • Testing Extensions
  • Feature Checks Guides
  • Introduction to Feature Checks
  • Writing Features
  • Writing Feature Checkers
  • Testing with Feature Checks
  • Integration Guides
  • Supporting Integrations
  • Writing Integrations
  • Privacy Compliance Guides
  • Getting and Checking Consent
  • Working with Personally Identifiable Information
  • Service Integrations
  • reCAPTCHA Guides
  • Using reCAPTCHA
  • Registries Guides
  • Writing Registries
  • Web API Guides
  • Writing Web API Resources
  • Adding OAuth2 Support
  • Module and Class References
  • djblets
  • djblets.deprecation
  • djblets.auth.forms
  • djblets.auth.ratelimit
  • djblets.auth.signals
  • djblets.auth.util
  • djblets.auth.views
  • djblets.avatars.errors
  • djblets.avatars.forms
  • djblets.avatars.registry
  • djblets.avatars.services
  • djblets.avatars.services.base
  • djblets.avatars.services.fallback
  • djblets.avatars.services.file_upload
  • djblets.avatars.services.gravatar
  • djblets.avatars.services.url
  • djblets.avatars.settings
  • djblets.cache.backend
  • djblets.cache.backend_compat
  • djblets.cache.context_processors
  • djblets.cache.errors
  • djblets.cache.forwarding_backend
  • djblets.cache.serials
  • djblets.cache.synchronizer
  • djblets.conditions
  • djblets.conditions.choices
  • djblets.conditions.conditions
  • djblets.conditions.errors
  • djblets.conditions.operators
  • djblets.conditions.values
  • djblets.configforms.forms
  • djblets.configforms.mixins
  • djblets.configforms.pages
  • djblets.configforms.registry
  • djblets.configforms.views
  • djblets.datagrid.grids
  • djblets.db.backends.mysql.base
  • djblets.db.fields
  • djblets.db.fields.base64_field
  • djblets.db.fields.comma_separated_values_field
  • djblets.db.fields.counter_field
  • djblets.db.fields.json_field
  • djblets.db.fields.modification_timestamp_field
  • djblets.db.fields.relation_counter_field
  • djblets.db.managers
  • djblets.db.query
  • djblets.db.query_catcher
  • djblets.db.query_comparator
  • djblets.db.validators
  • djblets.extensions.admin
  • djblets.extensions.errors
  • djblets.extensions.extension
  • djblets.extensions.forms
  • djblets.extensions.hooks
  • djblets.extensions.loaders
  • djblets.extensions.manager
  • djblets.extensions.middleware
  • djblets.extensions.models
  • djblets.extensions.packaging
  • djblets.extensions.resources
  • djblets.extensions.settings
  • djblets.extensions.signals
  • djblets.extensions.staticfiles
  • djblets.extensions.testing
  • djblets.extensions.testing.testcases
  • djblets.extensions.urls
  • djblets.extensions.views
  • djblets.extensions.templatetags.djblets_extensions
  • djblets.features
  • djblets.features.checkers
  • djblets.features.decorators
  • djblets.features.errors
  • djblets.features.feature
  • djblets.features.level
  • djblets.features.registry
  • djblets.features.testing
  • djblets.features.templatetags.features
  • djblets.forms.fields
  • djblets.forms.fieldsets
  • djblets.forms.forms
  • djblets.forms.forms.key_value_form
  • djblets.forms.widgets
  • djblets.gravatars
  • djblets.gravatars.templatetags.gravatars
  • djblets.http.middleware
  • djblets.http.responses
  • djblets.integrations.errors
  • djblets.integrations.forms
  • djblets.integrations.hooks
  • djblets.integrations.integration
  • djblets.integrations.manager
  • djblets.integrations.mixins
  • djblets.integrations.models
  • djblets.integrations.urls
  • djblets.integrations.views
  • djblets.log
  • djblets.log.middleware
  • djblets.log.siteconfig
  • djblets.log.urls
  • djblets.log.views
  • djblets.mail.dmarc
  • djblets.mail.message
  • djblets.mail.testing
  • djblets.mail.utils
  • djblets.markdown
  • djblets.markdown.extensions.escape_html
  • djblets.markdown.extensions.wysiwyg
  • djblets.markdown.extensions.wysiwyg_email
  • djblets.pipeline.compilers.es6
  • djblets.pipeline.compilers.less
  • djblets.pipeline.compilers.mixins
  • djblets.pipeline.compilers.rollup
  • djblets.pipeline.compilers.typescript
  • djblets.pipeline.settings
  • djblets.privacy.consent
  • djblets.privacy.consent.base
  • djblets.privacy.consent.common
  • djblets.privacy.consent.errors
  • djblets.privacy.consent.forms
  • djblets.privacy.consent.hooks
  • djblets.privacy.consent.registry
  • djblets.privacy.consent.tracker
  • djblets.privacy.models
  • djblets.privacy.pii
  • djblets.privacy.templatetags.djblets_privacy
  • djblets.recaptcha.mixins
  • djblets.recaptcha.siteconfig
  • djblets.recaptcha.templatetags.djblets_recaptcha
  • djblets.recaptcha.widgets
  • djblets.registries
  • djblets.registries.errors
  • djblets.registries.importer
  • djblets.registries.mixins
  • djblets.registries.registry
  • djblets.registries.signals
  • djblets.secrets
  • djblets.secrets.crypto
  • djblets.secrets.token_generators
  • djblets.secrets.token_generators.base
  • djblets.secrets.token_generators.legacy_sha1
  • djblets.secrets.token_generators.registry
  • djblets.secrets.token_generators.vendor_checksum
  • djblets.siteconfig
  • djblets.siteconfig.admin
  • djblets.siteconfig.context_processors
  • djblets.siteconfig.django_settings
  • djblets.siteconfig.forms
  • djblets.siteconfig.managers
  • djblets.siteconfig.middleware
  • djblets.siteconfig.models
  • djblets.siteconfig.signals
  • djblets.siteconfig.views
  • djblets.template.caches
  • djblets.template.context
  • djblets.template.loaders.conditional_cached
  • djblets.template.loaders.namespaced_app_dirs
  • djblets.testing.decorators
  • djblets.testing.testcases
  • djblets.testing.testrunners
  • djblets.urls.context_processors
  • djblets.urls.decorators
  • djblets.urls.patterns
  • djblets.urls.resolvers
  • djblets.urls.root
  • djblets.urls.staticfiles
  • djblets.util.compat.django.core.cache
  • djblets.util.compat.python.past
  • djblets.util.contextmanagers
  • djblets.util.dates
  • djblets.util.decorators
  • djblets.util.filesystem
  • djblets.util.functional
  • djblets.util.html
  • djblets.util.http
  • djblets.util.humanize
  • djblets.util.json_utils
  • djblets.util.properties
  • djblets.util.serializers
  • djblets.util.symbols
  • djblets.util.templatetags.djblets_deco
  • djblets.util.templatetags.djblets_email
  • djblets.util.templatetags.djblets_forms
  • djblets.util.templatetags.djblets_images
  • djblets.util.templatetags.djblets_js
  • djblets.util.templatetags.djblets_utils
  • djblets.util.typing
  • djblets.util.views
  • djblets.views.generic.base
  • djblets.views.generic.etag
  • djblets.webapi.auth
  • djblets.webapi.auth.backends
  • djblets.webapi.auth.backends.api_tokens
  • djblets.webapi.auth.backends.base
  • djblets.webapi.auth.backends.basic
  • djblets.webapi.auth.backends.oauth2_tokens
  • djblets.webapi.auth.views
  • djblets.webapi.decorators
  • djblets.webapi.encoders
  • djblets.webapi.errors
  • djblets.webapi.fields
  • djblets.webapi.managers
  • djblets.webapi.models
  • djblets.webapi.oauth2_scopes
  • djblets.webapi.resources
  • djblets.webapi.resources.base
  • djblets.webapi.resources.group
  • djblets.webapi.resources.registry
  • djblets.webapi.resources.root
  • djblets.webapi.resources.user
  • djblets.webapi.resources.mixins.api_tokens
  • djblets.webapi.resources.mixins.forms
  • djblets.webapi.resources.mixins.oauth2_tokens
  • djblets.webapi.resources.mixins.queries
  • djblets.webapi.responses
  • djblets.webapi.signals
  • djblets.webapi.testing
  • djblets.webapi.testing.decorators
  • djblets.webapi.testing.testcases
  • General Index
  • Python Module Index
  • Release Notes
  • djblets.deprecation¶

    Support for handling deprecations.

    The version-specific objects in this module are not considered stable between releases, and may be removed at any point.

    Changed in version 4.0: Projects should now use housekeeping to manage their own deprecations, instead of using this module.

    exception BaseRemovedInProductVersionWarning[source]¶

    Bases: BaseRemovedInWarning

    Base class for product deprecation warnings.

    This can be used by consumers of Djblets to provide similar deprecation functionality, making use of deprecation utility functions.

    Deprecated since version 4.0: Consumers should subclass housekeeping.BaseRemovedInWarning instead. This class will be removed in Djblets 6.

    New in version 3.2.

    __annotations__ = {}¶
    exception PendingRemovalInDjbletsWarning[source]¶

    Bases: BasePendingRemovalWarning

    Pending deprecation for code in Djblets.

    New in version 4.0.

    housekeeping_skip_warning = True[source]¶
    product: str = 'Djblets'[source]¶

    The name of the product with the deprecated functionality.

    __annotations__ = {'product': 'str', 'version': 'str', 'version_required': 'bool'}¶
    exception BaseRemovedInDjbletsVersionWarning[source]¶

    Bases: BaseRemovedInProductVersionWarning

    Base class for a Djblets deprecation warning.

    All version-specific deprecation warnings inherit from this, allowing callers to check for Djblets deprecations without being tied to a specific version.

    product: str = 'Djblets'[source]¶

    The name of the product with the deprecated functionality.

    __annotations__ = {'product': 'str', 'version': 'str', 'version_required': 'bool'}¶
    exception RemovedInDjblets60Warning[source]¶

    Bases: BaseRemovedInDjbletsVersionWarning

    Deprecations for features scheduled for removal in Djblets 6.0.

    Note that this class will itself be removed in Djblets 6.0. If you need to check against Djblets deprecation warnings, please see BaseRemovedInDjbletsVersionWarning.

    version: str = '6.0'[source]¶

    The version in which the functionality is expected to be removed.

    __annotations__ = {'product': 'str', 'version': 'str', 'version_required': 'bool'}¶
    exception RemovedInDjblets70Warning[source]¶

    Bases: BaseRemovedInDjbletsVersionWarning

    Deprecations for features scheduled for removal in Djblets 7.0.

    Note that this class will itself be removed in Djblets 7.0. If you need to check against Djblets deprecation warnings, please see BaseRemovedInDjbletsVersionWarning.

    version: str = '7.0'[source]¶

    The version in which the functionality is expected to be removed.

    __annotations__ = {'product': 'str', 'version': 'str', 'version_required': 'bool'}¶
    RemovedInNextDjbletsVersionWarning[source]¶

    An alias for the next release of Djblets where features would be removed.

    deprecated_arg_value(owner_name: str, value: ~typing.Any, old_arg_name: str, new_arg_name: ~typing.Optional[str] = None, warning_cls: ~typing.Type[~housekeeping.base.BaseRemovedInWarning] = <class 'housekeeping.base.BaseRemovedInWarning'>) → LazyObject[source]¶

    Wrap a value in a lazy object to warn when used.

    Deprecated since version 4.0: Consumers should use housekeeping.deprecated_arg_value() instead.

    Changed in version 3.2: Specifying a BaseRemovedInProductVersionWarning subclass will now result in product/version information in the warning message.

    Parameters:
    • owner_name (str) – The name of the owner of this argument.

    • value (object) – The argument value.

    • old_arg_name (str) – The name of the argument that was deprecated.

    • new_arg_name (str, optional) – The optional name of the argument to use in the deprecated argument’s place, if one is available.

    • warning_cls (type, optional) –

      The class to use for the warning. This should be DeprecationWarning, PendingDeprecationWarning, or a subclass of one.

      If a BaseRemovedInProductVersionWarning subclass is provided, the error message will include warning information. This is recommended and may be required in a future version.

    Returns:

    The value wrapped in a lazy object. The first time it is accessed, a warning will be emitted.

    Return type:

    django.utils.functional.SimpleLazyObject

    deprecate_non_keyword_only_args(warning_cls: Type[BaseRemovedInProductVersionWarning], message: Optional[str] = None) → Callable[[_FuncT], _FuncT][source]¶

    Deprecate calls passing keyword-only arguments as positional arguments.

    This decorator allows code transitioning to keyword-only arguments to continue working when passing values as positional arguments.

    Upon the first call, it will record information about the signature of the function and then compare that to any future calls. If any positional argument values are passed to keyword-only arguments, the arguments will be rewritten to work correctly, and a deprecation warning will be emitted.

    Deprecated since version 4.0: Consumers should use housekeeping.deprecate_non_keyword_only_args() instead.

    New in version 3.2.

    Parameters:
    • warning_cls (type) – The specific deprecation warning class to use. This must be a subclass of DeprecationWarning.

    • message (str, optional) – An optional message to use instead of the default.

    Returns:

    The function decorator.

    Return type:

    callable

    Raises:

    AssertionError – The function being called does not provide keyword-only arguments.

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube

    Copyright © 2006-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • BaseRemovedInProductVersionWarning
      • BaseRemovedInProductVersionWarning.__annotations__
    • PendingRemovalInDjbletsWarning
      • PendingRemovalInDjbletsWarning.housekeeping_skip_warning
      • PendingRemovalInDjbletsWarning.product
      • PendingRemovalInDjbletsWarning.__annotations__
    • BaseRemovedInDjbletsVersionWarning
      • BaseRemovedInDjbletsVersionWarning.product
      • BaseRemovedInDjbletsVersionWarning.__annotations__
    • RemovedInDjblets60Warning
      • RemovedInDjblets60Warning.version
      • RemovedInDjblets60Warning.__annotations__
    • RemovedInDjblets70Warning
      • RemovedInDjblets70Warning.version
      • RemovedInDjblets70Warning.__annotations__
    • RemovedInNextDjbletsVersionWarning
    • deprecated_arg_value()
    • deprecate_non_keyword_only_args()