Consider using wrapt with decorators

Open
#168 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python

Research direction

Start at the @api_call decorator and compare the documented BaseObject.get behavior with the introspection issue described in the linked documentation. Read the referenced wrapt material, then determine whether preserving introspection is worth the potential SDK performance cost and whether behavior should differ for documentation or terminal use.

Written by the indexing model from the issue text.

Description

enhancement question

Now that we're using @api_call with all of our methods, they no longer can be introspected properly. For example, see http://box-python-sdk.readthedocs.io/en/latest/boxsdk.object.html#boxsdk.object.base_object.BaseObject.get .

We could potentially use wrapt (https://pypi.python.org/pypi/wrapt) to fix this. See https://github.com/GrahamDumpleton/wrapt/tree/develop/blog for more info.

Though this would potentially slow down the SDK code, so it might or might not be worth it. Perhaps it can be enabled when generating docs or using the terminal, but disabled otherwise.

Dominant language
Python
Stars
460
Forks
223
Avg merge
14h 18m
Merged PRs (30d)
21

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from box/box-python-sdk

All issues in box/box-python-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.