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
SUPPORTS 500 GROUPS NO NEED OF BOT ๐Ÿ˜‰

LOVELY RADIO SUPPORTS 500 GROUPS NO NEED OF BOT ๐Ÿ˜‰ Requirements Telegram API_ID , API_HASH and SESSION_NAME HEROKU Get YouTube live stream link instal

6 Nov 24, 2021
A telegram smoot and high quality music player bot.

โ–ช๏ธŽ Music Player โ–ช๏ธŽ A smooth telegram music bot with high quality songs โ–  [Features] โ€ข Fast Starts streaming your inputs while downloading and converti

Simple Boy 3 Feb 05, 2022
A repo containing toolings and software useful for a DevOps Engineer

DevOps-Tooling A repo containing toolings and software useful for a DevOps Engineer (or if you're setting up your Mac from the beginning) Currently se

Mohamed Abukar 45 Dec 12, 2022
Automatic Video Library Manager for TV Shows

Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. Dependen

1.5k Dec 22, 2022
Weather Tracker, made with Python using Open Weather API

Weather Tracker Weather Tracker, made with Python using Open Weather API

Sahil Kumar 1 Feb 07, 2022
Unfollows Users You're Following

Github-Unfollow-Bot Info It unfollows users you're following, it runs in the background so you can still do what you do without it bothering you. It's

ExT 4 Sep 03, 2022
A simple library for interacting with Amazon SQS.

qoo is a very simple Amazon SQS client, written in Python. It aims to be much more straight-forward to use than boto3, and specializes only in Amazon

Jacobi Petrucciani 2 Oct 30, 2020
Python SDK for LUSID by FINBOURNE, a bi-temporal investment management data platform with portfolio accounting capabilities.

LUSIDยฎ Python SDK This is the Python SDK for LUSID by FINBOURNE, a bi-temporal investment management data platform with portfolio accounting capabilit

FINBOURNE 6 Dec 24, 2022
A discord webhook client written in Python.

DiscordWebhook A discord webhook client written in Python. Installation pip install webhook-client Example from webhook_client import WebhookClient, E

Elijah 4 Nov 28, 2022
DoriBot -Discord Chat Bot

DoriBot -Discord Chat Bot Please do not use these source files for commercial use. Be sure to mark the source. ์ด์ œ ๋”์ด์ƒ์˜ ๋ฉ”์ด์ € ์—…๋ฐ์ดํŠธ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ๋“ค์€ ์กด์žฌํ•ฉ๋‹ˆ

queenanna1999 0 Mar 30, 2022
A Python Script to automate searching of available vaccination centers in the city and hence booking

Cowin Vaccine Availability Notifier Cowin Vaccine Availability Notifier takes your City or PIN code as an input and automatically notifies you via ema

Jayesh Padhiar 7 Sep 05, 2021
Automatically searching for vaccine appointments

Vaccine Appointments Automatically searching for vaccine appointments Usage To copy this package, run: git clone https://github.com/TheIronicCurtain/v

58 Apr 13, 2021
AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.

AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.

Sougata 4 Jul 12, 2022
Wrapper for Between - ๋น„ํŠธ์œˆ์„ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

PyBetween Wrapper for Between - ๋น„ํŠธ์œˆ์„ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Legal Disclaimer ์˜ค์ง ๊ต์œก์  ๋ชฉ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋น„ํŠธ์œˆ์€ VCNC์˜ ์ž์‚ฐ์ž…๋‹ˆ๋‹ค. ์•…์˜์  ๊ณต๊ฒฉ์— ์ด์šฉํ• ์‹œ ์ฒ˜๋ฒŒ ๋ฐ›์„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ ์ฑ…์ž„์€ ์‚ฌ์šฉ์ž๊ฐ€

1 Mar 15, 2022
Guilherme Matheus 11 Sep 11, 2022
Token-gate Notion pages

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

John 8 Oct 13, 2022
A little proxy tool based on Tencent Cloud Function Service.

SCFProxy ไธ€ไธชๅŸบไบŽ่…พ่ฎฏไบ‘ๅ‡ฝๆ•ฐๆœๅŠก็š„ๅ…่ดนไปฃ็†ๆฑ ใ€‚ ๅฎ‰่ฃ… python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt ้กน็›ฎ้…็ฝฎ ๅ‡ฝๆ•ฐ้…็ฝฎ ๅผ€้€š่…พ่ฎฏไบ‘ๅ‡ฝๆ•ฐๆœๅŠก ๅœจ ๅ‡ฝๆ•ฐๆœๅŠก ๆ–ฐๅปบ ไธญไฝฟ็”จ่‡ชๅฎšไน‰

Mio 716 Dec 26, 2022
This is a bot which you can use in telegram to spam without flooding and enjoy being in the leaderboard

Telegram-Count-spamming-Bot This is a bot which you can use in telegram to spam without flooding and enjoy being in the leaderboard You can avoid the

Lalan Kumar 1 Oct 23, 2021
Save data from Instagram takeout to a SQLite database

instagram-to-sqlite Save data from a Instagram takeout to a SQLite database. Mise En Place git clone https://github.com/gavindsouza/instagram-to-sqlit

gavin 8 Dec 13, 2022