8th day of python challenges 111-117

This commit is contained in:
abd.shallal
2019-08-04 15:26:35 +03:00
parent b04c1b055f
commit 627802c383
3215 changed files with 760227 additions and 491 deletions

View File

@@ -0,0 +1,152 @@
Metadata-Version: 2.1
Name: lazy-object-proxy
Version: 1.4.1
Summary: A fast and thorough lazy object proxy.
Home-page: https://github.com/ionelmc/python-lazy-object-proxy
Author: Ionel Cristian Mărieș
Author-email: contact@ionelmc.ro
License: BSD 2-Clause License
Project-URL: Documentation, https://python-lazy-object-proxy.readthedocs.io/
Project-URL: Changelog, https://python-lazy-object-proxy.readthedocs.io/en/latest/changelog.html
Project-URL: Issue Tracker, https://github.com/ionelmc/python-lazy-object-proxy/issues
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
========
Overview
========
A fast and thorough lazy object proxy.
* Free software: BSD license
Note that this is based on `wrapt`_'s ObjectProxy with one big change: it calls a function the first time the proxy object is
used, while `wrapt.ObjectProxy` just forwards the method calls to the target object.
In other words, you use `lazy-object-proxy` when you only have the object way later and you use `wrapt.ObjectProxy` when you
want to override few methods (by subclassing) and forward everything else to the target object.
Example::
import lazy_object_proxy
def expensive_func():
from time import sleep
print('starting calculation')
# just as example for a very slow computation
sleep(2)
print('finished calculation')
# return the result of the calculation
return 10
obj = lazy_object_proxy.Proxy(expensive_func)
# function is called only when object is actually used
print(obj) # now expensive_func is called
print(obj) # the result without calling the expensive_func
Installation
============
::
pip install lazy-object-proxy
Documentation
=============
https://python-lazy-object-proxy.readthedocs.io/
Development
===========
To run the all tests run::
tox
Acknowledgements
================
This project is based on some code from `wrapt`_ as you can see in the git history.
.. _wrapt: https://github.com/GrahamDumpleton/wrapt
Changelog
=========
1.4.1 (2019-05-10)
------------------
* Fixed wheels being built with ``-coverage`` cflags. No more issues about bogus ``cext.gcda`` files.
* Removed useless C file from wheels.
* Changed ``setup.py`` to use setuptools-scm.
1.4.0 (2019-05-05)
------------------
* Fixed ``__mod__`` for the slots backend. Contributed by Ran Benita in
`#28 <https://github.com/ionelmc/python-lazy-object-proxy/pull/28>`_.
* Dropped support for Python 2.6 and 3.3. Contributed by "hugovk" in
`#24 <https://github.com/ionelmc/python-lazy-object-proxy/pull/24>`_.
1.3.1 (2017-05-05)
------------------
* Fix broken release (``sdist`` had a broken ``MANIFEST.in``).
1.3.0 (2017-05-02)
------------------
* Speed up arithmetic operations involving ``cext.Proxy`` subclasses.
1.2.2 (2016-04-14)
------------------
* Added `manylinux <https://www.python.org/dev/peps/pep-0513/>`_ wheels.
* Minor cleanup in readme.
1.2.1 (2015-08-18)
------------------
* Fix a memory leak (the wrapped object would get bogus references). Contributed by Astrum Kuo in
`#10 <https://github.com/ionelmc/python-lazy-object-proxy/pull/10>`_.
1.2.0 (2015-07-06)
------------------
* Don't instantiate the object when __repr__ is called. This aids with debugging (allows one to see exactly in
what state the proxy is).
1.1.0 (2015-07-05)
------------------
* Added support for pickling. The pickled value is going to be the wrapped object *without* any Proxy container.
* Fixed a memory management issue in the C extension (reference cycles weren't garbage collected due to improper
handling in the C extension). Contributed by Alvin Chow in
`#8 <https://github.com/ionelmc/python-lazy-object-proxy/pull/8>`_.
1.0.2 (2015-04-11)
-----------------------------------------
* First release on PyPI.

View File

@@ -0,0 +1,18 @@
lazy_object_proxy-1.4.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
lazy_object_proxy-1.4.1.dist-info/METADATA,sha256=McTpwZIfT7BEPP9wYm7w9wtNot9nb2i9eBpDgY2Fp-w,4646
lazy_object_proxy-1.4.1.dist-info/RECORD,,
lazy_object_proxy-1.4.1.dist-info/WHEEL,sha256=d2ILPScH-y2UwGxsW1PeA2TT-KW0Git4AJ6LeOK8sQo,109
lazy_object_proxy-1.4.1.dist-info/top_level.txt,sha256=UNH-FQB-j_8bYqPz3gD90kHvaC42TQqY0thHSnbaa0k,18
lazy_object_proxy/__init__.py,sha256=m-K2IQ05U03VBD2Ehiz2phyf_ETDWJaWMaGu78gYS44,410
lazy_object_proxy/__pycache__/__init__.cpython-36.pyc,,
lazy_object_proxy/__pycache__/_version.cpython-36.pyc,,
lazy_object_proxy/__pycache__/compat.cpython-36.pyc,,
lazy_object_proxy/__pycache__/simple.cpython-36.pyc,,
lazy_object_proxy/__pycache__/slots.cpython-36.pyc,,
lazy_object_proxy/__pycache__/utils.cpython-36.pyc,,
lazy_object_proxy/_version.py,sha256=tsKQsBFygMAGS4y7Oe8KQDI6cilFB3KhdJpdQlyl6zA,116
lazy_object_proxy/cext.cpython-36m-x86_64-linux-gnu.so,sha256=zZrnfezRs5r27Fq2hhYx7HmVVx8O5CBtMqEvo447WbY,138357
lazy_object_proxy/compat.py,sha256=DY3HbKwbrbeKY6tkXRNRLJ1go6HJb8HUwWqyw3T5g_g,196
lazy_object_proxy/simple.py,sha256=guacy8_QbJeBs7vXpPPVoDVkDNXOZ86xyS1dtAeKvOs,8216
lazy_object_proxy/slots.py,sha256=9DilWUINScpZN26NwmRtscTtaqaEwtCfIoriLq5Nz24,11359
lazy_object_proxy/utils.py,sha256=x4XTrtlp_mDTWO_EOq_ILIOv2Qol8RLMnRm5M8l3OfU,291

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.31.1)
Root-Is-Purelib: false
Tag: cp36-cp36m-manylinux1_x86_64

View File

@@ -0,0 +1 @@
lazy_object_proxy