wrapt 2.0.0rc4__cp313-cp313-musllinux_1_2_riscv64.whl → 2.0.1__cp313-cp313-musllinux_1_2_riscv64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,198 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: wrapt
3
- Version: 2.0.0rc4
4
- Summary: Module for decorators, wrappers and monkey patching.
5
- Home-page: https://github.com/GrahamDumpleton/wrapt
6
- Author: Graham Dumpleton
7
- Author-email: Graham Dumpleton <Graham.Dumpleton@gmail.com>
8
- License: Copyright (c) 2013-2025, Graham Dumpleton
9
- All rights reserved.
10
-
11
- Redistribution and use in source and binary forms, with or without
12
- modification, are permitted provided that the following conditions are met:
13
-
14
- * Redistributions of source code must retain the above copyright notice, this
15
- list of conditions and the following disclaimer.
16
-
17
- * Redistributions in binary form must reproduce the above copyright notice,
18
- this list of conditions and the following disclaimer in the documentation
19
- and/or other materials provided with the distribution.
20
-
21
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
- POSSIBILITY OF SUCH DAMAGE.
32
-
33
- Project-URL: Homepage, https://github.com/GrahamDumpleton/wrapt
34
- Project-URL: Bug Tracker, https://github.com/GrahamDumpleton/wrapt/issues/
35
- Project-URL: Changelog, https://wrapt.readthedocs.io/en/latest/changes.html
36
- Project-URL: Documentation, https://wrapt.readthedocs.io/
37
- Keywords: wrapper,proxy,decorator
38
- Platform: any
39
- Classifier: Development Status :: 5 - Production/Stable
40
- Classifier: Programming Language :: Python :: 3
41
- Classifier: Programming Language :: Python :: 3.8
42
- Classifier: Programming Language :: Python :: 3.9
43
- Classifier: Programming Language :: Python :: 3.10
44
- Classifier: Programming Language :: Python :: 3.11
45
- Classifier: Programming Language :: Python :: 3.12
46
- Classifier: Programming Language :: Python :: 3.13
47
- Classifier: Programming Language :: Python :: 3.14
48
- Classifier: Programming Language :: Python :: Implementation :: CPython
49
- Classifier: Programming Language :: Python :: Implementation :: PyPy
50
- Requires-Python: >=3.8
51
- Description-Content-Type: text/markdown
52
- License-File: LICENSE
53
- Provides-Extra: dev
54
- Requires-Dist: pytest; extra == "dev"
55
- Requires-Dist: setuptools; extra == "dev"
56
- Dynamic: license-file
57
-
58
- # wrapt
59
-
60
- [![PyPI](https://img.shields.io/pypi/v/wrapt.svg?logo=python&cacheSeconds=3600)](https://pypi.python.org/pypi/wrapt)
61
- [![Documentation](https://img.shields.io/badge/docs-wrapt.readthedocs.io-blue.svg)](https://wrapt.readthedocs.io/)
62
- [![License](https://img.shields.io/badge/license-BSD-green.svg)](LICENSE)
63
-
64
- A Python module for decorators, wrappers and monkey patching.
65
-
66
- ## Overview
67
-
68
- The **wrapt** module provides a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions.
69
-
70
- The **wrapt** module focuses very much on correctness. It goes way beyond existing mechanisms such as `functools.wraps()` to ensure that decorators preserve introspectability, signatures, type checking abilities etc. The decorators that can be constructed using this module will work in far more scenarios than typical decorators and provide more predictable and consistent behaviour.
71
-
72
- To ensure that the overhead is as minimal as possible, a C extension module is used for performance critical components. An automatic fallback to a pure Python implementation is also provided where a target system does not have a compiler to allow the C extension to be compiled.
73
-
74
- ## Features
75
-
76
- - **Universal decorators** that work with functions, methods, classmethods, staticmethods, and classes
77
- - **Transparent object proxies** for advanced wrapping scenarios
78
- - **Monkey patching utilities** for safe runtime modifications
79
- - **C extension** for optimal performance with Python fallback
80
- - **Comprehensive introspection preservation** (signatures, annotations, etc.)
81
- - **Thread-safe decorator implementations**
82
-
83
- ## Installation
84
-
85
- ```bash
86
- pip install wrapt
87
- ```
88
-
89
- ## Quick Start
90
-
91
- ### Basic Decorator
92
-
93
- ```python
94
- import wrapt
95
-
96
- @wrapt.decorator
97
- def pass_through(wrapped, instance, args, kwargs):
98
- return wrapped(*args, **kwargs)
99
-
100
- @pass_through
101
- def function():
102
- pass
103
- ```
104
-
105
- ### Decorator with Arguments
106
-
107
- ```python
108
- import wrapt
109
-
110
- def with_arguments(myarg1, myarg2):
111
- @wrapt.decorator
112
- def wrapper(wrapped, instance, args, kwargs):
113
- print(f"Arguments: {myarg1}, {myarg2}")
114
- return wrapped(*args, **kwargs)
115
- return wrapper
116
-
117
- @with_arguments(1, 2)
118
- def function():
119
- pass
120
- ```
121
-
122
- ### Universal Decorator
123
-
124
- ```python
125
- import inspect
126
- import wrapt
127
-
128
- @wrapt.decorator
129
- def universal(wrapped, instance, args, kwargs):
130
- if instance is None:
131
- if inspect.isclass(wrapped):
132
- # Decorator was applied to a class
133
- print("Decorating a class")
134
- else:
135
- # Decorator was applied to a function or staticmethod
136
- print("Decorating a function")
137
- else:
138
- if inspect.isclass(instance):
139
- # Decorator was applied to a classmethod
140
- print("Decorating a classmethod")
141
- else:
142
- # Decorator was applied to an instancemethod
143
- print("Decorating an instance method")
144
-
145
- return wrapped(*args, **kwargs)
146
- ```
147
-
148
- ## Documentation
149
-
150
- For comprehensive documentation, examples, and advanced usage patterns, visit:
151
-
152
- **[wrapt.readthedocs.io](https://wrapt.readthedocs.io/)**
153
-
154
- ## Supported Python Versions
155
-
156
- - Python 3.8+
157
- - CPython
158
- - PyPy
159
-
160
- ## Contributing
161
-
162
- We welcome contributions! This is a pretty casual process - if you're interested in suggesting changes, improvements, or have found a bug, please reach out via the [GitHub issue tracker](https://github.com/GrahamDumpleton/wrapt/issues/). Whether it's a small fix, new feature idea, or just a question about how something works, feel free to start a discussion.
163
-
164
- Please note that wrapt is now considered a mature project. We're not expecting any significant new developments or major feature additions. The primary focus is on ensuring that the package continues to work correctly with newer Python versions and maintaining compatibility as the Python ecosystem evolves.
165
-
166
- ### Testing
167
-
168
- For information about running tests, including Python version-specific test conventions and available test commands, see [TESTING.md](TESTING.md).
169
-
170
- ## License
171
-
172
- This project is licensed under the BSD License - see the [LICENSE](LICENSE) file for details.
173
-
174
- ## Links
175
-
176
- - **Documentation**: https://wrapt.readthedocs.io/
177
- - **PyPI**: https://pypi.python.org/pypi/wrapt
178
- - **Issues**: https://github.com/GrahamDumpleton/wrapt/issues/
179
- - **Changelog**: https://wrapt.readthedocs.io/en/latest/changes.html
180
-
181
- ## Related Blog Posts
182
-
183
- This repository also contains a series of blog posts explaining the design and implementation of wrapt:
184
-
185
- - [How you implemented your Python decorator is wrong](blog/01-how-you-implemented-your-python-decorator-is-wrong.md)
186
- - [The interaction between decorators and descriptors](blog/02-the-interaction-between-decorators-and-descriptors.md)
187
- - [Implementing a factory for creating decorators](blog/03-implementing-a-factory-for-creating-decorators.md)
188
- - [Implementing a universal decorator](blog/04-implementing-a-universal-decorator.md)
189
- - [Decorators which accept arguments](blog/05-decorators-which-accept-arguments.md)
190
- - [Maintaining decorator state using a class](blog/06-maintaining-decorator-state-using-a-class.md)
191
- - [The missing synchronized decorator](blog/07-the-missing-synchronized-decorator.md)
192
- - [The synchronized decorator as context manager](blog/08-the-synchronized-decorator-as-context-manager.md)
193
- - [Performance overhead of using decorators](blog/09-performance-overhead-of-using-decorators.md)
194
- - [Performance overhead when applying decorators to methods](blog/10-performance-overhead-when-applying-decorators-to-methods.md)
195
- - [Safely applying monkey patches in Python](blog/11-safely-applying-monkey-patches-in-python.md)
196
- - [Using wrapt to support testing of software](blog/12-using-wrapt-to-support-testing-of-software.md)
197
- - [Ordering issues when monkey patching in Python](blog/13-ordering-issues-when-monkey-patching-in-python.md)
198
- - [Automatic patching of Python applications](blog/14-automatic-patching-of-python-applications.md)
@@ -1,18 +0,0 @@
1
- wrapt/__init__.py,sha256=M64H_fZg1p2engeI13CfVx9uyykzlDlo9U4Vrxz98pM,1528
2
- wrapt/__init__.pyi,sha256=ADqoiNzvnlsC0w_RX0SaYj2DU3HHAYhNhl1hcRhM68s,9212
3
- wrapt/__wrapt__.py,sha256=R_9YA8t3EpkAiIqBilrS4Qf5O1Q6Fs8xHzohrCjomAE,1368
4
- wrapt/_wrappers.c,sha256=Hdw6QEGd5L_dnBlE9T38ogPnzXQeH2WNMTrFo-tMiXc,106549
5
- wrapt/_wrappers.cpython-313-riscv64-linux-musl.so,sha256=Gh2Y_qdiZjwF_FD98loUVJN-o0-A8vwTWOGUkKwtHbc,187896
6
- wrapt/arguments.py,sha256=q4bxH7GoCXhTCgxy-AEyvSnOq0ovMSHjN7ru3HWxlhA,2548
7
- wrapt/decorators.py,sha256=ePWsg43Q5uHYSBGvbybwIZpsYdIhLGX9twbGZ7ygous,21091
8
- wrapt/importer.py,sha256=E16XxhomZuX5jM_JEH4ZO-MYpNou1t5RZLJHWLCtsgM,12135
9
- wrapt/patches.py,sha256=WJAKwOEeozpqgLAq_BlEu2HWbjMg9yaR65szi8J4GRQ,9907
10
- wrapt/proxies.py,sha256=3yAXZfRWCKR6Ca9as2VaKk8OEG46Tr3d_6E1bGnrCYA,9629
11
- wrapt/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
12
- wrapt/weakrefs.py,sha256=5HehYcKOKsRIghxLwnCZ4EJ67rhc0z1GH__pRILRLDc,4630
13
- wrapt/wrappers.py,sha256=EK269iRll4dAHnKAl_9gcr0XBVDvArxxAukF1Tctjaw,32554
14
- wrapt-2.0.0rc4.dist-info/METADATA,sha256=cS3WKyATU8s6BsqB76e8GCJkUw3v_UmYSvFBbVTre_Y,8831
15
- wrapt-2.0.0rc4.dist-info/WHEEL,sha256=4lZF3a-99kvbRXRFbWdTzxXghO36qYYRQD9SUY4TKXE,113
16
- wrapt-2.0.0rc4.dist-info/top_level.txt,sha256=Jf7kcuXtwjUJMwOL0QzALDg2WiSiXiH9ThKMjN64DW0,6
17
- wrapt-2.0.0rc4.dist-info/RECORD,,
18
- wrapt-2.0.0rc4.dist-info/licenses/LICENSE,sha256=mrxBqmuGkMB-3ptEt8YjPQFCkO0eO1zMN-KSKVtdBY8,1304