(notice : the tool is vibecoded)
Your custom Python tool includes:
- Fetch and parse websites
- Extract titles, headings, links, images
- Save scraped data as JSON
- User-Agent headers for compatibility
- CSV Analysis: Load, analyze statistics, identify missing values
- Text Analysis: Character count, word count, unique words, sentence analysis
- Advanced statistical breakdowns
- Test REST APIs (GET, POST, PUT, DELETE, PATCH)
- Custom headers and JSON body support
- Response time tracking
- Detailed response inspection
- JSON β CSV conversion
- Merge multiple files
- Batch processing support
Download from: https://www.python.org/
pip install requests beautifulsoup4 pandaspython my_python_tool.pyThe tool has a modern dark-themed interface with:
- Tabbed Navigation - Switch between different tools
- Real-time Logging - Color-coded output (Success, Error, Warning, Info)
- File Dialogs - Easy file selection
- Threading - Non-blocking operations
- Enter URL (e.g.,
https://example.com) - Click "Scrape Website"
- Choose location to save JSON results
- View results in the output panel
Example Output:
{
"title": "Example Domain",
"url": "https://example.com",
"headings": ["Example Domain"],
"links_count": 1,
"images_count": 0,
"links": [{"text": "More information...", "href": "https://www.iana.org/..."}]
}- Click "Analyze CSV"
- Select your CSV file
- View statistics in output panel
Shows:
- Row and column count
- Column names and data types
- Missing values
- Numeric statistics
- Paste text in the input area
- Click "Analyze Text"
- View detailed statistics
Shows:
- Character/word/line counts
- Average word length
- Unique word count
- Sentence count
- Number of special characters
- Select HTTP method (GET, POST, PUT, DELETE, PATCH)
- Enter API URL
- Add headers (JSON format) - optional
- Add request body (JSON format) - optional for POST/PUT
- Click "Send Request"
- View response status, time, and body
Example Request:
Method: POST
URL: https://api.example.com/users
Headers: {"Authorization": "Bearer token123", "Content-Type": "application/json"}
Body: {"name": "John", "email": "john@example.com"}
- Select conversion type:
- JSON to CSV - Convert single JSON file
- CSV to JSON - Convert single CSV file
- Merge Files - Combine multiple CSV/JSON files
- Select input file(s)
- Choose output location
- Click "Start Conversion"
Merge Example:
- Combine:
data1.csv,data2.csv,data3.csv - Output:
merged.csv(all data combined)
Edit my_python_tool.py to add your own features:
# Example: Add new module
class MyCustomModule:
@staticmethod
def my_function(data):
# Your code here
return resultdef create_custom_tab(self):
frame = ttk.Frame(self.notebook)
self.notebook.add(frame, text="π My Custom Tab")
# Add your widgets
ttk.Label(frame, text="Hello!").pack()- π’ Green (β ) - Success messages
- π΄ Red (β) - Error messages
- π‘ Yellow (
β οΈ ) - Warning messages - π΅ Blue (βΉοΈ) - Info messages
Use "Clear Output" button to reset logs.
- API keys and tokens: Use environment variables, not hardcoded
- Web scraping: Check website's robots.txt and terms of service
- User-Agent: Always include proper headers when scraping
- Large files may take time to process
- The tool uses threading to prevent UI freezing
- Output is limited to last 1000 lines for performance
- CSV: UTF-8 encoding, comma-separated
- JSON: Valid JSON only (use JSON validator if unsure)
pip install --upgrade requests beautifulsoup4 pandas- Check internet connection
- Verify URL is correct
- Check firewall settings
- Some websites may block scraping
- Use full file path or navigate using file dialog
- Check file permissions
- Validate JSON at: https://jsonlint.com/
- Use proper quotes (double quotes, not single)
my_python_tool.py
βββ ToolConfig # Configuration and styling
βββ OutputLogger # Logging and output handling
βββ WebScraperModule # Web scraping functionality
βββ DataAnalysisModule # Data analysis tools
βββ APIModule # API interaction
βββ FileModule # File conversion and merging
βββ MainApp # Main UI application
- Requests Library: https://requests.readthedocs.io/
- BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/
- Pandas: https://pandas.pydata.org/docs/
- Tkinter: https://docs.python.org/3/library/tkinter.html
- OS: Windows, macOS, Linux
- Python: 3.8 or higher
- RAM: 512MB minimum (1GB+ recommended)
- Disk Space: 100MB for dependencies
You can extend the tool to process multiple files:
import glob
# Process all CSV files in a directory
for csv_file in glob.glob('data/*.csv'):
df, stats = DataAnalysisModule.load_csv(csv_file)
# Process each fileAdd SQLite support:
import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()Use schedule library for automated operations:
pip install scheduleFor issues or questions:
- Check the troubleshooting section
- Review error messages in the output panel
- Check library documentation
- Verify file formats and API endpoints
This tool is provided as-is for personal and educational use.
Last Updated: 2024-04-13 Version: 1.0 Author: Custom Build