| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- Metadata-Version: 2.4
- Name: jaraco.context
- Version: 6.1.0
- Summary: Useful decorators and context managers
- Author-email: "Jason R. Coombs" <jaraco@jaraco.com>
- License-Expression: MIT
- Project-URL: Source, https://github.com/jaraco/jaraco.context
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Intended Audience :: Developers
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3 :: Only
- Requires-Python: >=3.9
- Description-Content-Type: text/x-rst
- License-File: LICENSE
- Requires-Dist: backports.tarfile; python_version < "3.12"
- Provides-Extra: test
- Requires-Dist: pytest!=8.1.*,>=6; extra == "test"
- Requires-Dist: jaraco.test>=5.6.0; extra == "test"
- Requires-Dist: portend; extra == "test"
- Provides-Extra: doc
- Requires-Dist: sphinx>=3.5; extra == "doc"
- Requires-Dist: jaraco.packaging>=9.3; extra == "doc"
- Requires-Dist: rst.linker>=1.9; extra == "doc"
- Requires-Dist: furo; extra == "doc"
- Requires-Dist: sphinx-lint; extra == "doc"
- Requires-Dist: jaraco.tidelift>=1.4; extra == "doc"
- Provides-Extra: check
- Requires-Dist: pytest-checkdocs>=2.4; extra == "check"
- Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check"
- Provides-Extra: cover
- Requires-Dist: pytest-cov; extra == "cover"
- Provides-Extra: enabler
- Requires-Dist: pytest-enabler>=3.4; extra == "enabler"
- Provides-Extra: type
- Requires-Dist: pytest-mypy>=1.0.1; extra == "type"
- Requires-Dist: mypy<1.19; platform_python_implementation == "PyPy" and extra == "type"
- Dynamic: license-file
- .. image:: https://img.shields.io/pypi/v/jaraco.context.svg
- :target: https://pypi.org/project/jaraco.context
- .. image:: https://img.shields.io/pypi/pyversions/jaraco.context.svg
- .. image:: https://github.com/jaraco/jaraco.context/actions/workflows/main.yml/badge.svg
- :target: https://github.com/jaraco/jaraco.context/actions?query=workflow%3A%22tests%22
- :alt: tests
- .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
- :target: https://github.com/astral-sh/ruff
- :alt: Ruff
- .. image:: https://readthedocs.org/projects/jaracocontext/badge/?version=latest
- :target: https://jaracocontext.readthedocs.io/en/latest/?badge=latest
- .. image:: https://img.shields.io/badge/skeleton-2025-informational
- :target: https://blog.jaraco.com/skeleton
- .. image:: https://tidelift.com/badges/package/pypi/jaraco.context
- :target: https://tidelift.com/subscription/pkg/pypi-jaraco.context?utm_source=pypi-jaraco.context&utm_medium=readme
- 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 <https://github.com/jaraco/keyring/commit/a85a7cbc6c909f8121660ed1f7b487f99a1c2bf7>`_ 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 <https://github.com/Lucretiel/autocommand/issues/18>`_.
- - ``pushd`` is similar to pytest's ``monkeypatch.chdir`` or path's `default context <https://path.readthedocs.io/en/latest/api.html>`_, 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 <https://tidelift.com/subscription/pkg/pypi-jaraco.context?utm_source=pypi-jaraco.context&utm_medium=referral&utm_campaign=github>`_.
|