Skip to main content

Useful decorators and context managers

Project description

https://img.shields.io/pypi/v/jaraco.context.svg https://img.shields.io/pypi/pyversions/jaraco.context.svg 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jaraco_context-6.1.2.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaraco_context-6.1.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file jaraco_context-6.1.2.tar.gz.

File metadata

  • Download URL: jaraco_context-6.1.2.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for jaraco_context-6.1.2.tar.gz
Algorithm Hash digest
SHA256 f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3
MD5 3832a9304c95b6a209bd218411c6d696
BLAKE2b-256 af504763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4

See more details on using hashes here.

File details

Details for the file jaraco_context-6.1.2-py3-none-any.whl.

File metadata

  • Download URL: jaraco_context-6.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for jaraco_context-6.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535
MD5 d1b58cd7ef0e98b36cd9cc0214525b60
BLAKE2b-256 f258bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page