An example package. Replace this with a proper project description. Generated with https://github.com/ionelmc/cookiecutter-pylibrary
Free software: BSD license
Installation
pip install lazy-object-proxy
Documentation
Development
To run the all tests run:
tox
Benchmarks
The tested implementations:
lazy_object_proxy.slots.Proxy, available as lazy_object_proxy.Proxy if the C extension is not available.
lazy_object_proxy.cext.Proxy, available as lazy_object_proxy.Proxy.
objproxies - fork of PJE’s ProxyTypes with Python 3 support. [1]
SimpleLazyObject from Django. [1]
lazy_object_proxy.simple.Proxy - uses the non-data descriptor trick. [1]
For Python 2.7:
------ benchmark: min 5 rounds (of min 25.00us), 5.00s max time, timer: time.clock ----- Name (time in ns) Min Max Mean StdDev Rounds Iterations ---------------------------------------------------------------------------------------- test_perf[slots] 705.3837 3091.0072 720.4805 27.2588 180453 38 test_perf[cext] 93.6346 278.9731 95.1876 2.5474 164373 312 test_perf[simple] 398.1636 1863.2017 405.4325 13.1411 207521 59 test_perf[django] 471.6515 983.0809 480.4264 10.2059 193043 53 test_perf[objproxies] 1204.7003 4818.8010 1475.3419 114.8213 55898 1 ----------------------------------------------------------------------------------------
For Python 3.4:
-- benchmark: min 5 rounds (of min 25.00us), 5.00s max time, timer: time.perf_counter -- Name (time in ns) Min Max Mean StdDev Rounds Iterations ---------------------------------------------------------------------------------------- test_perf[slots] 803.1335 2728.8286 826.0882 20.5562 182436 33 test_perf[cext] 103.2911 254.4223 104.6869 2.6294 164373 277 test_perf[simple] 448.6894 2040.6147 462.0342 17.1546 218443 49 test_perf[django] 518.3013 1225.7125 532.0523 14.4672 218443 43 test_perf[objproxies] 1116.8575 3827.4331 1157.8419 43.9602 174755 24 ----------------------------------------------------------------------------------------
For PyPy 2.4:
Note that the mean difference between simple, django and objproxies is smaller the standard deviance, thus it cannot be considered.
------ benchmark: min 5 rounds (of min 25.00us), 15.00s max time, timer: time.clock ---- Name (time in ns) Min Max Mean StdDev Rounds Iterations ---------------------------------------------------------------------------------------- test_perf[slots] 1.9577 260.2979 2.2457 0.4882 498050 15384 test_perf[simple] 31.3536 4374.4246 34.7433 11.7566 478894 999 test_perf[django] 32.5269 4443.8381 35.8729 16.9071 461157 1000 test_perf[objproxies] 33.1293 4529.3718 36.7435 13.3377 452773 1000 ----------------------------------------------------------------------------------------
Changelog
1.0.0 (2014-12-27)
General code cleanup
A faster pure-python Proxy implementation (lazy_object_proxy.simple.Proxy) to be used where the C extension is not available. It’s not a complete proxy so it’s never available as lazy_object_proxy.Proxy.
0.1.0 (2014-06-10)
First release on PyPI.
Metadata
Release files for lazy-object-proxy 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lazy-object-proxy-1.0.0.tar.gz | 30.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| lazy_object_proxy-1.0.0-cp34-none-win_amd64.whl | CPython 3.4 | none | Windows x86-64 | Details |
| lazy_object_proxy-1.0.0-cp34-none-win32.whl | CPython 3.4 | none | Windows x86-32 | Details |
| lazy_object_proxy-1.0.0-cp33-none-win_amd64.whl | CPython 3.3 | none | Windows x86-64 | Details |
| lazy_object_proxy-1.0.0-cp33-none-win32.whl | CPython 3.3 | none | Windows x86-32 | Details |
| lazy_object_proxy-1.0.0-cp27-none-win_amd64.whl | CPython 2.7 | none | Windows x86-64 | Details |
| lazy_object_proxy-1.0.0-cp27-none-win32.whl | CPython 2.7 | none | Windows x86-32 | Details |
Total release size: 168.1 kB
Release files / lazy-object-proxy-1.0.0.tar.gz
| Download URL | lazy-object-proxy-1.0.0.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c7896e024aaeea77076a45d3b27a21b666d61852236a9c2960203098028ecbcf
|
|
BLAKE2b-256 checksum How to use checksums |
984e1d3f11e08c9131b41e7faea1169d23b568416d7c22554325d89e4bd41e36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / lazy_object_proxy-1.0.0-cp34-none-win_amd64.whl
| Download URL | lazy_object_proxy-1.0.0-cp34-none-win_amd64.whl |
|---|---|
| Size | 23.5 kB |
| Tags | CPython 3.4 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
90c65c094cbcdf03fb5b01fe3fd7feaa1d3161e16572d46009370de7964eed36
|
|
BLAKE2b-256 checksum How to use checksums |
1885955f1e953c83edb2848980fe177febeb98ac603fc1d9723d460220bd163d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / lazy_object_proxy-1.0.0-cp34-none-win32.whl
| Download URL | lazy_object_proxy-1.0.0-cp34-none-win32.whl |
|---|---|
| Size | 22.4 kB |
| Tags | CPython 3.4 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b828d615b79d9ff543c6c98c5cd5a6803eaeec0f57cc16cfc184c8916e64ee6c
|
|
BLAKE2b-256 checksum How to use checksums |
74ff5594f0efe630bfb5ae2c1a1de8ba9e6bb8c9d21ea88b1410508d3fd9a2f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / lazy_object_proxy-1.0.0-cp33-none-win_amd64.whl
| Download URL | lazy_object_proxy-1.0.0-cp33-none-win_amd64.whl |
|---|---|
| Size | 23.5 kB |
| Tags | CPython 3.3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a1917b7e257232feeccdf691726d67c43d3b18c102738df3e2794a1d4ecb0e01
|
|
BLAKE2b-256 checksum How to use checksums |
95978e74cd7cbef6acd72541e6dc212c3598469224c73c3d9f99015228ca6370
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / lazy_object_proxy-1.0.0-cp33-none-win32.whl
| Download URL | lazy_object_proxy-1.0.0-cp33-none-win32.whl |
|---|---|
| Size | 22.4 kB |
| Tags | CPython 3.3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
e2d0d4f407d1ac5dc83837a7ae4dd11b18f9eafe0430e00a6b654c19eada02f3
|
|
BLAKE2b-256 checksum How to use checksums |
264e3e1fb9e957d1268ef396b1d25d6e8eb77fefaa5e339dfb6f8af43b5ad19c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / lazy_object_proxy-1.0.0-cp27-none-win_amd64.whl
| Download URL | lazy_object_proxy-1.0.0-cp27-none-win_amd64.whl |
|---|---|
| Size | 23.6 kB |
| Tags | CPython 2.7 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1e993aa317df3eb09fc37eb09929812fbfc411a218df6a2ad6a98981d5b975a1
|
|
BLAKE2b-256 checksum How to use checksums |
6d893ae0ef5a140c5f0a89b4443ff37807b0ecdc8e4b96fc3594d5cc14c329a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / lazy_object_proxy-1.0.0-cp27-none-win32.whl
| Download URL | lazy_object_proxy-1.0.0-cp27-none-win32.whl |
|---|---|
| Size | 22.5 kB |
| Tags | CPython 2.7 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
63152ae516945c510c34122d8bfde280b8879273122ef731ac7629321c6350f6
|
|
BLAKE2b-256 checksum How to use checksums |
b837b5cbc270b31523ccb66c5edfc83cc6452f65020c7a6b9cc6d8ade38f7c89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |