semvec/pypi-packages huggingface dataset:
object-proxy 0.1a1
A minimalistic yet powerful object proxying utility
Keywords: python objectproxy

# ObjectProxy #
**A minimalistic yet powerful object proxying utility**

This readme attempts to explain the general use of this library.

### Installation ###
* Install from repository
```
pip install git+https://github.com/aviksama/objectproxy.git
```
* Install from pypi
```
pip install object-proxy
```
### Example ###

Object proxy basically creates a proxy for any python object:

```python
class MyClass(object):

    def __init__(self, array=None):
        self.array = array or []

    def get_array_element(self, index):
        try:
            return self.array[index]
        except IndexError:
            return


def create_dictionary_of_objects(*args):
    mydict = dict()
    for index, arg in enumerate(args):
        mydict[index] = arg

```
Now lets create proxies for the objects above in random fashion

```python
>>> from objectproxy import ProxyElement, eval_proxy

>>> class_proxy = ProxyElement(MyClass, args=[[1,2,3],], kwargs={})
>>> function_proxy = ProxyElement(create_dictionary_of_objects, args=[class_proxy], kwargs={})
>>> class_proxy_ref = function_proxy.values()[0]
>>> class_proxy_array_element = class_proxy_ref.get_array_element(0)
>>> eval_proxy(class_proxy_array_element)
1
``` 
until `eval_proxy` is called on the proxy object, It doesn't call the parent methods. Hence all the parent methods and attributes are lazily evaluated. 

### Contribution guidelines ###

We appreciate your effort in contributing to this project. You can contribute in any of the following.
* Writing tests
* Code review
* Other guidelines
* Submit issues

In order to contribute please fork the repository, And make a GitHub pull request to `dev` branch.

### Who do I talk to? ###

* Repo owner or admin
* Other community or team contact
erdc-quest 3.0.1
Extensible API for downloading and managing data

# Environmental Simulator Quest

| Gitter | Linux/Mac | Windows | ReadTheDocs | Test Coverage |
| --------- | --------- | --------- | ------------- | ------------- |
| [![Join the chat at https://gitter.im/Quest-Development/Quest](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Quest-Development/Quest) | [![Build Status](https://travis-ci.org/erdc/quest.svg?branch=master)](https://travis-ci.org/erdc/quest) | [![Build Status](https://ci.appveyor.com/api/projects/status/e20arxcfrcmb2ylm/branch/master?svg=true)](https://ci.appveyor.com/project/dharhas/quest) | [![Documentation Status](https://readthedocs.org/projects/quest/badge/?version=latest)](https://quest.readthedocs.io/en/latest/?badge=latest) | [![Coverage Status](https://coveralls.io/repos/github/erdc/quest/badge.svg)](https://coveralls.io/github/erdc/quest) |

### Project Description
Quest is a Python library that provides the ability to search, publish and download data (both geographical and non-geographical) from multiple data sources, including local repositories and web-based data providers. Quest also provides a suite of tools for manipulating and transforming data once it is downloaded.

### Project Links
- Here is a live link for the Quest Documentation: https://quest.readthedocs.io/en/latest/

Quest was designed to be extensible and has three types of plugins (io, tool, and provider). Provider plugins allow Quest to search for data from remote and local data providers. Tool plugins alloww Quest to perform different data manipulations. I/O plugins allows Quest to read and write different file formats.

- Here is a link to an example Quest Plugin: https://github.com/quest-dev/quest_ncep_provider_plugin