mr-karan / swiggy-analytics

Analyse your swiggy orders 🍔
MIT License
273 stars 37 forks source link
analytics cli expense-tracker food prompt-toolkit swiggy

swiggy-analytics

version GitHub license

Overview image

swiggy-analytics is CLI for fetching past orders from Swiggy and storing them in a local SQLLite DB. It also displays basic stats on your order history in the terminal, such as your most frequently order dish, your monthly expenditure, weekday wise distribution of orders and much more. For more advanced users, who wish to perform their own analysis, can do so by using the sqlite3 db file which is generated.

NOTE: Only supported by Python3. Seriously, if you're still using Python2, please STOP. I've tested it on Python3.5+ on OSX and Ubuntu 18.04 Vagrant machine.

Important Disclaimer

This tool needs to login to your Swiggy account and fetch the order history. The account username lives on your local file system. If you don't feel comfortable entering these details, you can audit the code yourself to be sure that this information is not used in any evil way. There's an OTP which is sent to your registered mobile number, which is required everytime you fetch orders. Cheers!

Getting Started

Installation

pip install swiggy-analytics

Setting up account

If you run swiggy-analytics for the first time, it will prompt you for your registered mobile number. An OTP will be sent to your phone and after the session is authenticated, a file .swiggy-analytics-config.ini is created in your home directory. The file contains your username to your Swiggy account, so you don't have to re-enter this detail everytime you run the tool.

You can also regenrate your config file by explictly passing the flag with the command executable, such as: swiggy-analytics --configure

NOTE: Username is your phone number which you have registered with your Swiggy account.

Quickstart

swiggy-analytics --save

fetch

Advanced

You can write your own SQL queries by importing swiggy.db in your DB tool. I personally used Metabase and setup a dashboard with interesting charts presenting patterns on my ordering behaviour.

metabase-1 metabase-2

Credits

Contribution

PRs on Feature Requests, Bug fixes are welcome. Feel free to open an issue and have a discussion first.

License

MIT

Disclaimer

This tool is only intended for personal use and is a simple demonstration. It is in open domain and I am not responsible if you use it and violate any TnC. Or as they say, it's for science.