tabmind 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
tabmind-0.2.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 TabMind Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,4 @@
1
+ include README.md
2
+ include LICENSE
3
+ include requirements.txt
4
+ recursive-include tabmind *.json
tabmind-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,417 @@
1
+ Metadata-Version: 2.4
2
+ Name: tabmind
3
+ Version: 0.2.0
4
+ Summary: TabMind - Smart Tab Manager with AI assistance and productivity features
5
+ Author: Ishika Banga
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/yourusername/TabMind
8
+ Project-URL: Bug Tracker, https://github.com/yourusername/TabMind/issues
9
+ Project-URL: Repository, https://github.com/yourusername/TabMind.git
10
+ Keywords: cli,tab-manager,productivity,ai,due-dates
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Development Status :: 3 - Alpha
19
+ Classifier: Intended Audience :: End Users/Desktop
20
+ Classifier: Topic :: Utilities
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: click>=8.0.0
25
+ Requires-Dist: requests>=2.28.0
26
+ Requires-Dist: beautifulsoup4>=4.11.0
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest>=6.0; extra == "dev"
29
+ Requires-Dist: black>=21.0; extra == "dev"
30
+ Requires-Dist: flake8>=3.9; extra == "dev"
31
+ Requires-Dist: mypy>=0.9; extra == "dev"
32
+ Dynamic: license-file
33
+
34
+ # TabMind - Smart Tab Manager with AI Assistance
35
+
36
+ A powerful Python CLI tool to manage your browser tabs, track why you opened them, set deadlines, and get AI-powered productivity reminders using GitHub Copilot.
37
+
38
+ ## 🌟 Features
39
+
40
+ - **Save Tabs**: Quickly save URLs with context about why you opened them
41
+ - **Auto-Fetch Titles**: Automatically retrieve page titles from URLs
42
+ - **Due Dates**: Set deadlines for your tabs to stay on track
43
+ - **Mark as Done**: Track which tabs you've completed
44
+ - **Statistics**: View analytics about your saved tabs
45
+ - **Review Tabs**: View all saved tabs with their reasons, titles, due dates, and status
46
+ - **AI Prompts**: Generate smart motivation prompts for your pending tasks using GitHub Copilot
47
+ - **Simple CLI**: Easy-to-use command-line interface
48
+ - **Persistent Storage**: Tabs are saved locally in JSON format
49
+ - **Python Library**: Use TabMind as a library in your own Python projects
50
+
51
+ ## 📋 Table of Contents
52
+
53
+ - [Installation](#installation)
54
+ - [Quick Start](#quick-start)
55
+ - [Usage](#usage)
56
+ - [CLI Commands](#cli-commands)
57
+ - [Using as a Python Library](#using-as-a-python-library)
58
+ - [Requirements](#requirements)
59
+ - [Project Structure](#project-structure)
60
+ - [Contributing](#contributing)
61
+ - [License](#license)
62
+
63
+ ## 💻 Installation
64
+
65
+ ### From Source (Development)
66
+
67
+ ```bash
68
+ git clone https://github.com/IshikaBanga26/TabMind.git
69
+ cd TabMind
70
+ pip install -e .
71
+ ```
72
+
73
+ ### From PyPI (Once Published)
74
+
75
+ ```bash
76
+ pip install tabmind
77
+ ```
78
+
79
+ ## 🚀 Quick Start
80
+
81
+ ### Add a Tab
82
+
83
+ ```bash
84
+ tabmind add https://example.com
85
+ # When prompted, enter why you opened this link
86
+ # The page title will be fetched automatically
87
+ ```
88
+
89
+ ### Add a Tab with Due Date
90
+
91
+ ```bash
92
+ tabmind add https://example.com --due-date 2024-12-31
93
+ # or
94
+ tabmind add https://example.com -d 2024-12-31
95
+ ```
96
+
97
+
98
+ ### Review Your Tabs
99
+
100
+ ```bash
101
+ tabmind review
102
+ ```
103
+
104
+ ### Mark a Tab as Done
105
+
106
+ ```bash
107
+ tabmind mark-done 1
108
+ # Marks tab #1 as completed
109
+ ```
110
+
111
+ ### Set a Due Date
112
+
113
+ ```bash
114
+ tabmind due-date 2 2024-12-25
115
+ # Sets a due date for tab #2 (format: YYYY-MM-DD)
116
+ ```
117
+
118
+ ### View Statistics
119
+
120
+ ```bash
121
+ tabmind stats
122
+ ```
123
+ Shows total tabs, completed count, pending count, and tabs with due dates.
124
+
125
+ ### Generate AI Prompts
126
+
127
+ ```bash
128
+ tabmind ai-prompt
129
+ ```
130
+
131
+ This will output GitHub Copilot prompts for pending tabs that you can run manually:
132
+
133
+ ```bash
134
+ gh copilot -p "Your generated prompt here"
135
+ ```
136
+
137
+ ## 📖 Usage
138
+
139
+ ### CLI Commands
140
+
141
+ #### `tabmind add <URL> [OPTIONS]`
142
+
143
+ Save a new tab with a reason for opening it. Optionally set a due date.
144
+
145
+ ```bash
146
+ $ tabmind add https://github.com
147
+ Why did you open this link? Learn Git workflows
148
+ ✓ Tab saved successfully!
149
+
150
+ $ tabmind add https://python.org --due-date 2024-12-31
151
+ Why did you open this link? Check Python documentation
152
+ ✓ Tab saved successfully!
153
+ ```
154
+
155
+ #### `tabmind review`
156
+
157
+ Display all saved tabs with their details including titles, due dates, and status.
158
+
159
+ ```bash
160
+ $ tabmind review
161
+
162
+ [1] ⏳ Pending | Due: 2024-12-31
163
+ Title: GitHub: Where the world builds software
164
+ URL: https://github.com
165
+ Reason: Learn Git workflows
166
+ Added: 2026-02-14 19:18:23
167
+
168
+ [2] ✓ Done
169
+ Title: Welcome to Python.org
170
+ URL: https://python.org
171
+ Reason: Check Python documentation
172
+ Added: 2026-02-14 19:20:15
173
+ ```
174
+
175
+ #### `tabmind mark-done <TAB_NUMBER>`
176
+
177
+ Mark a specific tab as completed.
178
+
179
+ ```bash
180
+ $ tabmind mark-done 1
181
+ ✓ Tab 1 marked as done!
182
+ ```
183
+
184
+ #### `tabmind due-date <TAB_NUMBER> <DATE>`
185
+
186
+ Set or update a due date for a tab (format: YYYY-MM-DD).
187
+
188
+ ```bash
189
+ $ tabmind due-date 3 2024-12-25
190
+ ✓ Due date for Tab 3 set to 2024-12-25
191
+ ```
192
+
193
+ #### `tabmind stats`
194
+
195
+ Display statistics about your saved tabs.
196
+
197
+ ```bash
198
+ $ tabmind stats
199
+
200
+ 📊 TabMind Statistics
201
+ ========================================
202
+ Total Tabs: 10
203
+ Completed: 4 ✓
204
+ Pending: 6 ⏳
205
+ With Due Date: 5 📅
206
+ ========================================
207
+ ```
208
+
209
+ #### `tabmind ai-prompt`
210
+
211
+ Generate AI-powered productivity reminders for pending tabs.
212
+
213
+ ```bash
214
+ $ tabmind ai-prompt
215
+
216
+ -----------------------------------
217
+ Run this command in your terminal:
218
+
219
+ gh copilot -p "You are a productivity assistant.
220
+
221
+ The user saved this link:
222
+ URL: https://github.com
223
+ Reason: Learn Git workflows
224
+ Date Added: 2026-02-14 19:18:23
225
+
226
+ Write a short motivational reminder asking if they want to continue this task.
227
+ Keep it under 3 lines."
228
+
229
+ -----------------------------------
230
+ ```
231
+
232
+ ### Using as a Python Library
233
+
234
+ Import TabMind functions in your own Python projects:
235
+
236
+ ```python
237
+ from storage import add_tab, get_tabs, mark_tab_done, set_due_date, get_stats, fetch_page_title
238
+
239
+ # Add a tab with auto-fetched title
240
+ add_tab("https://example.com", "Research machine learning")
241
+
242
+ # Add a tab with due date
243
+ add_tab("https://github.com", "Learn Git workflows", due_date="2024-12-31")
244
+
245
+ # Get all saved tabs
246
+ tabs = get_tabs()
247
+ for tab in tabs:
248
+ print(f"Title: {tab['title']}")
249
+ print(f"URL: {tab['url']}")
250
+ print(f"Reason: {tab['reason']}")
251
+ print(f"Status: {'Done' if tab['completed'] else 'Pending'}")
252
+ print(f"Due: {tab.get('due_date', 'N/A')}")
253
+
254
+ # Mark a tab as done
255
+ mark_tab_done(0)
256
+
257
+ # Set a due date
258
+ set_due_date(1, "2024-12-25")
259
+
260
+ # Get statistics
261
+ stats = get_stats()
262
+ print(f"Total: {stats['total']}, Completed: {stats['completed']}")
263
+
264
+ # Fetch page title
265
+ title = fetch_page_title("https://example.com")
266
+ print(f"Page title: {title}")
267
+ ```
268
+
269
+ ## 📦 Requirements
270
+
271
+ - Python 3.8+
272
+ - `click` >= 8.0.0 (for CLI functionality)
273
+ - `requests` >= 2.28.0 (for fetching page titles)
274
+ - `beautifulsoup4` >= 4.11.0 (for parsing HTML)
275
+ - (Optional) GitHub CLI with Copilot access (for AI features)
276
+
277
+ ### Install Requirements
278
+
279
+ ```bash
280
+ pip install -r requirements.txt
281
+ ```
282
+
283
+ ## 📁 Project Structure
284
+
285
+ ```
286
+ TabMind/
287
+ ├── main.py # CLI entry point and commands
288
+ ├── storage.py # Tab storage, retrieval, and title fetching
289
+ ├── ai_helper.py # GitHub Copilot integration
290
+ ├── tabs.json # Local storage for tabs (auto-generated)
291
+ ├── setup.py # Package setup configuration
292
+ ├── pyproject.toml # Modern Python packaging config
293
+ ├── requirements.txt # Project dependencies
294
+ ├── MANIFEST.in # Additional files to include in distribution
295
+ ├── LICENSE # MIT License
296
+ └── README.md # This file
297
+ ```
298
+
299
+ ## 📝 Data Storage
300
+
301
+ Tabs are stored locally in a `tabs.json` file in your current directory. Each tab entry contains:
302
+
303
+ ```json
304
+ {
305
+ "url": "https://example.com",
306
+ "title": "Example Domain",
307
+ "reason": "Why you opened this link",
308
+ "date_added": "2026-02-14 19:18:23",
309
+ "due_date": "2024-12-31",
310
+ "completed": false
311
+ }
312
+ ```
313
+
314
+ **Note**: The storage location can be customized by modifying the `FILE_NAME` variable in `storage.py`.
315
+
316
+ ## 🔧 Development
317
+
318
+ ### Setup Development Environment
319
+
320
+ ```bash
321
+ # Clone the repository
322
+ git clone https://github.com/IshikaBanga26/TabMind.git
323
+ cd TabMind
324
+
325
+ # Create a virtual environment
326
+ python -m venv venv
327
+
328
+ # Activate virtual environment
329
+ # On Windows:
330
+ venv\Scripts\activate
331
+ # On macOS/Linux:
332
+ source venv/bin/activate
333
+
334
+ # Install in development mode
335
+ pip install -e .
336
+
337
+ # Install development dependencies
338
+ pip install -r requirements.txt
339
+ ```
340
+
341
+ ### Testing Commands
342
+
343
+ ```bash
344
+ # Test adding a tab
345
+ tabmind add https://test.com
346
+
347
+ # Test reviewing tabs
348
+ tabmind review
349
+
350
+ # Test AI prompt generation (requires GitHub Copilot)
351
+ tabmind ai-prompt
352
+ ```
353
+
354
+ ## 🤝 Contributing
355
+
356
+ Contributions are welcome! Here's how you can help:
357
+
358
+ 1. Fork the repository
359
+ 2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
360
+ 3. Make your changes
361
+ 4. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
362
+ 5. Push to the branch (`git push origin feature/AmazingFeature`)
363
+ 6. Open a Pull Request
364
+
365
+ ### Areas for Contribution
366
+
367
+ - Add unit tests
368
+ - Improve error handling
369
+ - Add support for additional data formats (CSV, SQLite)
370
+ - Implement cloud synchronization
371
+ - Add more AI integration options
372
+ - Improve documentation
373
+
374
+ ## 🐛 Reporting Issues
375
+
376
+ Found a bug? Please open an issue on the [GitHub Issues](https://github.com/IshikaBanga26/TabMind/issues) page with:
377
+
378
+ - Description of the bug
379
+ - Steps to reproduce
380
+ - Expected behavior
381
+ - Your environment (OS, Python version)
382
+
383
+ ## 📚 Future Features
384
+
385
+ - [ ] Web-based dashboard for viewing tabs
386
+ - [ ] Browser extension for quick tab saving
387
+ - [ ] Cloud synchronization
388
+ - [ ] Tab categorization and tagging
389
+ - [ ] Advanced analytics and insights
390
+ - [ ] Integration with more AI services
391
+ - [ ] Export to various formats (PDF, CSV, HTML)
392
+
393
+ ## 📄 License
394
+
395
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
396
+
397
+ ## 👤 Author
398
+
399
+ Your Name - [@yourhandle](https://github.com/IshikaBanga26)
400
+
401
+ ## 🙏 Acknowledgments
402
+
403
+ - Built with [Click](https://click.palletsprojects.com/) - Python CLI framework
404
+ - GitHub Copilot integration for AI assistance
405
+ - Inspired by productivity and tab management tools
406
+
407
+ ## 📧 Contact & Support
408
+
409
+ For questions or support:
410
+
411
+ - Open an issue on [GitHub](https://github.com/IshikaBanga26/TabMind/issues)
412
+ - Email: your.email@example.com
413
+ - Check the [Discussions](https://github.com/IshikaBanga26/TabMind/discussions) page
414
+
415
+ ---
416
+
417
+ **Happy tab management!**