Skip to content

A simple Python 3 wrapper around The Setup's API

License

Notifications You must be signed in to change notification settings

ivuk/pyusesthis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

18 Commits

Repository files navigation

pyusesthis

A simple Python 3 wrapper around The Setup's API

Some very basic examples:

>>>frompyusesthisimportpyusesthis>>>print(pyusesthis.get_interviews("Amanda Cohen")) >>>print(pyusesthis.get_interviews("all")) >>>print(pyusesthis.get_hardware("Zaggfolio iPad 2")) >>>print(pyusesthis.get_software("3ds Max")) >>>print(pyusesthis.get_stats("all")) >>>print(pyusesthis.get_stats("hardware")) >>>print(pyusesthis.get_stats("software", "2015")) >>>print(pyusesthis.get_categories("usability")) >>>print(pyusesthis.get_categories("all"))

Note that 'all' is used as a keyword for getting all the available items.

A small, more complete example:

>>>importjson>>>frompyusesthisimportpyusesthis>>>vara=pyusesthis.get_hardware("thinkpad x220") >>>varb=json.loads(vara) >>>foreleminvarb['gear']['interviews']: ... print(elem['name'])

If you want something a bit more 'fuzzy', I was interested in all the Thinkpad models that were mentioned on The Setup:

>>>importjson>>>frompyusesthisimportpyusesthis>>>vara=pyusesthis.get_hardware("all") >>>varb=json.loads(vara) >>>foreleminvarb['gear']: ... if'thinkpad'instr(elem['name']).lower(): ... print(elem['name'])

The API returns JSON, so that's what you get for further processing.

Basic mypy support is implemented (spoiler alert: it's all strings), so you can sanity check your code:

(venv) $ cat demo.py import pyusesthis pyusesthis.get_stats("software", 2015) pyusesthis.get_hardware(['Thinkpad x220', 'Thinkpad x230']) (venv) $ mypy demo.py demo.py:3: error: Argument 2 to "get_stats" has incompatible type"int"; expected "str" demo.py:4: error: Argument 1 to "get_hardware" has incompatible type List[str]; expected "str"

There are some basic unit and integration API tests available in the tests directory. To run them, simply use:

$ cd tests $ pytest -v

About

A simple Python 3 wrapper around The Setup's API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages