Skyscanner Python SDK

Overview

Skyscanner Python SDK

Important

As of May 1st, 2020, the project is deprecated and no longer maintained. The latest update in v1.1.5 includes changing the library to use a secure connection when calling Skyscanner's APIs as this is required for all users and http is no longer supported. The development of this SDK from that point on is fully abandoned.

As we cannot guarantee for how long it will continue working, you should not to use the SDK when starting new projects. If it is already in use in your projects, please upgrade to its latest version and keep in mind that due to planned changes in our Skyscanner APIs it may not work as expected after July 2020.

You will need to contact us to request an API key to use our APIs via the following form: https://partners.skyscanner.net/contact.

We receive a large number of requests and although we do our best to reply to all we cannot guarantee that your application will be successful.

Documentation Status https://coveralls.io/repos/Skyscanner/skyscanner-python-sdk/badge.svg?branch=master&service=github

Skyscanner Python SDK for Skyscanner's API

Features

  • Tested on Python 2.6, 2.7, 3.3, 3.4
  • Supports Flights, Hotels, and Carhire

Installation

At the command line:

$ easy_install skyscanner

Or, if you have virtualenvwrapper installed:

$ mkvirtualenv skyscanner
$ pip install skyscanner

Quick start

  1. Contact us to request an API key: https://partners.skyscanner.net/contact

  2. If you don't already have one, create a Skyscanner account.

  3. Sign into your account and click 'Import Existing App' and use your API key to create an App

  4. Set your API Key in your code:

    from skyscanner.skyscanner import Flights
    flights_service = Flights('<Your API Key>')
    
  5. Get the flights live pricing result by writing a few lines of code:

    from skyscanner.skyscanner import Flights
    
    flights_service = Flights('<Your API Key>')
    result = flights_service.get_result(
        country='UK',
        currency='GBP',
        locale='en-GB',
        originplace='SIN-sky',
        destinationplace='KUL-sky',
        outbounddate='2017-05-28',
        inbounddate='2017-05-31',
        adults=1).parsed
    
    print(result)
    

Note that both the inbounddate and outbounddate might need to be updated.

More examples

For more example usage, refer to the SDK documentation or the API documentation.

Known Issues

  • Tests might appear to be broken sometimes, this is due to the throttling in the API. In such cases, you will see the following error in the build log:

    requests.exceptions.HTTPError: 429 Client Error: Too many requests in the last minute.
    
  • Please allow up to 15 minutes for your API key to be activated. Until it is activated you will get a 403 exception:

    requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://partners.api.skyscanner.net/apiservices/pricing/v1.0?apiKey=<Your API key>
    
