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
Generates a coverage badge using coverage.py and the shields.io service.

Welcome to README Coverage Badger 👋 Generates a coverage badge using coverage.py and the shields.io service. Your README file is then updated with th

Victor Miti 10 Dec 06, 2022
This is Pdisk Upload Bot made using Python with Pyrogram Framework. Its capable of uploading direct download link with thumbnail or without thumbnail & with Title Support.

Pdisk-Upload-Bot Introduction This Is PDisk Upload Bot Used To Upload Direct Link To Pdisk With Thumb Support Deploy Heroku Deploy Local Deploy pip in

HEIMAN PICTURES 32 Oct 21, 2022
Python Twitter API

Python Twitter Tools The Minimalist Twitter API for Python is a Python API for Twitter, everyone's favorite Web 2.0 Facebook-style status updater for

2.9k Dec 29, 2022
A Discord bot to scrape textfiles from messages and put them to Hastebin

A Discord bot to scrape textfiles from messages and put them to Hastebin. Intended to use on support servers to help users read textfiles on mobile.

1 Jan 23, 2022
This is a music bot for discord written in python

this is a music bot for discord written in python, it is designed for educational use ONLY, I do not take any responsibility for uses outside of educational use

5 Dec 24, 2021
Code release for Transferable Curriculum for Weakly-Supervised Domain Adaptation (AAAI2019)

TCL Code release for Transferable Curriculum for Weakly-Supervised Domain Adaptation (AAAI2019) Dataset Office-31 dataset, with 0.4 label noise Requir

THUML @ Tsinghua University 17 Jul 07, 2022
Automatically copy the Discord Status of a Friend you share a server with (conditions have to be satisfied to work)

CopyDiscordStatusOfUser-SelfBot Basic Function Automatically copy the Discord Status of a friend User whom you share a server with (These conditions h

Certified Baller 5 Aug 05, 2022
A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.

disfork A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using async a

2 Feb 09, 2022
Surfline Forecast Bot For Python

Surfline Forecast Bot A telegram bot created using Telethon that allows users to

1 May 08, 2022
Minecraft name sniper written in python.

⚠️ IMPORTANT ⚠️ DO NOT USE MCSNIPERPY -- READ BELOW This sniper does not support Microsoft accounts or prename / gc sniping and is MUCH harder to use

MCsniperPY 201 Dec 30, 2022
Pythonic event-processing library based on decorators

Process Events In Style This library aims to simplify the common pattern of event processing. It simplifies the process of filtering, dispatching and

Nicolas Marier 3 Sep 01, 2022
Pixoo-Awesome is a tool to get more out of your Pixoo Devices.

Pixoo-Awesome is a tool to get more out of your Pixoo Devices. It uses the Pixoo-Client to connect to your Pixoo devices and send data to them. I targ

Horo 10 Oct 27, 2022
A small repository with convenience functions for working with the Notion API.

Welcome! Within this respository are a few convenience functions to assist with the pulling and pushing of data from the Notion API.

10 Jul 09, 2022
Python based Algo trading bot for Nifty / Banknifty futures and options

Fully automated Alice Blue Algo Trading with Python on NSE and MCX for Nifty / Crude / Banknifty futures and options , absolutely FREE ! This algo tra

Rajesh Sivadasan 49 Dec 31, 2022
A pyrogram simple bot for Educational purpose.

A pyrogram simple bot for Educational purpose. To Learn More check at @PyrogramBot or on Documentation Mandatory variables API_ID - Get It From my.tel

SpamShield 10 Dec 06, 2022
:lock: Python 2.7/3.X client for HashiCorp Vault

hvac HashiCorp Vault API client for Python 3.x Tested against the latest release, HEAD ref, and 3 previous minor versions (counting back from the late

hvac 1k Dec 29, 2022
An asyncio Python wrapper around the Discord API, forked off of Rapptz's Discord.py.

Novus A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. A full fork of Rapptz's Discord.py library, with

Voxel Fox 60 Jan 03, 2023
Use GitHub Actions to create a serverless service.

ActionServerless - Use GitHub Actions to create a serverless service ActionServerless is an action to do some computing and then generate a string/JSO

107 Oct 28, 2022
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
GBSLocalLauncher - A script to compose ENV file for Local Compose

GBSLocalLauncher This is a script to compose ENV file for Local Compose. It crea

2 Jan 27, 2022