A simple, ready-to-use Python project for people who have ideas but are new to programming.
This starter kit helps you quickly build:
- π Data tools β Analyze CSV/Excel files and create reports
- π€ Bots β Build Telegram or Discord bots
- π Web apps β Create interactive dashboards
- π§ AI tools β Use ChatGPT or Claude in your own programs
- π Text analysis β Analyze documents, word frequency, sentiment
- π Web scraping β Collect data from websites
- π PDF processing β Extract text from PDF documents
- πΊοΈ Mapping β Create interactive maps with your data
- πΈοΈ Network analysis β Visualize relationships and connections
- π€ Audio transcription β Convert speech to text
- πΌοΈ Image analysis β Extract text and analyze images
No complicated setup required β just run one script and start coding!
chmod +x setup.sh
./setup.shThis automatically:
- Creates a safe working environment
- Installs all the tools you need
- Sets up configuration files
# On Mac/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activateYou'll see (.venv) appear in your terminal β this means it's working!
# Run the main program
python src/main.py
# Or launch a web app
streamlit run templates/tool_web_template.py
# Or open Jupyter for data analysis
jupyter notebookThat's it! You're ready to code. π
python-tool-starter-kit/
βββ README.md # Main guide (you are here!)
βββ setup.sh # Run this first - sets everything up
βββ .env.example # Template for your secret keys
βββ requirements.txt # List of tools to install
β
βββ src/ # Helper code you can use
β βββ config.py # Manages your .env settings
β βββ utils.py # Useful functions
β βββ main.py # Example program
β
βββ templates/ # π EXAMPLES TO LEARN FROM
β β
β βββ bot_templates/ # π€ Make Telegram/Discord bots
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ telegram_bot.py # Full-featured bot
β β βββ simple_reminder_bot.py # Beginner-friendly example
β β
β βββ web_templates/ # π Build websites & dashboards
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ dashboard.py # Complete dashboard
β β βββ simple_calculator.py # Easy calculator app
β β βββ file_converter.py # CSV βοΈ Excel converter
β β
β βββ data_templates/ # π Analyze spreadsheets
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ data_analysis.ipynb # Full data analysis example
β β
β βββ ai_templates/ # π§ Use ChatGPT/Claude
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ chatbot.ipynb # AI chatbot notebook
β β βββ simple_chatbot.py # Command-line chatbot
β β
β βββ text_templates/ # π Text analysis
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ simple_text_analyzer.py # Word frequency & sentiment
β β
β βββ scraping_templates/ # π Web scraping
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ simple_scraper.py # Basic web scraper
β β βββ web_scraper_app.py # Interactive scraper app
β β
β βββ pdf_templates/ # π PDF processing
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ simple_pdf_reader.py # Extract text from PDFs
β β βββ pdf_tool_app.py # PDF tool web app
β β
β βββ mapping_templates/ # πΊοΈ Mapping & GIS
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ simple_map.py # Interactive map creator
β β
β βββ network_templates/ # πΈοΈ Network analysis
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ simple_network.py # Network visualizer
β β
β βββ audio_templates/ # π€ Audio transcription
β β βββ HOW_TO_USE.md # β Read this first!
β β βββ simple_transcriber.py # Speech to text
β β
β βββ image_templates/ # πΌοΈ Image analysis
β βββ HOW_TO_USE.md # β Read this first!
β βββ simple_image_analyzer.py # OCR & AI analysis
β
βββ data/ # Store your files here
β βββ raw/ # Put your CSV/Excel files here
β βββ processed/ # Processed data saves here
β
βββ notebooks/ # Jupyter notebooks
βββ demo.ipynb # Interactive tutorial
Each template folder has:
- HOW_TO_USE.md β Complete guide on how to use the templates
- Multiple examples β From simple to advanced
- Ready to run β Just follow the instructions!
| Folder | What's Inside | Start Here |
|---|---|---|
bot_templates/ |
Telegram/Discord bots | Read HOW_TO_USE.md |
web_templates/ |
Interactive websites | Read HOW_TO_USE.md |
data_templates/ |
Data analysis tools | Read HOW_TO_USE.md |
ai_templates/ |
AI-powered tools | Read HOW_TO_USE.md |
text_templates/ |
Text analysis & word clouds | Read HOW_TO_USE.md |
scraping_templates/ |
Web scraping tools | Read HOW_TO_USE.md |
pdf_templates/ |
PDF text extraction | Read HOW_TO_USE.md |
mapping_templates/ |
Interactive maps | Read HOW_TO_USE.md |
network_templates/ |
Network visualization | Read HOW_TO_USE.md |
audio_templates/ |
Audio transcription | Read HOW_TO_USE.md |
image_templates/ |
Image analysis & OCR | Read HOW_TO_USE.md |
Pre-written functions to make your life easier:
config.pyβ Safely load API keys from.envutils.pyβ Time formatting, file handling, etc.main.pyβ Example of how to use them
data/raw/β Put your original CSV/Excel files heredata/processed/β Your programs save results here
Essential dependencies included:
# Core
python-dotenv # Environment variable management
requests # HTTP requests
# Data Processing
pandas # Data manipulation
numpy # Numerical computing
openpyxl # Excel file support
# Web Frameworks
streamlit # Interactive web apps
flask # Web framework
# AI/ML
openai # OpenAI API (GPT models)
anthropic # Anthropic API (Claude models)
# Bots
python-telegram-bot # Telegram bot framework
discord.py # Discord bot framework
# Jupyter
jupyter # Jupyter notebook
matplotlib # Plotting
seaborn # Statistical visualization
# Text Analysis
wordcloud # Word cloud generation
textblob # Sentiment analysis
# Web Scraping
beautifulsoup4 # HTML parsing
lxml # Fast XML/HTML parser
# PDF Processing
PyPDF2 # PDF text extraction
pdfplumber # Advanced PDF extraction
# Mapping / GIS
folium # Interactive maps
streamlit-folium # Folium for Streamlit
geopy # Geocoding
# Network Analysis
networkx # Network/graph analysis
pyvis # Interactive network viz
# Image Processing
Pillow # Image manipulation
pytesseract # OCR (text from images)
# Audio
pydub # Audio processing
Think of .env as your secret notebook β it stores passwords, API keys, and other private information your program needs.
Imagine you're building a bot that talks to ChatGPT. ChatGPT needs to know it's really YOU calling it, so OpenAI gives you a special key (like a password).
β Bad idea: Write the key directly in your code
api_key = "sk-abc123xyz" # Everyone can see this!β
Good idea: Store it in .env file
# In .env file:
OPENAI_API_KEY=sk-abc123xyz
# In your code:
from src.config import settings
api_key = settings.OPENAI_API_KEY # Hidden and safe!1. The .env.example file shows you what you need:
OPENAI_API_KEY=your_openai_api_key_here
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here2. Create your own .env file:
cp .env.example .env3. Open .env and add your real keys:
# Open with any text editor
nano .env
# or
code .envReplace your_openai_api_key_here with your actual key from OpenAI.
β DO:
- Keep
.envon your computer only - Never share it online
- Make one
.envfile per project
β DON'T:
- Put
.envon GitHub - Email it to anyone
- Copy-paste keys in chat
Why? Because .env is already listed in .gitignore, which tells Git to ignore it. This keeps your secrets safe!
- OpenAI (ChatGPT): https://platform.openai.com/api-keys
- Anthropic (Claude): https://console.anthropic.com/
- Telegram Bot: Message @BotFather on Telegram
Location: templates/bot_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Simple reminder bot (great for beginners!)
python templates/bot_templates/simple_reminder_bot.py
# Full-featured Telegram bot
python templates/bot_templates/telegram_bot.pyWhat you'll learn:
- Respond to user commands
- Send automated messages
- Handle conversations
- Schedule tasks
Resources:
Location: templates/web_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Simple calculator (easiest!)
streamlit run templates/web_templates/simple_calculator.py
# File converter
streamlit run templates/web_templates/file_converter.py
# Complete dashboard
streamlit run templates/web_templates/dashboard.pyWhat you'll learn:
- Build interactive websites
- Upload and download files
- Create forms and buttons
- Display data in tables and charts
Location: templates/data_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Open Jupyter and run the notebook
jupyter notebook templates/data_templates/data_analysis.ipynbWhat you'll learn:
- Load CSV/Excel files
- Clean messy data
- Calculate statistics
- Create visualizations
- Export results
Location: templates/ai_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Command-line chatbot (easiest!)
python templates/ai_templates/simple_chatbot.py
# Full AI notebook
jupyter notebook templates/ai_templates/chatbot.ipynbWhat you'll learn:
- Use ChatGPT and Claude APIs
- Build conversational AI
- Control AI responses
- Save conversation history
Location: templates/text_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Text analyzer web app
streamlit run templates/text_templates/simple_text_analyzer.pyWhat you'll learn:
- Word frequency analysis
- Sentiment analysis
- Create word clouds
- Process documents
Location: templates/scraping_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Basic scraper script
python templates/scraping_templates/simple_scraper.py
# Interactive scraper app
streamlit run templates/scraping_templates/web_scraper_app.pyWhat you'll learn:
- Fetch web pages
- Extract data from HTML
- Build datasets from websites
- Ethical scraping practices
Location: templates/pdf_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Extract text from PDFs
python templates/pdf_templates/simple_pdf_reader.py
# PDF tool web app
streamlit run templates/pdf_templates/pdf_tool_app.pyWhat you'll learn:
- Extract text from PDFs
- Read PDF metadata
- Process multiple documents
- Handle scanned documents (OCR)
Location: templates/mapping_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Interactive map creator
streamlit run templates/mapping_templates/simple_map.pyWhat you'll learn:
- Create interactive maps
- Add markers and popups
- Visualize geographic data
- Export maps as HTML
Location: templates/network_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Network visualizer app
streamlit run templates/network_templates/simple_network.pyWhat you'll learn:
- Visualize relationships
- Find important nodes
- Analyze social networks
- Create network graphs
Location: templates/audio_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Audio transcriber app
streamlit run templates/audio_templates/simple_transcriber.pyWhat you'll learn:
- Convert speech to text
- Use OpenAI Whisper API
- Process interview recordings
- Transcribe multiple languages
Location: templates/image_templates/
Read: HOW_TO_USE.md in that folder
Examples to run:
# Image analyzer app
streamlit run templates/image_templates/simple_image_analyzer.pyWhat you'll learn:
- Extract text from images (OCR)
- AI-powered image description
- Read image metadata
- Process document photos
These are AI assistants that run in your terminal and help you write code. Think of them as having an expert programmer sitting next to you!
- β Write code faster β AI generates code for you
- β Fix bugs instantly β AI finds and fixes errors
- β Learn as you go β AI explains what the code does
- β No copy-pasting β AI writes directly in your files
- β Works with any language β Python, JavaScript, etc.
Made by Anthropic β Official Claude AI in your terminal
What it does:
- Writes and edits code in your files
- Explains code and concepts
- Debugs errors and suggests fixes
- Searches documentation for you
Install:
npm install -g @anthropic-ai/claude-codeUse:
claude-codeLearn more: https://docs.claude.com/claude-code
Made by OpenAI DevDay β Generous free trial!
What it does:
- Same features as Claude Code
- Terminal operations and debugging
- Quick coding assistance
Free Trial: Get a large number of free requests to test it out!
Install:
curl -fsSL https://droid.dev/install.sh | shLearn more: https://droid.dev
- Open your terminal in your project folder
- Run the command (
claude-codeordroid) - Ask for help:
- "Create a function that calculates average"
- "Fix the error in main.py"
- "Explain what this code does"
- "Add comments to my functions"
Example conversation:
You: Create a calculator function
AI: [Creates the function in your file]
You: Add error handling
AI: [Updates the function with try/catch]
You: Explain how it works
AI: [Explains the code step by step]
Git saves snapshots of your code so you can undo mistakes:
# Save your changes
git add .
git commit -m "Describe what you changed"
git push
# See what changed
git statusImportant: Never commit your .env file! It's automatically ignored.
- Pick a template folder that matches what you want to build
- Read the HOW_TO_USE.md file in that folder
- Start with the simplest example (usually named
simple_...) - Run it and see what it does
- Then modify it to do what you want!
# Make sure your environment is active
source .venv/bin/activate
# Reinstall packages
pip install -r requirements.txtCheck your .env file format:
# β
Correct:
OPENAI_API_KEY=sk-abc123
# β Wrong (no spaces, no quotes):
OPENAI_API_KEY = sk-abc123
OPENAI_API_KEY="sk-abc123"# Use a different port
streamlit run templates/tool_web_template.py --server.port 8502# Make the script runnable
chmod +x setup.sh- Python.org Tutorial - Official guide
- Real Python - Practical tutorials
- OpenAI Docs - For AI tools
- Streamlit Docs - For web apps
- Telegram Bot Guide - For bots
Happy coding! π
Questions? Ask your instructor or open an issue on GitHub.