|
| 1 | +# Python Utils Toolkit |
| 2 | + |
| 3 | +A collection of reusable Python utility scripts to help with everyday tasks. This project is designed to grow with daily contributions and improvements. |
| 4 | + |
| 5 | +## Project Structure |
| 6 | + |
| 7 | +``` |
| 8 | +python_utils_toolkit/ |
| 9 | +├── utils/ |
| 10 | +│ ├── __init__.py |
| 11 | +│ ├── file_utils.py # File operations (copy, move, rename, search) |
| 12 | +│ ├── text_utils.py # Text processing (parse, format, validate) |
| 13 | +│ ├── date_utils.py # Date/time operations |
| 14 | +│ ├── web_utils.py # Web utilities (download, scrape, API helpers) |
| 15 | +│ └── system_utils.py # System utilities (disk space, process info) |
| 16 | +├── examples/ |
| 17 | +│ └── demo_scripts.py # Example usage of utilities |
| 18 | +├── tests/ |
| 19 | +│ └── test_utils.py # Unit tests |
| 20 | +├── requirements.txt |
| 21 | +└── README.md |
| 22 | +``` |
| 23 | + |
| 24 | +## Installation |
| 25 | + |
| 26 | +```bash |
| 27 | +# Clone the repository |
| 28 | +git clone <your-repo-url> |
| 29 | +cd python_utils_toolkit |
| 30 | + |
| 31 | +# Install dependencies |
| 32 | +pip install -r requirements.txt |
| 33 | +``` |
| 34 | + |
| 35 | +## Utilities Overview |
| 36 | + |
| 37 | +### File Utilities (`utils/file_utils.py`) |
| 38 | +- `find_files()` - Search files by pattern |
| 39 | +- `get_file_info()` - Get file metadata |
| 40 | +- `batch_rename()` - Rename multiple files |
| 41 | +- `find_duplicates()` - Find duplicate files |
| 42 | +- `organize_by_extension()` - Organize files by type |
| 43 | + |
| 44 | +### Text Utilities (`utils/text_utils.py`) |
| 45 | +- `extract_emails()` - Extract emails from text |
| 46 | +- `extract_urls()` - Extract URLs from text |
| 47 | +- `word_frequency()` - Count word occurrences |
| 48 | +- `slugify()` - Convert text to URL-friendly slug |
| 49 | +- `validate_email()` - Validate email format |
| 50 | + |
| 51 | +### Date Utilities (`utils/date_utils.py`) |
| 52 | +- `time_ago()` - Human-readable time difference |
| 53 | +- `business_days_between()` - Calculate business days |
| 54 | +- `format_duration()` - Format seconds to readable duration |
| 55 | +- `get_week_dates()` - Get all dates in a week |
| 56 | + |
| 57 | +### Web Utilities (`utils/web_utils.py`) |
| 58 | +- `download_file()` - Download file with progress bar |
| 59 | +- `is_url_valid()` - Check if URL is accessible |
| 60 | +- `get_page_title()` - Get webpage title |
| 61 | +- `shorten_url()` - URL shortener helper |
| 62 | + |
| 63 | +### System Utilities (`utils/system_utils.py`) |
| 64 | +- `get_disk_usage()` - Get disk space info |
| 65 | +- `get_system_info()` - Get OS and hardware info |
| 66 | +- `find_large_files()` - Find large files in directory |
| 67 | +- `monitor_process()` - Monitor process resource usage |
| 68 | + |
| 69 | +## Quick Start |
| 70 | + |
| 71 | +```python |
| 72 | +from utils.file_utils import find_files, get_file_info |
| 73 | +from utils.text_utils import extract_emails, slugify |
| 74 | +from utils.date_utils import time_ago |
| 75 | + |
| 76 | +# Find all Python files |
| 77 | +python_files = find_files(".", "*.py") |
| 78 | + |
| 79 | +# Extract emails from text |
| 80 | +emails = extract_emails("Contact us at hello@example.com") |
| 81 | + |
| 82 | +# Get human-readable time |
| 83 | +print(time_ago(datetime(2024, 1, 1))) # "11 months ago" |
| 84 | +``` |
| 85 | + |
| 86 | +## Contributing |
| 87 | + |
| 88 | +This project grows with daily contributions! Here are areas you can improve: |
| 89 | + |
| 90 | +### Ideas for Daily Commits |
| 91 | +1. **Add new utility functions** - Think of common tasks you do repeatedly |
| 92 | +2. **Improve existing functions** - Add error handling, edge cases |
| 93 | +3. **Add unit tests** - Increase test coverage |
| 94 | +4. **Add documentation** - Improve docstrings and examples |
| 95 | +5. **Performance optimizations** - Make functions faster |
| 96 | +6. **Add CLI support** - Make utilities runnable from command line |
| 97 | +7. **Add type hints** - Improve code quality |
| 98 | +8. **Fix bugs** - Address edge cases and issues |
| 99 | + |
| 100 | +### Contribution Areas |
| 101 | +- [ ] Add JSON/CSV/XML parsing utilities |
| 102 | +- [ ] Add image processing utilities |
| 103 | +- [ ] Add encryption/hashing utilities |
| 104 | +- [ ] Add logging utilities |
| 105 | +- [ ] Add configuration management |
| 106 | +- [ ] Add database utilities |
| 107 | +- [ ] Add email sending utilities |
| 108 | +- [ ] Add PDF utilities |
| 109 | +- [ ] Add archive (zip/tar) utilities |
| 110 | +- [ ] Add network utilities |
| 111 | + |
| 112 | +## License |
| 113 | + |
| 114 | +MIT License - Feel free to use, modify, and distribute. |
| 115 | + |
| 116 | +## Author |
| 117 | + |
| 118 | +Your Name |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +*This toolkit is designed to be a living project with continuous improvements. Star the repo and check back for updates!* |
0 commit comments