Last active
September 29, 2017 21:30
-
-
Save aconz2/e389a7c36ac608511ac99e4e31376b15 to your computer and use it in GitHub Desktop.
inspect example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def mystery_fun(sess : requests.Session): | |
pass | |
sess_arg = inspect.signature(mystery_fun).parameters['sess'] | |
inspect.getmembers(sess_arg.annotation, inspect.isfunction) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
import inspect | |
from terminaltables import AsciiTable | |
module_docs = [(x,str(inspect.signature(y)), (inspect.getdoc(y) or '')[:20] + '...') for x,y in inspect.getmembers(requests, inspect.isfunction)] | |
print(inspect.getmodule(requests)) | |
print(AsciiTable([('Name', 'Signature', 'Doc')] + module_docs).table) | |
sess = requests.Session() | |
method_docs = [(x,str(inspect.signature(y)), (inspect.getdoc(y) or '')[:20] + '...') for x,y in inspect.getmembers(sess, inspect.ismethod)] | |
print('{} in {}'.format(type(sess), inspect.getmodule(sess))) | |
print(AsciiTable([('Name', 'Signature', 'Doc')] + method_docs).table) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<module 'requests' from '/home/andrew/.local/lib/python3.6/site-packages/requests/__init__.py'> | |
+---------------------+---------------------------------------+-------------------------+ | |
| Name | Signature | Doc | | |
+---------------------+---------------------------------------+-------------------------+ | |
| check_compatibility | (urllib3_version, chardet_version) | ... | | |
| delete | (url, **kwargs) | Sends a DELETE reque... | | |
| get | (url, params=None, **kwargs) | Sends a GET request.... | | |
| head | (url, **kwargs) | Sends a HEAD request... | | |
| options | (url, **kwargs) | Sends an OPTIONS req... | | |
| patch | (url, data=None, **kwargs) | Sends a PATCH reques... | | |
| post | (url, data=None, json=None, **kwargs) | Sends a POST request... | | |
| put | (url, data=None, **kwargs) | Sends a PUT request.... | | |
| request | (method, url, **kwargs) | Constructs and sends... | | |
| session | () | Returns a :class:`Se... | | |
+---------------------+---------------------------------------+-------------------------+ | |
<class 'requests.sessions.Session'> in <module 'requests.sessions' from '/home/andrew/.local/lib/python3.6/site-packages/requests/sessions.py'> | |
+----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+ | |
| Name | Signature | Doc | | |
+----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+ | |
| __enter__ | () | ... | | |
| __exit__ | (*args) | ... | | |
| __getstate__ | () | ... | | |
| __init__ | () | Initialize self. Se... | | |
| __setstate__ | (state) | ... | | |
| close | () | Closes all adapters ... | | |
| delete | (url, **kwargs) | Sends a DELETE reque... | | |
| get | (url, **kwargs) | Sends a GET request.... | | |
| get_adapter | (url) | Returns the appropri... | | |
| get_redirect_target | (resp) | Receives a Response.... | | |
| head | (url, **kwargs) | Sends a HEAD request... | | |
| merge_environment_settings | (url, proxies, stream, verify, cert) | Check the environmen... | | |
| mount | (prefix, adapter) | Registers a connecti... | | |
| options | (url, **kwargs) | Sends a OPTIONS requ... | | |
| patch | (url, data=None, **kwargs) | Sends a PATCH reques... | | |
| post | (url, data=None, json=None, **kwargs) | Sends a POST request... | | |
| prepare_request | (request) | Constructs a :class:... | | |
| put | (url, data=None, **kwargs) | Sends a PUT request.... | | |
| rebuild_auth | (prepared_request, response) | When being redirecte... | | |
| rebuild_method | (prepared_request, response) | When being redirecte... | | |
| rebuild_proxies | (prepared_request, proxies) | This method re-evalu... | | |
| request | (method, url, params=None, data=None, headers=None, cookies=None, files=None, auth=None, timeout=None, allow_redirects=True, proxies=None, hooks=None, stream=None, verify=None, cert=None, json=None) | Constructs a :class:... | | |
| resolve_redirects | (resp, req, stream=False, timeout=None, verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs) | Receives a Response.... | | |
| send | (request, **kwargs) | Send a given Prepare... | | |
+----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment