Skip to content

Commit 98a2c8a

Browse files
Add comprehensive README.md with documentation, examples, and contribution guidelines
1 parent adfc28c commit 98a2c8a

1 file changed

Lines changed: 122 additions & 0 deletions

File tree

README.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
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

Comments
 (0)