A powerful command-line interface for managing Google Tasks with enhanced features and functionality which is secure and easy to use with advanced features.
Project description
Google Tasks CLI Development
This directory contains the source code for the Google Tasks CLI application.
For general usage, we recommend installing the package from PyPI:
pip install gtasks-cli
See the main project README.md for more information on installation and usage.
Features
- Full Google Tasks API integration with OAuth2 authentication
- Advanced filtering and search capabilities
- Context management for different task views
- Reporting and analytics
- Time tracking and Pomodoro technique integration
- Recurring tasks and dependencies
- Offline mode with synchronization
- Import/export functionality
- Optimized Advanced Sync for improved performance
- Multi-account support
- Interactive mode with keyboard navigation
- Task deduplication
- Rich terminal UI with color coding
Installation for Development
To set up the development environment:
# Clone the repository
git clone <repository-url>
cd gtasks_automation/gtasks_cli
# Create and activate a virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
Post-Installation Setup
After installing the package, we strongly recommend running the setup assistant to configure your environment:
python -m gtasks_cli.setup_assistant
The setup assistant will:
- Verify that gtasks-cli is properly installed
- Create the configuration directory (
~/.gtasks) - Set up default configuration values
- Guide you through Google authentication setup
- Test basic functionality
For more information, see SETUP_ASSISTANT.md.
Running Tests
Various test scripts are available in the root directory:
# Run a simple sync test
python simple_sync_test.py
# Run comprehensive duplication tests
python comprehensive_dup_test.py
Usage During Development
During development, you can run the CLI directly:
python -m gtasks_cli.main --help
Common development commands:
# Enter interactive mode for a rich, keyboard-driven interface
python -m gtasks_cli.main interactive
# List tasks
python -m gtasks_cli.main list
# Add a new task
python -m gtasks_cli.main add "Buy groceries" --due "tomorrow"
# Mark task as done
python -m gtasks_cli.main done <task-id>
# Sync with Google Tasks
python -m gtasks_cli.main sync
Production Installation
For production use, install the package from PyPI:
pip install gtasks-cli
Then use the gtasks command directly:
gtasks --help
TODO
- auto-sync on update/add/delete
Development
This project follows a modular architecture with clear separation of concerns:
- CLI Layer: Command-line interface using Click framework
- Core Layer: Business logic for task and tasklist management
- Integration Layer: Google Tasks API integration and authentication
- Storage Layer: Local caching and configuration management
- Reporting Layer: Analytics and reporting functionality
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gtasks_cli-0.1.4.tar.gz.
File metadata
- Download URL: gtasks_cli-0.1.4.tar.gz
- Upload date:
- Size: 150.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7bf8a8c7e78868a525819b0b8753612864dca30d3e57ec2060cb0a4119c8ba6
|
|
| MD5 |
0ddfa74fb7768ca39dcc45b666bcbc7a
|
|
| BLAKE2b-256 |
0bb4066d24dd3225796eef9276913ddb4cda0e4aa963ffe4cd2714543803450f
|
File details
Details for the file gtasks_cli-0.1.4-py3-none-any.whl.
File metadata
- Download URL: gtasks_cli-0.1.4-py3-none-any.whl
- Upload date:
- Size: 169.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f40a630a5f4877ff2752c35ffe23d2c1307239aada820cc090ffd3f7a7e05f2f
|
|
| MD5 |
4233c71ba00927b2a9e7109488bf53e9
|
|
| BLAKE2b-256 |
29878937fb98931ec6828cd989ed98eef0d8022d9b20e58e6e23b6e40d3e8734
|