DEV Community

Hive80-lab
Hive80-lab

Posted on

10 Python Automation Scripts That Save 20 Hours/Week

10 Python Automation Scripts That Save 20 Hours/Week

I went from spending 30 hours/week on repetitive tasks to just 10 hours. Here are the exact Python scripts that made it happen.

1. Automated Email Reports (Saves 3 hrs/week)

import smtplib
from email.mime.text import MIMEText
import pandas as pd

def send_weekly_report():
    data = {'Task': ['Emails', 'Meetings', 'Code Review'], 
            'Hours': [5, 8, 4]}
    df = pd.DataFrame(data)

    msg = MIMEText(df.to_string())
    msg['Subject'] = 'Weekly Productivity Report'
    msg['To'] = 'team@company.com'

    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login('email@gmail.com', 'password')
    server.send_message(msg)
    server.quit()
Enter fullscreen mode Exit fullscreen mode

2. File Organization Bot (Saves 2 hrs/week)

import os
import shutil
from pathlib import Path

def organize_downloads():
    downloads = Path.home() / 'Downloads'

    for file in downloads.iterdir():
        if file.suffix == '.pdf':
            shutil.move(str(file), str(downloads / 'Documents'))
        elif file.suffix in ['.jpg', '.png']:
            shutil.move(str(file), str(downloads / 'Images'))
Enter fullscreen mode Exit fullscreen mode

3. Social Media Scheduler (Saves 4 hrs/week)

import schedule
import time

def post_tweet():
    tweet = "Just automated another task with Python!"
    print(f"Posted: {tweet}")

schedule.every().day.at("09:00").do(post_tweet)

while True:
    schedule.run_pending()
    time.sleep(3600)
Enter fullscreen mode Exit fullscreen mode

4. Invoice Generator (Saves 2 hrs/week)

from fpdf import FPDF
import datetime

class InvoiceGenerator:
    def __init__(self):
        self.pdf = FPDF()
        self.pdf.add_page()
        self.pdf.set_font('Arial', 'B', 16)

    def create_invoice(self, client, items, total):
        self.pdf.cell(0, 10, f'Invoice for {client}', 0, 1)
        self.pdf.set_font('Arial', '', 12)
        for item in items:
            self.pdf.cell(0, 10, f"{item['name']}: ${item['price']}", 0, 1)
        self.pdf.cell(0, 10, f'Total: ${total}', 0, 1)
        self.pdf.output(f'invoice_{datetime.date.today()}.pdf')
Enter fullscreen mode Exit fullscreen mode

5. Meeting Notes Summarizer (Saves 1 hr/week)

def summarize_meeting(transcript):
    key_points = []
    for line in transcript.split('.'):
        if any(word in line.lower() for word in ['action', 'deadline', 'assign', 'next']):
            key_points.append(line.strip())
    return key_points
Enter fullscreen mode Exit fullscreen mode

6. Data Backup Automation (Saves 30 min/week)

import shutil
from datetime import datetime

def backup_data():
    timestamp = datetime.now().strftime('%Y%m%d')
    shutil.make_archive(f'backup_{timestamp}', 'zip', '/path/to/data')
    print(f"Backup created: backup_{timestamp}.zip")
Enter fullscreen mode Exit fullscreen mode

7. Customer Support Auto-Responder (Saves 3 hrs/week)

def auto_responder(email_body, customer_email):
    responses = {
        'shipping': 'Your order ships within 24 hours.',
        'refund': 'Refunds processed within 5 business days.',
        'technical': 'For technical support, please include your order number.'
    }

    for keyword, response in responses.items():
        if keyword in email_body.lower():
            return response
    return "Thank you for reaching out. We will respond within 24 hours."
Enter fullscreen mode Exit fullscreen mode

8. Web Scraper for Competitor Analysis (Saves 2 hrs/week)

import requests
from bs4 import BeautifulSoup

def scrape_competitor_prices(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    prices = [elem.text for elem in soup.find_all(class_='price')]
    return prices
Enter fullscreen mode Exit fullscreen mode

9. Calendar Sync Tool (Saves 1 hr/week)

from datetime import datetime, timedelta

def sync_calendars(events):
    synced = []
    for event in events:
        if event['start'] > datetime.now():
            synced.append(event)
    return sorted(synced, key=lambda x: x['start'])
Enter fullscreen mode Exit fullscreen mode

10. Expense Tracker (Saves 1 hr/week)

import csv
from collections import defaultdict

def track_expenses(csv_file):
    categories = defaultdict(float)
    with open(csv_file) as f:
        reader = csv.DictReader(f)
        for row in reader:
            categories[row['category']] += float(row['amount'])
    return dict(categories)
Enter fullscreen mode Exit fullscreen mode

Want These Scripts Ready-to-Use?

I have packaged all 10 scripts (plus 15 more) in my Ops Starter Kit. It includes:

  • 25+ ready-to-use automation scripts
  • Step-by-step setup guides
  • Priority support
  • Lifetime updates

Get the Ops Starter Kit for $27

What automation tasks are you struggling with? Let me know in the comments!

Top comments (0)