Comments
  • EmptyResponse(Response has no content.) while trying to get live flights

    EmptyResponse(Response has no content.) while trying to get live flights

    Even when I copy paste the example code regarding getting live flights prices from the documentation I am getting this error. I'm kinda new to python so I'm not certain where the error lies.

    My test code: `from skyscanner import Flights

    flights_service = Flights('un173418880453608449381682534785') result = flights_service.get_result( country='US', currency='USD', locale='en-US', originplace='DEN-sky', destinationplace='PHX-sky', outbounddate='2016-09-02', inbounddate='2016-09-06', adults=1).parsed `

    Error codes: File "\skyscanner\test.py", line 12, in adults=1).parsed File "\skyscanner.py", line 130, in get_result return self.poll_session(self.create_session(*_params), errors=errors, *_additional_params) File "\skyscanner.py", line 224, in poll_session errors=errors, **params) File "\skyscanner.py", line 179, in make_request return self._with_error_handling(r, e, error_mode, self.response_format) File "\skyscanner.py", line 288, in _with_error_handling raise error EmptyResponse(Response has no content.)

    opened by isamup 10
  • add flake8 in build check, reorder imports

    add flake8 in build check, reorder imports

    This PR updates the SDK such that:

    1. introduce flake8 as part of Travis CI build to ensure that we follow PEP8 guidelines as close as possible.
    2. reordering of imports to follow import guidelines from PEP8 (ref: https://www.python.org/dev/peps/pep-0008/#imports).

    I have explicitly set flake8 config to ignore max line length (defaults at 79 chars) though. perhaps we want to enforce a specific max line length?

    opened by kelvintaywl 4
  • sdk currently broken?

    sdk currently broken?

    Hi, is it just my setup or does the sdk currently not work. I just tried run a basic example from the usage section of the docs and got an

    skyscanner.skyscanner.EmptyResponse: Response has no content.
    

    I also tried to run the test, which also showed this result

    2016-03-05 08:08:27,617 - skyscanner.py:239 - WARNING - Response has no content.
    
    opened by staeff 3
  • Switch to HTTPS by Apr 30

    Switch to HTTPS by Apr 30

    We have received the notification from Skyscanner that by April 30, 2020, all the http requests to the API should be replaced by https. The respective change needs to be done in this package. Otherwise it will stop working. As I see, it is a single line change. I am happy to contribute if needed.

    https://skyscanner.github.io/slate/#https-migration-guide

    opened by udatsnoi 2
  • additional params?

    additional params?

    " from skyscanner import Flights

    flights_service = Flights('un916353397293877852942657332487') result = flights_service.get_result( stops = 0, country='US', currency='USD', locale='en-US', originplace='DTW-sky', destinationplace='PEK-sky', outbounddate='2016-06-29', inbounddate='2016-07-30').parsed

    print result "

    the parameter of "stops" doesn't work.

    is my way not right? how could I solve it? I just simply want to add a stop parameter to filter the result.

    opened by brianshu 2
  • FlightsCache response

    FlightsCache response

    Hi, I was using version 1.1.0 of the sdk and when I followed this example it would work just fine:

    flights_cache_service = FlightsCache('<Your API Key>')
    result = flights_cache_service.get_cheapest_price_by_date(
        country='UK',
        currency='GBP',
        locale='en-GB',
        originplace='SIN-sky',
        destinationplace='KUL-sky',
        outbounddate='2015-05',
        inbounddate='2015-06')
    

    Now, on the version 1.1.1, I've seen that we need to pass the "market" parameter as well. So far so good. But when I make the request just like the example above (adding the market), the response only shows the Http code. I get "Response [200]", but not the data itself.

    Is this an issue or am I doing something wrong? Thanks!

    opened by hannonq 2
  • Updated existing tests to use current time and dates

    Updated existing tests to use current time and dates

    Hi, two commits in this pull request. The first one is just formatting, no actual code changes there. The seconds one contains the actual change.

    We are about to use SkyScanner APIs in my company and since Python is one of our main tools, we are looking forward to use and contribute to this SDK.

    I also have a question related to those tests: it seems that throttling is making them fail from time to time, do you think if it is possible to do something about that? Maybe use some specific 'unit test' key?

    Cheers, Denis

    opened by ddudnik 2
  • Same hotel different result between API and Skyscanner website

    Same hotel different result between API and Skyscanner website

    Hi, I compare result request via API and skyscanner website to get the same hotel from the same date and city, the result is diff between skycanner website and my api result request. In my API result the guests ratio is always 0 without any description like on skyscanner website, also I never get reviews summary eventho the reviews not 0 (for example: 1296)

    Any idea how to get those guests ratio and description also the reviews summary?

    Thanks

    opened by erwinyusrizal 1
  • Test suite is not passing

    Test suite is not passing

    After having trouble getting the example to work (with a valid key) returning simply with "Response has no content", I tried the test suite getting to work (from master branch), but unfortunately it seems to have similar problems with parsing the content (using Python 2.7.11/homebrew/Mac OS X 10.10.5):

    running test
    running egg_info
    writing requirements to skyscanner.egg-info/requires.txt
    writing skyscanner.egg-info/PKG-INFO
    writing top-level names to skyscanner.egg-info/top_level.txt
    writing dependency_links to skyscanner.egg-info/dependency_links.txt
    reading manifest file 'skyscanner.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'LICENSE'
    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    writing manifest file 'skyscanner.egg-info/SOURCES.txt'
    running build_ext
    test_create_session (tests.test_skyscanner.TestCarHire) ... ok
    test_get_result_json (tests.test_skyscanner.TestCarHire) ... ok
    test_location_autosuggest_json (tests.test_skyscanner.TestCarHire) ... ok
    test_location_autosuggest_xml (tests.test_skyscanner.TestCarHire) ... ok
    test_create_session (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_date_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_date_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_route_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_route_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_quotes_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_quotes_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_grid_prices_by_date_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_grid_prices_by_date_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_result_json (tests.test_skyscanner.TestFlights) ... 2016-06-28 23:06:44,396 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:49,489 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:53,145 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:56,948 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:58,715 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:00,077 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:01,467 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:02,934 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:04,302 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:05,598 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:06,897 - skyscanner.py:262 - WARNING - Response has no content.
    FAIL
    test_get_result_xml (tests.test_skyscanner.TestFlights) ... ok
    test_create_session (tests.test_skyscanner.TestHotels) ... ok
    test_get_result_json (tests.test_skyscanner.TestHotels) ... ok
    test_get_result_xml (tests.test_skyscanner.TestHotels) ... ok
    test_location_autosuggest_json (tests.test_skyscanner.TestHotels) ... ok
    test_location_autosuggest_xml (tests.test_skyscanner.TestHotels) ... ok
    test_construct_params (tests.test_skyscanner.TestTransport) ... ok
    test_create_session (tests.test_skyscanner.TestTransport) ... ok
    test_default_resp_callback_json (tests.test_skyscanner.TestTransport) ... ok
    test_default_resp_callback_xml (tests.test_skyscanner.TestTransport) ... ok
    test_get_markets_json (tests.test_skyscanner.TestTransport) ... ok
    test_get_markets_xml (tests.test_skyscanner.TestTransport) ... ok
    test_location_autosuggest_json (tests.test_skyscanner.TestTransport) ... ok
    test_location_autosuggest_xml (tests.test_skyscanner.TestTransport) ... ok
    test_with_error_handling_graceful (tests.test_skyscanner.TestTransport) ... 2016-06-28 23:07:53,357 - skyscanner.py:262 - WARNING -
    2016-06-28 23:07:53,357 - skyscanner.py:262 - WARNING -
    2016-06-28 23:07:53,357 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,357 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,357 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,357 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - Start tag expected, '<' not found, line 1, column 1
    ok
    test_with_error_handling_ignore (tests.test_skyscanner.TestTransport) ... 2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    ok
    test_with_error_handling_strict (tests.test_skyscanner.TestTransport) ... 2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,360 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,360 - skyscanner.py:231 - ERROR - expected '>', line 1, column 57
    2016-06-28 23:07:53,360 - skyscanner.py:231 - ERROR - expected '>', line 1, column 57
    400
    ok
    
    ======================================================================
    FAIL: test_get_result_json (tests.test_skyscanner.TestFlights)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/Users/niko/sandbox/python/skyscanner-python-sdk/tests/test_skyscanner.py", line 729, in test_get_result_json
        self.assertTrue(None != self.result)
      File "/Users/niko/sandbox/python/skyscanner-python-sdk/tests/test_skyscanner.py", line 58, in assertTrue
        expr, msg=msg or self._default_message())
    AssertionError: False is not true
    
    ----------------------------------------------------------------------
    Ran 31 tests in 97.374s
    
    FAILED (failures=1)
    
    opened by nikos 1
  • Refactorings/improvements for requests

    Refactorings/improvements for requests

    Hi,

    Digging my way through the code, here are some changes/refactorings which I suggest:

    • more generic 'make_request' method. Nicely isolates 'requests' lib (it's used only there now). All other methods use it to talk to API.
    • generic 'get_results' and 'create_session' methods, so the overall API of all classes becoming more in sync
    • improvement for handling errors in response

    Cheers, Denis

    opened by ddudnik 1
  • Minor refactoring and unit test improvements

    Minor refactoring and unit test improvements

    Hi!

    I suggest some minor refactorings to be applied, the more important of which is having single API_HOST field to set up which SkyScanner environment to contact. My guess is that having this setting it would be possible to direct unit tests to some other environment than production.

    Also added an improvement in unit tests by outputting actual API response on assert failure. It helps a lot to see if your failure was due to real error or to throttling limitations which is currently there.

    Cheers, Denis

    opened by ddudnik 1
  • Bump wheel from 0.23.0 to 0.38.1

    Bump wheel from 0.23.0 to 0.38.1

    Bumps wheel from 0.23.0 to 0.38.1.

    Changelog

    Sourced from wheel's changelog.

    Release Notes

    UNRELEASED

    • Updated vendored packaging to 22.0

    0.38.4 (2022-11-09)

    • Fixed PKG-INFO conversion in bdist_wheel mangling UTF-8 header values in METADATA (PR by Anderson Bravalheri)

    0.38.3 (2022-11-08)

    • Fixed install failure when used with --no-binary, reported on Ubuntu 20.04, by removing setup_requires from setup.cfg

    0.38.2 (2022-11-05)

    • Fixed regression introduced in v0.38.1 which broke parsing of wheel file names with multiple platform tags

    0.38.1 (2022-11-04)

    • Removed install dependency on setuptools
    • The future-proof fix in 0.36.0 for converting PyPy's SOABI into a abi tag was faulty. Fixed so that future changes in the SOABI will not change the tag.

    0.38.0 (2022-10-21)

    • Dropped support for Python < 3.7
    • Updated vendored packaging to 21.3
    • Replaced all uses of distutils with setuptools
    • The handling of license_files (including glob patterns and default values) is now delegated to setuptools>=57.0.0 (#466). The package dependencies were updated to reflect this change.
    • Fixed potential DoS attack via the WHEEL_INFO_RE regular expression
    • Fixed ValueError: ZIP does not support timestamps before 1980 when using SOURCE_DATE_EPOCH=0 or when on-disk timestamps are earlier than 1980-01-01. Such timestamps are now changed to the minimum value before packaging.

    0.37.1 (2021-12-22)

    • Fixed wheel pack duplicating the WHEEL contents when the build number has changed (#415)
    • Fixed parsing of file names containing commas in RECORD (PR by Hood Chatham)

    0.37.0 (2021-08-09)

    • Added official Python 3.10 support
    • Updated vendored packaging library to v20.9

    ... (truncated)

    Commits
    • 6f1608d Created a new release
    • cf8f5ef Moved news item from PR #484 to its proper place
    • 9ec2016 Removed install dependency on setuptools (#483)
    • 747e1f6 Fixed PyPy SOABI parsing (#484)
    • 7627548 [pre-commit.ci] pre-commit autoupdate (#480)
    • 7b9e8e1 Test on Python 3.11 final
    • a04dfef Updated the pypi-publish action
    • 94bb62c Fixed docs not building due to code style changes
    • d635664 Updated the codecov action to the latest version
    • fcb94cd Updated version to match the release
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Skyscanner Optional Parameters do not seem to parse

    Skyscanner Optional Parameters do not seem to parse

    Example params being passed to:

    from skyscanner.skyscanner import Flights flights_service = Flights(settings.SKY_TOKEN) flights_service.skyscanner.get_result( {'inbounddate': '', 'currency': 'INR', 'includeCarriers': u'9W', 'originplace': u'CCU-sky', 'adults': 1, 'destinationplace': u'DEL-sky', 'locale': 'en-IN', 'country': 'IN', 'outbounddate': '2018-01-13', 'market': 'IN'})

    However, the results don't come filtered with includeCarriers.
    In the results we get other Carriers and also the results['Query'] as such.

    "Query": { "DestinationPlace": "10957", "CabinClass": "Economy", "Adults": 1, "Locale": "en-IN", "Country": "IN", "OutboundDate": "2018-01-13", "Currency": "INR", "OriginPlace": "10401", "LocationSchema": "Default", "Infants": 0, "GroupPricing": false, "Children": 0 },

    We tested with the same parameters in the API Test Harness and we got proper results.

    opened by johnsonc 0
  • Country Codes and Places API

    Country Codes and Places API

    Hi Guys,

    I'm having a few issues using the Country Codes (e.g. IE or UK) from the Places API in fetching a Grid of Prices. I get the following issue:

    HTTPError: 400 Client Error: Bad Request for url: http://partners.api.skyscanner.net/apiservices/browsegrid/v1.0/UK/GBP/en-GB/MAN/IE/2017-05/2017-05?apiKey=[API]: For this query please use the following service [BrowseRoutes]

    Is there a way to:

    (a) Get a response in the same way you do when you input cities? I don't see why the output should be any different if the city code is UK or LOND

    (b) Can we filter the places api to filter out country codes?

    opened by ahmasoh1992 1
  • carhire_service.get_result(...) Missing data

    carhire_service.get_result(...) Missing data

    I have reused the example from the documentation but every time I make a request I receive a response without submitted_query, images and car_classes lists. I'm using python 3.4.6

    `from skyscanner.skyscanner import CarHire

    carhire_service = CarHire('my_api_key')

    result = carhire_service.get_result( market='UK', currency='GBP', locale='en-GB', pickupplace='27544008', dropoffplace='27544008', pickupdatetime='2017-04-18T10:00', dropoffdatetime='2017-04-25T10:00', driverage='21', userip='127.0.0.1').parsed

    print(result) `

    opened by davidch413 1
  • Airport List

    Airport List

    How do we access your list of airports and their codes, including things like "All London airports", so that we can develop our front end to speak to your api?

    opened by ahmasoh1992 1
  • 'Response' object has no attribute 'lower'

    'Response' object has no attribute 'lower'

    Hello! I'm trying to do something with SkyScanner API, and I decided to start with simple examples on Github. But it seems not to work, and the following error appears:

    image

    Can you help me to solve this problem? Or maybe I just do something wrong? Anyway, thank you!

    opened by BohdanBorkivskyi 3
Releases(1.1.5)
  • 1.1.5(Apr 22, 2020)

  • 1.1.4(Sep 12, 2016)

  • 1.1.2(Jul 10, 2016)

    • As reported in #15
    • Support for the following additional params during poll requests:
                'locationschema',
                'carrierschema',
                'sorttype',
                'sortorder',
                'originairports',
                'destinationairports',
                'stops',
                'outbounddeparttime',
                'outbounddepartstarttime',
                'outbounddepartendtime',
                'inbounddeparttime',
                'inbounddepartstarttime',
                'inbounddepartendtime',
                'duration',
                'includecarriers',
                'excludecarriers'
    
    • Reference doc: http://business.skyscanner.net/portal/en-GB/Documentation/FlightsLivePricingList#pollsession
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Jul 31, 2015)

  • 1.1.0(Jul 18, 2015)

    • Added support for XML responses. Return full response now + parsed content.
    • Improved error handling and code documentation.
    • Major code refactoring and improvement work.
    • Updated existing tests to use current time and dates.

    Thanks to @ddudnik for all these code improvements and stabilization.

    Source code(tar.gz)
    Source code(zip)
Owner
Skyscanner
Skyscanner
Graviti-python-sdk - Graviti Data Platform Python SDK

Graviti Python SDK Graviti Python SDK is a python library to access Graviti Data

Graviti 13 Dec 15, 2022
A wrapper for aqquiring Choice Coin directly through a Python Terminal. Leverages the TinyMan Python-SDK.

CHOICE_TinyMan_Wrapper A wrapper that allows users to acquire Choice Coin directly through their Terminal using ALGO and various Algorand Standard Ass

Choice Coin 16 Sep 24, 2022
AWS SDK for Python

Boto3 - The AWS SDK for Python Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to wri

the boto project 7.8k Jan 8, 2023
Python SDK for Facebook's Graph API

Facebook Python SDK This client library is designed to support the Facebook Graph API and the official Facebook JavaScript SDK, which is the canonical

Mobolic 2.7k Jan 7, 2023
Box SDK for Python

Box Python SDK Installing Getting Started Authorization Server-to-Server Auth with JWT Traditional 3-legged OAuth2 Other Auth Options Usage Documentat

Box 371 Dec 29, 2022
The Official Dropbox API V2 SDK for Python

The offical Dropbox SDK for Python. Documentation can be found on Read The Docs. Installation Create an app via the Developer Console. Install via pip

Dropbox 828 Jan 5, 2023
Evernote SDK for Python

Evernote SDK for Python Evernote API version 1.28 This SDK is intended for use with Python 2.X For Evernote's beta Python 3 SDK see https://github.com

Evernote 612 Dec 30, 2022
Python SDK for IEX Cloud

iexfinance Python SDK for IEX Cloud. Architecture mirrors that of the IEX Cloud API (and its documentation). An easy-to-use toolkit to obtain data for

Addison Lynch 640 Jan 7, 2023
Unofficial Medium Python Flask API and SDK

PyMedium - Unofficial Medium API PyMedium is an unofficial Medium API written in python flask. It provides developers to access to user, post list and

Engine Bai 157 Nov 11, 2022
The Python SDK for the Rackspace Cloud

pyrax Python SDK for OpenStack/Rackspace APIs DEPRECATED: Pyrax is no longer being developed or supported. See openstacksdk and the rackspacesdk plugi

PyContribs 238 Sep 21, 2022
:snake: Python SDK to query Scaleway APIs.

Scaleway SDK Python SDK to query Scaleway's APIs. Stable release: Development: Installation The package is available on pip. To install it in a virtua

Scaleway 114 Dec 11, 2022
WeChat SDK for Python

___ __ _______ ________ ___ ___ ________ _________ ________ ___ ___ |\ \ |\ \|\ ___ \ |\ ____\|\ \|\ \|\ __ \|\___

wechatpy 3.3k Dec 26, 2022
Python SDK for the Buycoins API.

This library provides easy access to the Buycoins API using the Python programming language. It provides all the feature of the API so that you don't need to interact with the API directly. This library can be used with Python 3.6+

Musa Rasheed 48 May 4, 2022
Graviti TensorBay Python SDK

TensorBay Python SDK is a python library to access TensorBay and manage your datasets. It provides: A pythonic way to access your

Graviti 72 Aug 22, 2022
A Python script for rendering glTF files with V-Ray App SDK

V-Ray glTF viewer Overview The V-Ray glTF viewer is a set of Python scripts for the V-Ray App SDK that allow the parsing and rendering of glTF (.gltf

Chaos 24 Dec 5, 2022
qualysclient - a python SDK for interacting with the Qualys API

qualysclient - a python SDK for interacting with the Qualys API

null 5 Oct 28, 2022
A Python SDK for connecting devices to Microsoft Azure IoT services

V2 - We are now GA! This repository contains code for the Azure IoT SDKs for Python. This enables python developers to easily create IoT device soluti

Microsoft Azure 381 Dec 30, 2022
Tinyman Python SDK

tinyman-py-sdk Tinyman Python SDK Design Goal This SDK is designed for automated interaction with the Tinyman AMM. It will be most useful for develope

Tinyman 113 Dec 30, 2022