Metadata-Version: 2.2
Name: ticked
Version: 0.3.5
Summary: A terminal-based task management and productivity tool.
Author-email: Akrm Al-Hakimi <alhakimiakrmj@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/cachebag/Ticked
Keywords: terminal-ui,task-management,productivity,spotify,vim-like,code-editor,pomodoro,student,STEM,university
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Office/Business :: Scheduling
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohappyeyeballs
Requires-Dist: aiohttp
Requires-Dist: aiohttp-jinja2
Requires-Dist: aiosignal
Requires-Dist: anyio
Requires-Dist: arrow
Requires-Dist: attrs
Requires-Dist: build
Requires-Dist: bs4
Requires-Dist: caldav
Requires-Dist: canvasapi
Requires-Dist: certifi
Requires-Dist: charset-normalizer
Requires-Dist: click
Requires-Dist: docutils
Requires-Dist: frozenlist
Requires-Dist: h11
Requires-Dist: httpcore
Requires-Dist: httpx
Requires-Dist: icalendar
Requires-Dist: idna
Requires-Dist: jaraco.classes
Requires-Dist: jaraco.context
Requires-Dist: jaraco.functools
Requires-Dist: Jinja2
Requires-Dist: keyring
Requires-Dist: linkify-it-py
Requires-Dist: lxml
Requires-Dist: markdown-it-py
Requires-Dist: MarkupSafe
Requires-Dist: mdit-py-plugins
Requires-Dist: mdurl
Requires-Dist: more-itertools
Requires-Dist: msgpack
Requires-Dist: multidict
Requires-Dist: nh3
Requires-Dist: packaging
Requires-Dist: pkginfo
Requires-Dist: platformdirs
Requires-Dist: propcache
Requires-Dist: psutil
Requires-Dist: pyfiglet
Requires-Dist: Pygments
Requires-Dist: pyproject_hooks
Requires-Dist: python-dateutil
Requires-Dist: python-dotenv
Requires-Dist: pytz
Requires-Dist: readme_renderer
Requires-Dist: recurring-ical-events
Requires-Dist: redis
Requires-Dist: requests
Requires-Dist: requests-toolbelt
Requires-Dist: rfc3986
Requires-Dist: rich
Requires-Dist: six
Requires-Dist: sniffio
Requires-Dist: spotipy
Requires-Dist: textual>=2.1.1
Requires-Dist: textual[syntax]
Requires-Dist: textual-serve
Requires-Dist: tree-sitter
Requires-Dist: tree-sitter-bash
Requires-Dist: tree-sitter-css
Requires-Dist: tree-sitter-go
Requires-Dist: tree-sitter-html
Requires-Dist: tree-sitter-java
Requires-Dist: tree-sitter-javascript<0.24.0,>=0.23.0
Requires-Dist: tree-sitter-json<0.25.0,>=0.24.0
Requires-Dist: tree-sitter-python
Requires-Dist: tree-sitter-regex
Requires-Dist: tree-sitter-rust
Requires-Dist: tree-sitter-sql
Requires-Dist: tree-sitter-toml
Requires-Dist: tree-sitter-xml
Requires-Dist: tree-sitter-yaml
Requires-Dist: twine
Requires-Dist: types-python-dateutil
Requires-Dist: typing_extensions
Requires-Dist: tzdata
Requires-Dist: uc-micro-py
Requires-Dist: urllib3
Requires-Dist: vobject
Requires-Dist: x-wr-timezone
Requires-Dist: yarl
Requires-Dist: jedi
Requires-Dist: send2trash
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
Requires-Dist: pytest-mock>=3.11.1; extra == "test"

![License](https://img.shields.io/badge/license-MIT-red)
![Unreleased](https://img.shields.io/badge/beta-pre%20release-blue)
<br>
[![Lint](https://github.com/cachebag/Ticked/actions/workflows/lint.yml/badge.svg)](https://github.com/USERNAME/REPO/actions/workflows/lint.yml)
<br>
[![Security](https://github.com/cachebag/Ticked/actions/workflows/security.yml/badge.svg)](https://github.com/USERNAME/REPO/actions/workflows/security.yml)
<br>
[![Python Tests](https://github.com/cachebag/Ticked/actions/workflows/pytest.yml/badge.svg)](https://github.com/cachebag/Ticked/actions/workflows/pytest.yml/badge.svg)

# 📟 **Ticked** is a Terminal based task and productivity manager built in Python over the Textual framework.

<div align="center">
  <img src="images/ss1.png" alt="Screenshot 1" width="1000">
  <img src="images/ss2.png" alt="Screenshot 2" width="1000">
  <img src="images/ss3.png" alt="Screenshot 3" width="1000">
  <img src="images/ss4.png" alt="Screenshot 3" width="1000">
</div>



--- 

### To update if you already have an older version installed:
  - For Homebrew:
```bash
brew upgrade ticked
```
  - For pip:
```bash
pip install --upgrade ticked
```

## [Read the docs to quickly get set up](https://cachebag.github.io/Ticked/#introduction)
#  **Features**

### 📝 **Task and Schedule Management** - TODO's, Task Metrics, iOS, Google and Outlook Calendar Syncing
###  <img src="https://github.com/user-attachments/assets/51f56067-9cb8-4c70-bae9-031373661774" alt="Canvas Bug Icon" width="24" /> **NEST+** - Vim Motions/Commands, Syntax Highlighting, Autopairs/complete/indent, etc.
### <img src="https://github.com/user-attachments/assets/b82fa581-1b89-442f-8090-94390c388030" alt="Canvas Bug Icon" width="24" /> **CANVAS LMS** - Course List Details, Assignments, Announcements and Grade Statistics
### <img src="https://upload.wikimedia.org/wikipedia/commons/1/19/Spotify_logo_without_text.svg" alt="Spotify Logo" width="24" /> **Spotify Integration** - Playlists, Search Functionality and Playback control
---

## Want to jump in?
You can either read the [docs](https://cachebag.github.io/Ticked/), and get quickly setup to begin working or you can go straight into it by doing:
```bash
pip install ticked
ticked
```
for Homebrew
```bash
brew tap cachebag/ticked
brew install ticked
```


## Contributing

New issues and pull requests are welcome. [Read the Development guide for details.](https://cachebag.github.io/Ticked/#dev)

If you want to contribute:
1. Fork the repository.
2. Make your changes.
3. Submit a pull request for review.

## Testing

```bash
pytest
```

## Development

### Running CI Checks Locally

You can run the same checks that run in GitHub Actions locally using the provided script:

1. First, make the script executable:
   ```bash
   chmod +x check.sh
   ```

2. Install development dependencies:
   ```bash
   pip install -r requirements-dev.txt
   ```

3. Run specific checks:
   - For security checks: `./check.sh security`
   - For linting: `./check.sh lint`
   - For tests: `./check.sh pytest`
   - For all checks: `./check.sh all`

## License

[MIT](LICENSE)

