{"id":15492300,"url":"https://github.com/stranger6667/browserstacker","last_synced_at":"2025-07-27T00:40:28.367Z","repository":{"id":57416425,"uuid":"50211004","full_name":"Stranger6667/browserstacker","owner":"Stranger6667","description":"Python wrapper for BrowserStack features","archived":false,"fork":false,"pushed_at":"2020-09-01T10:31:54.000Z","size":45,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T10:44:49.742Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Stranger6667.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"Stranger6667"}},"created_at":"2016-01-22T22:18:41.000Z","updated_at":"2020-09-01T10:31:56.000Z","dependencies_parsed_at":"2022-09-26T20:11:46.557Z","dependency_job_id":null,"html_url":"https://github.com/Stranger6667/browserstacker","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stranger6667%2Fbrowserstacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stranger6667%2Fbrowserstacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stranger6667%2Fbrowserstacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stranger6667%2Fbrowserstacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Stranger6667","download_url":"https://codeload.github.com/Stranger6667/browserstacker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250309967,"owners_count":21409572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T08:00:15.941Z","updated_at":"2025-04-22T19:41:51.978Z","avatar_url":"https://github.com/Stranger6667.png","language":"Python","funding_links":["https://github.com/sponsors/Stranger6667"],"categories":[],"sub_categories":[],"readme":"BrowserStacker\n==============\nPython wrapper for `BrowserStack \u003chttps://www.browserstack.com/\u003e`_ features.\n\n|Build Status| |codecov.io|\n\n\nInstallation\n------------\n\nThe current stable release:\n\n::\n\n    pip install browserstacker\n\nor:\n\n::\n\n    easy_install browserstacker\n\nor from source:\n\n::\n\n    $ sudo python setup.py install\n\nUsage\n-----\n\nTo start working with BrowserStack ScreenShots API simply type:\n\n.. code:: python\n\n    \u003e\u003e\u003e from browserstacker import ScreenShotsAPI\n    \u003e\u003e\u003e api = ScreenShotsAPI('user', 'key')\n    \u003e\u003e\u003e api.browsers()\n    [\n        {\n          \"os\": \"Windows\",\n          \"os_version\": \"XP\",\n          \"browser\": \"chrome\",\n          \"browser_version\": \"21.0\",\n          \"device\": None\n        },\n        {\n          \"os\": \"ios\",\n          \"os_version\": \"6.0\",\n          \"browser\": \"Mobile Safari\",\n          \"browser_version\": None,\n          \"device\": \"iPhone 4S (6.0)\"\n        }\n      ....\n    ]\n\nOptionally you can filter the output of ``browsers`` by ``browser``, ``browser_version``, ``device``, ``os`` or ``os_version``.\n\n.. code:: python\n\n    \u003e\u003e\u003e api.browsers(os='Windows', browser='chrome')\n    [\n        {\n          \"os\": \"Windows\",\n          \"os_version\": \"8.1\",\n          \"browser\": \"chrome\",\n          \"browser_version\": \"22.0\",\n          \"device\": None\n        },\n        {\n          \"os\": \"Windows\",\n          \"os_version\": \"8.1\",\n          \"browser\": \"chrome\",\n          \"browser_version\": \"23.0\",\n          \"device\": None\n        }\n      ....\n    ]\n\nCommand line:\n\n.. code:: bash\n\n    $ browserstacker browsers -os Windows -b chrome\n    Available browsers:\n\n    ------\n    browser_version: 22.0\n    os: Windows\n    browser: chrome\n    device: None\n    os_version: 8.1\n    ------\n    ...\n    Total browsers: 100\n\n\nFiltration values are case insensitive and are casted to strings during filtration.\nE.g. you can use integers for filtration by ``os_version`` parameter.\nAlso it is possible to filter by multiple values:\n\n.. code:: python\n\n    \u003e\u003e\u003e api.browsers(os='Windows', browser=('chrome', 'firefox'))\n    [\n        {\n          \"os\": \"Windows\",\n          \"os_version\": \"8.1\",\n          \"browser\": \"chrome\",\n          \"browser_version\": \"22.0\",\n          \"device\": None\n        },\n        {\n          \"os\": \"Windows\",\n          \"os_version\": \"8.1\",\n          \"browser\": \"firefox\",\n          \"browser_version\": \"16.0\",\n          \"device\": None\n        }\n      ....\n    ]\n\nCommand line:\n\n.. code:: bash\n\n    $ browserstacker browsers -os Windows -b chrome -b firefox\n    Available browsers:\n\n    ------\n    browser_version: 22.0\n    os: Windows\n    browser: chrome\n    device: None\n    os_version: 8.1\n    ------\n    ...\n    Total browsers: 215\n\nTo generate screenshots:\n\n.. code:: python\n\n    \u003e\u003e\u003e browser = api.browsers()[0]\n    \u003e\u003e\u003e response = api.generate('http://www.google.com', browser)\n\nCommand line:\n\n.. code:: bash\n\n    $ browserstacker generate http://www.google.com -os Windows -b firefox -bv 37.0 -ov XP\n\nHere you can pass single browsers or list of them.\nYou'll get the ``job_id`` from response. To list available screenshots for ``job_id``:\n\n.. code:: python\n\n    \u003e\u003e\u003e api.list(response['job_id'])\n    {\n        \"id\":\"13b93a14db22872fcb5fd1c86b730a51197db319\",\n        \"state\":\"done\",\n        \"callback_url\": \"http://staging.example.com\",\n        \"win_res\": \"1024x768\",\n        \"mac_res\": \"1920x1080\",\n        \"quality\": \"compressed\",\n        \"wait_time\": 5,\n        \"screenshots\": [\n            {\n                \"os\":\"Windows\",\n                \"os_version\":\"XP\",\n                \"browser\":\"ie\",\n                \"browser_version\":\"7.0\",\n                \"id\":\"be9989892cbba9b9edc2c95f403050aa4996ac6a\",\n                \"state\":\"done\",\n                \"url\":\"www.google.com\",\n                \"thumb_url\":\"https://www.browserstack.com/screenshots/13b93a14db22872fcb5fd1c86b730a51197db319/thumb_winxp_ie_7.0.jpg\",\n                \"image_url\":\"https://www.browserstack.com/screenshots/13b93a14db22872fcb5fd1c86b730a51197db319/winxp_ie_7.0.png\",\n                \"created_at\":\"2013-03-14 16:25:45 UTC\",\n            }\n        ]\n    }\n\nCommand line:\n\n.. code:: bash\n\n    $ browserstacker list 13b93a14db22872fcb5fd1c86b730a51197db319\n\nTo download screenshots:\n\n.. code:: python\n\n    \u003e\u003e\u003e api.download(response['job_id'], 'path_to_screenshots_dir')\n\nCommand line:\n\n.. code:: bash\n\n    $ browserstacker download 13b93a14db22872fcb5fd1c86b730a51197db319 -d screenshots_dir\n\nAll screenshots will be saved in 'path_to_screenshots_dir'. If ``destination`` kwarg is absent, then screenshots will be\ndownloaded to current working directory.\nAlso you can use shortcut to create \u0026 download screenshots to your local machine:\n\n.. code:: python\n\n    \u003e\u003e\u003e response = api.make('http://www.google.com', browser, destination='path_to_screenshots_dir')\n\nCommand line:\n\n.. code:: bash\n\n    $ browserstacker make -os Windows -b firefox -bv 37.0 -ov XP -d screenshots_dir\n\nCommand line interface\n~~~~~~~~~~~~~~~~~~~~~~\n\nBrowserstacker comes with command line interface built with `Click \u003chttp://click.pocoo.org/\u003e`_.\nAfter installation ``browserstacker`` entry point will be available\nIt exposes almost the same API as ``ScreenShotsAPI`` does. Does not support Python 3.2.\n\nTo use CLI you have to pass user \u0026 key directly:\n\n.. code:: bash\n\n    $ browserstacker -u user -k key browsers\n    Available browsers:\n    ...\n    Total browsers: 629\n\nOr via environment variables:\n\n.. code:: bash\n\n    $ export BROWSERSTACK_USER=user\n    $ export BROWSERSTACK_KEY=key\n    $ browserstacker browsers\n\nHelp is also available:\n\n.. code:: bash\n\n    $ browserstacker --help\n    Usage: browserstacker [OPTIONS] COMMAND [ARGS]...\n\n    Options:\n      -u, --user TEXT  Username on BrowserStack\n      -k, --key TEXT   Access key\n      -v, --verbosity  Verbosity level\n      --version        Show the version and exit.\n      --help           Show this message and exit.\n\n    Commands:\n      download\n      generate\n      browsers\n      list\n      make\n\nPython support\n--------------\n\nBrowserStacker supports Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, PyPy, PyPy3 and Jython.\n**NOTE**. CLI does not support Python 3.2.\n\n\n.. |Build Status| image:: https://travis-ci.org/Stranger6667/browserstacker.svg?branch=master\n   :target: https://travis-ci.org/Stranger6667/browserstacker\n\n.. |codecov.io| image:: https://codecov.io/github/Stranger6667/browserstacker/coverage.svg?branch=master\n    :target: https://codecov.io/github/Stranger6667/browserstacker?branch=master","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstranger6667%2Fbrowserstacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstranger6667%2Fbrowserstacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstranger6667%2Fbrowserstacker/lists"}