lazy-object-proxy Release 1.3.1

Similar documents
Poetaster. Release 0.1.1

Python Finite State Machine. Release 0.1.5

pytest-benchmark Release 2.5.0

cwmon-mysql Release 0.5.0

TPS Documentation. Release Thomas Roten

Roman Numeral Converter Documentation

Python Project Example Documentation

redis-lock Release 3.2.0

Python wrapper for Viscosity.app Documentation

chatterbot-weather Documentation

Python simple arp table reader Documentation

PyCRC Documentation. Release 1.0

sainsmart Documentation

Simple libtorrent streaming module Documentation

I2C LCD Documentation

Release Nicholas A. Del Grosso

Aircrack-ng python bindings Documentation

Archan. Release 2.0.1

google-search Documentation

Redis Timeseries Documentation

django-reinhardt Documentation

Python State Machine Documentation

DNS Zone Test Documentation

django-idioticon Documentation

Poulpe Documentation. Release Edouard Klein

Simple Binary Search Tree Documentation

Google Domain Shared Contacts Client Documentation

Pykemon Documentation

OTX to MISP. Release 1.4.2

django-cas Documentation

Python Schema Generator Documentation

Django Wordpress API Documentation

Python State Machine Documentation

smartfilesorter Documentation

Release Fulfil.IO Inc.

Frontier Documentation

withenv Documentation

gunny Documentation Release David Blewett

smsghussd Documentation

Game Server Manager Documentation

Python AutoTask Web Services Documentation

django CMS Export Objects Documentation

OpenUpgrade Library Documentation

doconv Documentation Release Jacob Mourelos

pyldavis Documentation

eventbrite-sdk-python Documentation

PyCon APAC 2014 Documentation

PyZillow Documentation

pydrill Documentation

Release Ralph Offinger

Gearthonic Documentation

open-helpdesk Documentation

MyAnimeList Scraper. Release 0.3.0

Aldryn Installer Documentation

dj-libcloud Documentation

Python AMT Tools Documentation

yardstick Documentation

e24paymentpipe Documentation

API Wrapper Documentation

Python data pipelines similar to R Documentation

xmljson Documentation

django-users2 Documentation

AnyDo API Python Documentation

Mantis STIX Importer Documentation

django-responsive2 Documentation

nacelle Documentation

pvl Documentation Release William Trevor Olson

gpib-ctypes Documentation

dublincore Documentation

syslog-ng Apache Kafka destination

Job Submitter Documentation

django-composite-foreignkey Documentation

django-telegram-bot Documentation

ejpiaj Documentation Release Marek Wywiał

Python-ASN1. Release 2.2.0

CID Documentation. Release Francis Reyes

latexdiffcite Release 1.0.4

django-composite-foreignkey Documentation

django-private-chat Documentation

Dragon Mapper Documentation

dicompyler-core Documentation

Release Manu Phatak

Infoblox Client Documentation

Durga Documentation. Release dev2. transcode

django-stored-messages Documentation

invenio-groups Documentation

Microlab Instruments Documentation

Connexion Sqlalchemy Utils Documentation

Python-ASN1. Release 2.2.0

Airoscript-ng Documentation

xmodels Documentation

ProxySQL Tools Documentation

python-hologram-api Documentation

contribution-guide.org Release

MT940 Documentation. Release Rick van Hattem (wolph)

invenio-formatter Documentation

django-bootstrap3 Documentation

Face Recognition Documentation

Lazarus Documentation

otree Virtual Machine Manager Documentation

Transcription:

lazy-object-proxy Release 1.3.1 Jun 22, 2017

Contents 1 Overview 1 1.1 Installation................................................ 2 1.2 Documentation.............................................. 2 1.3 Development............................................... 2 1.4 Acknowledgements........................................... 2 2 Installation 3 3 Usage 5 4 Reference 7 4.1 lazy_object_proxy............................................ 7 5 Contributing 9 5.1 Bug reports................................................ 9 5.2 Documentation improvements...................................... 9 5.3 Feature requests and feedback...................................... 9 5.4 Development............................................... 10 6 Authors 11 7 Changelog 13 7.1 1.3.1 (2017-05-05)............................................ 13 7.2 1.3.0 (2017-05-02)............................................ 13 7.3 1.2.2 (2016-04-14)............................................ 13 7.4 1.2.1 (2015-08-18)............................................ 13 7.5 1.2.0 (2015-07-06)............................................ 13 7.6 1.1.0 (2015-07-05)............................................ 14 7.7 1.0.2 (2015-04-11)............................................ 14 8 Indices and tables 15 Python Module Index 17 i

ii

CHAPTER 1 Overview docs tests package 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) 1

lazy-object-proxy, Release 1.3.1 # 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. 2 Chapter 1. Overview

CHAPTER 2 Installation At the command line: pip install lazy-object-proxy 3

lazy-object-proxy, Release 1.3.1 4 Chapter 2. Installation

CHAPTER 3 Usage To use lazy-object-proxy in a project: import lazy_object_proxy 5

lazy-object-proxy, Release 1.3.1 6 Chapter 3. Usage

CHAPTER 4 Reference lazy_object_proxy class lazy_object_proxy.proxy 7

lazy-object-proxy, Release 1.3.1 8 Chapter 4. Reference

CHAPTER 5 Contributing Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. Bug reports When reporting a bug please include: Your operating system name and version. Any details about your local setup that might be helpful in troubleshooting. Detailed steps to reproduce the bug. Documentation improvements lazy-object-proxy could always use more documentation, whether as part of the official lazy-object-proxy docs, in docstrings, or even on the web in blog posts, articles, and such. Feature requests and feedback The best way to send feedback is to file an issue at https://github.com/ionelmc/python-lazy-object-proxy/issues. If you are proposing a feature: Explain in detail how it would work. Keep the scope as narrow as possible, to make it easier to implement. Remember that this is a volunteer-driven project, and that code contributions are welcome :) 9

lazy-object-proxy, Release 1.3.1 Development To set up python-lazy-object-proxy for local development: 1. Fork python-lazy-object-proxy (look for the Fork button). 2. Clone your fork locally: git clone git@github.com:your_name_here/python-lazy-object-proxy.git 3. Create a branch for local development: git checkout -b name-of-your-bugfix-or-feature Now you can make your changes locally. 4. When you re done making changes, run all the checks, doc builder and spell checker with tox one command: tox 5. Commit your changes and push your branch to GitHub: git add. git commit -m "Your detailed description of your changes." git push origin name-of-your-bugfix-or-feature 6. Submit a pull request through the GitHub website. Pull Request Guidelines If you need some code review or feedback while you re developing the code just make the pull request. For merging, you should: 1. Include passing tests (run tox) 1. 2. Update documentation when there s new API, functionality etc. 3. Add a note to CHANGELOG.rst about the changes. 4. Add yourself to AUTHORS.rst. Tips To run a subset of tests: tox -e envname -- py.test -k test_myfeature To run all the test environments in parallel (you need to pip install detox): detox 1 If you don t have all the necessary python versions available locally you can rely on Travis - it will run the tests for each change you add in the pull request. It will be slower though... 10 Chapter 5. Contributing

CHAPTER 6 Authors Ionel Cristian Mărieș - https://blog.ionelmc.ro Alvin Chow - https://github.com/alvinchow86 Astrum Kuo - https://github.com/xowenx Erik M. Bray - https://iguananaut.net 11

lazy-object-proxy, Release 1.3.1 12 Chapter 6. Authors

CHAPTER 7 Changelog 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 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. 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). 13

lazy-object-proxy, Release 1.3.1 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. 1.0.2 (2015-04-11) First release on PyPI. 14 Chapter 7. Changelog

CHAPTER 8 Indices and tables genindex modindex search 15

lazy-object-proxy, Release 1.3.1 16 Chapter 8. Indices and tables

Python Module Index l lazy_object_proxy, 7 17

lazy-object-proxy, Release 1.3.1 18 Python Module Index

Index L lazy_object_proxy (module), 7 P Proxy (class in lazy_object_proxy), 7 19