Skip to content

jaraco/jaraco.context

Folders and files

NameName
Last commit message
Last commit date

Latest commit

141ecd2 · Feb 26, 2025
Feb 26, 2025
Sep 11, 2024
Aug 20, 2024
Aug 8, 2024
Jun 16, 2022
Oct 25, 2024
Feb 24, 2025
Apr 11, 2023
Aug 20, 2024
Feb 26, 2025
Jul 8, 2023
Jul 26, 2024
Aug 29, 2024
Oct 29, 2024
Apr 4, 2024
Feb 26, 2025
Jun 21, 2023
Aug 31, 2024

Repository files navigation

tests Ruff https://readthedocs.org/projects/jaracocontext/badge/?version=latest https://img.shields.io/badge/skeleton-2025-informational https://tidelift.com/badges/package/pypi/jaraco.context

Highlights

See the docs linked from the badge above for the full details, but here are some features that may be of interest.

  • ExceptionTrap provides a general-purpose wrapper for trapping exceptions and then acting on the outcome. Includes passes and raises decorators to replace the result of a wrapped function by a boolean indicating the outcome of the exception trap. See this keyring commit for an example of it in production.
  • suppress simply enables contextlib.suppress as a decorator.
  • on_interrupt is a decorator used by CLI entry points to affect the handling of a KeyboardInterrupt. Inspired by Lucretiel/autocommand#18.
  • pushd is similar to pytest's monkeypatch.chdir or path's default context, changes the current working directory for the duration of the context.
  • tarball will download a tarball, extract it, change directory, yield, then clean up after. Convenient when working with web assets.
  • null is there for those times when one code branch needs a context and the other doesn't; this null context provides symmetry across those branches.

For Enterprise

Available as part of the Tidelift Subscription.

This project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.

Learn more.