All Projects β†’ mr-karan β†’ Swiggy Analytics

mr-karan / Swiggy Analytics

Licence: mit
Analyse your swiggy orders πŸ”

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Swiggy Analytics

Phpinsights
πŸ”° Instant PHP quality checks from your console
Stars: ✭ 4,442 (+2625.15%)
Mutual labels:  cli, analytics
Stacks Cli
πŸ“Š Analyze website stack from the terminal πŸ’»
Stars: ✭ 1,962 (+1103.68%)
Mutual labels:  cli, analytics
Swiftinfo
πŸ“Š Extract and analyze the evolution of an iOS app's code.
Stars: ✭ 880 (+439.88%)
Mutual labels:  cli, analytics
Goaccess
GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.
Stars: ✭ 14,096 (+8547.85%)
Mutual labels:  cli, analytics
Rels
Github release analytics for the console
Stars: ✭ 90 (-44.79%)
Mutual labels:  cli, analytics
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (-4.29%)
Mutual labels:  cli
Goatcounter
Easy web analytics. No tracking of personal data.
Stars: ✭ 2,270 (+1292.64%)
Mutual labels:  analytics
Eslint Watch
ESLint with simple watching capabilities
Stars: ✭ 159 (-2.45%)
Mutual labels:  cli
Passw0rd
πŸ”‘securely checks a password to see if it has been previously exposed in a data breach
Stars: ✭ 159 (-2.45%)
Mutual labels:  cli
Rtop
rtop is an interactive, remote system monitoring tool based on SSH
Stars: ✭ 1,963 (+1104.29%)
Mutual labels:  cli
Hugo Academic Cli
πŸ“š Import academic publications from Bibtex to Hugo
Stars: ✭ 158 (-3.07%)
Mutual labels:  cli
Domain Cli
Search domain names if registered or not in terminal
Stars: ✭ 161 (-1.23%)
Mutual labels:  cli
Git Machete
Probably the sharpest git repository organizer & rebase/merge workflow automation tool you've ever seen ;)
Stars: ✭ 158 (-3.07%)
Mutual labels:  cli
Table rex
An Elixir app which generates text-based tables for display
Stars: ✭ 161 (-1.23%)
Mutual labels:  cli
Xstate Codegen
A codegen tool for 100% TS type-safety in XState
Stars: ✭ 158 (-3.07%)
Mutual labels:  cli
Prettier Stylelint
code > prettier > stylelint > formatted code
Stars: ✭ 162 (-0.61%)
Mutual labels:  cli
Save Analytics From Content Blockers
A proxy back end for Google Tag Manager & Google Analytics
Stars: ✭ 159 (-2.45%)
Mutual labels:  analytics
Arcadeanalytics
Arcade Analytics is the first Open Source Graph Analytics platform. Connect your Graph Database (Neo4j, OrientDB, Amazon Neptune, Microsoft CosmosDB, etc) and RDBMS (Oracle, MySQL, Postgres, Microsoft SQLServer, MariaDB) to create powerful dashboards.
Stars: ✭ 161 (-1.23%)
Mutual labels:  analytics
Paris
Logger in Rust for pretty colors and text in the terminal. Aiming for a relatively simple API
Stars: ✭ 162 (-0.61%)
Mutual labels:  cli
Cistern
A terminal UI for Unix to monitor Continuous Integration pipelines from the command line. Current integrations include GitLab, Azure DevOps, Travis CI, AppVeyor and CircleCI.
Stars: ✭ 161 (-1.23%)
Mutual labels:  cli

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

  • If you want to persist the orders data to a local database, you should use the --save flag. This option would generate a swiggy.db file in your current working directory.
  • In case you just want to run it once and see basic stats, you can skip this flag and the tool will hold the data in an in memory DB which would last only till the program is running.

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

  • @knadh for the print_bars function which is used to draw simple bar graph on the terminal.
  • Python Prompt Toolkit for helping me flesh out a good looking CLI so easily! <3 this library.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].