• 
      

    Add the initial packaging and classes for housekeeping.

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

    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.

    Summary ID
    Add the initial packaging and classes for housekeeping.
    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.
    42d38d8fe5238de4f94dd86420c6dcbe334d5219
    Description From Last Updated

    'typing.TypeVar' imported but unused Column: 1 Error code: F401

    reviewbotreviewbot

    This line needs to be wrapped.

    daviddavid
    Checks run (1 failed, 1 succeeded)
    flake8 failed.
    JSHint passed.

    flake8

    chipx86
    david
    1. 
        
    2. README.md (Diff revision 2)
       
       
      Show all issues

      This line needs to be wrapped.

    3. 
        
    chipx86
    Review request changed
    Status:
    Completed