# TubeStats

# TubeStats *A hobby project: Consistency in a YouTube channel* Shivan Sivakumaran
## Inspiration - Ali Abdaal - Consistency - how consistent? - Getting better as a beginner - www.tubestats.app
## What does TubeStats do? 1. Takes user input 2. Provides statistics
## 1. User input ```python # Channel ID 'UCoOae5nYA7VqaXzerajD0lg' # Link to channel 'https://www.youtube.com/channel/UCoOae5nYA7VqaXzerajD0lg' # Link to video 'https://www.youtube.com/watch?v=epF2SYpWtos' # Video ID 'epF2SYpWtos' ```
## 2. Statistics ![](all-graph.png)
![](time-diff.png)
## How does TubeStats work? ### Part 1 of 2 1. How to set up a development environment? 2. How to access the video information? 3. How to store password and API keys? 4. How do we get and store the video statistics?
## Development environment ```bash $ mkdir tubestats $ cd tubestats $ python3 -m venv venv $ source venv/bin/activate $ (venv) $ git init ```
## Video information - use `beautifulsoup`, `scraPY`, `selenium` - YouTube Data API
## Storing passwords - Hard code? - `python-dotenv` - `.env` - `.gitignore`
``` # .env API_KEY=xxxxxxxx ``` ```python # tubestats/youtube_api.py from dotenv import load_dotenv load_dotenv() API_KEY = os.getenv('API_KEY') ```
## How does TubeStats work? ### Part 2 of 2 5. How to organise the code? 6. How to test the code? 7. How to display the data and allow interaction? 8. How to account for variable input?