• 
      

    Add the initial packaging and classes for housekeeping.

    Review Request #13011 — Created May 4, 2023 and submitted — Latest diff uploaded

    Information

    housekeeping
    master

    Reviewers

    Housekeeping is a Python package designed to make it easy for projects
    to mark consumed code as deprecated or pending deprecation, with helpful
    instructions for consumers using deprecated functionality.

    It's built with the lessons we learned in Review Board, Djblets, and
    RBTools.

    There are two categories of warnings:

    • Deprecation warnings, which mark code as being deprecated and
      scheduled for removal in a specific upcoming version.

    • Pending deprecation warnings, which mark code as being available but
      scheduled to be deprecated in an unknown future version. Projects
      should later transition these to full deprecation warnings.

    Deprecation warnings are backed by BaseRemovedInWarning, and
    pending deprecation warnings are backed by BasePendingRemovalWarning.

    Projects should subclass these to make their own base classes, filling
    in the product field to specify their project's name. Subclasses of
    their "removed in" deprecation warning class should then be created for
    any versions in which functionality will be deprecated.

    These classes can be passed to any Housekeeping function. Suitable
    deprecation messages will be generated automatically.

    Projects can also emit deprecation warnings themselves through the
    .warn() function on the class.

    This change introduces the base packaging, development setup, and base
    warning classes. Upcoming changes will introduce deprecation helpers
    that work with these classes.

    Tested packaging and installing.

    Tested with in-progress deprecation helpers.

    Viewed the README in a GitHub-compatible Markdown viewer.

    Commits

    Files