# trakt-watch
A small CLI to mark items watched on trakt. This lets you:
- Mark movies/episodes as watched
- Rate movies/episodes
- Remove items from your history
- Query your recent history
This uses [traktexport](https://github.com/seanbreckenridge/traktexport) internally to authenticate, so follow the steps [here](https://github.com/seanbreckenridge/traktexport#auth) to login/setup your credentials.
## Installation
Requires `python3.11+`
To install with pip, run:
```
pip install trakt-watch
```
## Usage
You can set the `TRAKT_USERNAME` environment variable so you don't have to pass it every time.
```
Usage: trakt-watch [OPTIONS] COMMAND [ARGS]...
Options:
-u, --username TEXT Trakt username [env var: TRAKT_USERNAME; required]
--help Show this message and exit.
Commands:
rate rate movie/tv show/episode
recent show recent history
unwatch remove recent watched item
watch mark movie/episode as watched
```
To watch entries, you can provide a URL, or search for a movie/TV show/episode. By default, will use now as the watched time:
```
Usage: trakt-watch watch [OPTIONS]
Mark an entry on trakt.tv as watched
Options:
--url URL URL to watch
-a, --at DATE Watched at time (date like string, or 'released')
-r, --rating INTEGER RANGE Rating [1<=x<=10]
-l, --letterboxd open corresponding letterboxd.com entry in your browser
-h, --help Show this message and exit.
```
Query recent history:
```
$ trakt-watch recent
2023-10-21 22:24:59 Stuff Made Here S2023E1 - I sent robot forgeries to a handwriting expert
2023-10-21 22:18:10 Possession
2023-10-21 19:33:15 Stuff Made Here S2023E2 - I made 6 absurd pencil sharpeners
2023-10-20 14:30:00 Killers of the Flower Moon
2023-10-18 23:49:06 RWBY S9E10 - Of Solitude and Self
2023-10-18 17:28:11 RWBY S9E9 - A Tale Involving a Tree
2023-10-17 18:32:29 RWBY S9E8 - Tea Amidst Terrible Trouble
2023-10-17 17:51:30 RWBY S9E7 - The Perils of Paper Houses
2023-10-15 22:39:51 The Wicker Man
2023-10-15 18:54:01 How to Blow Up a Pipeline
```
Set a movie as watched/rate it:
```
$ trakt-watch watch --at '10m ago' --url https://trakt.tv/movies/possession-1981
Added count:
Movies: 1
Set rating? [Y/n]:
Rating: 9
Added count:
Movies: 1
Recent history:
1: 2023-10-31 11:35:28 Possession
```
Search for an TV show and provide a season/episode number:
```
$ trakt-watch watch
[M]ovie
[S]how
[E]pisode name
Ep[I]sode - Show w/ Season/Episode num
[U]rl
[A]ll
What type of media do you want to search for?
Search for show: barry
Results:
1: Show: 'Barry (2018)' | shows/122709
2: Show: 'Carrie and Barry (2004)' | shows/9085
3: Show: 'Red Barry (1938)' | shows/128828
4: Show: 'Barry Hilton (1999)' | shows/110779
5: Show: 'Carrie & Barrie (2004)' | shows/128392
6: Show: 'Barry Tales (2013)' | shows/100038
7: Show: 'Todd Barry (2012)' | shows/105417
8: Show: 'Barry Manilow Specials (1977)' | shows/67327
9: Show: 'Barry Welsh is Coming (1996)' | shows/13243
10: Show: 'Britains Greatest Machines With Chris Barrie (2009)' | shows/49775
11: Show: 'Deception With Keith Barry (2010)' | shows/63137
'Pick result - enter 1-11, or q to quit [1]':
Season: 1
Episode: 8
```
### Tests
```bash
git clone 'https://github.com/seanbreckenridge/trakt-watch'
cd ./trakt_watch
pip install '.[testing]'
pytest
flake8 ./trakt_watch
mypy ./trakt_watch
```
Raw data
{
"_id": null,
"home_page": "https://github.com/seanbreckenridge/trakt-watch",
"name": "trakt-watch",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "",
"author": "Sean Breckenridge",
"author_email": "seanbrecke@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/44/6a/07405d4de45f57233b26576e36f01bd0aa2f5eabd89fe75568ae12cc30a9/trakt_watch-0.1.1.tar.gz",
"platform": null,
"description": "# trakt-watch\n\nA small CLI to mark items watched on trakt. This lets you:\n\n- Mark movies/episodes as watched\n- Rate movies/episodes\n- Remove items from your history\n- Query your recent history\n\nThis uses [traktexport](https://github.com/seanbreckenridge/traktexport) internally to authenticate, so follow the steps [here](https://github.com/seanbreckenridge/traktexport#auth) to login/setup your credentials.\n\n## Installation\n\nRequires `python3.11+`\n\nTo install with pip, run:\n\n```\npip install trakt-watch\n```\n\n## Usage\n\nYou can set the `TRAKT_USERNAME` environment variable so you don't have to pass it every time.\n\n```\nUsage: trakt-watch [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n -u, --username TEXT Trakt username [env var: TRAKT_USERNAME; required]\n --help Show this message and exit.\n\nCommands:\n rate rate movie/tv show/episode\n recent show recent history\n unwatch remove recent watched item\n watch mark movie/episode as watched\n```\n\nTo watch entries, you can provide a URL, or search for a movie/TV show/episode. By default, will use now as the watched time:\n\n```\nUsage: trakt-watch watch [OPTIONS]\n\n Mark an entry on trakt.tv as watched\n\nOptions:\n --url URL URL to watch\n -a, --at DATE Watched at time (date like string, or 'released')\n -r, --rating INTEGER RANGE Rating [1<=x<=10]\n -l, --letterboxd open corresponding letterboxd.com entry in your browser\n -h, --help Show this message and exit.\n```\n\nQuery recent history:\n\n```\n$ trakt-watch recent\n2023-10-21 22:24:59 Stuff Made Here S2023E1 - I sent robot forgeries to a handwriting expert\n2023-10-21 22:18:10 Possession\n2023-10-21 19:33:15 Stuff Made Here S2023E2 - I made 6 absurd pencil sharpeners\n2023-10-20 14:30:00 Killers of the Flower Moon\n2023-10-18 23:49:06 RWBY S9E10 - Of Solitude and Self\n2023-10-18 17:28:11 RWBY S9E9 - A Tale Involving a Tree\n2023-10-17 18:32:29 RWBY S9E8 - Tea Amidst Terrible Trouble\n2023-10-17 17:51:30 RWBY S9E7 - The Perils of Paper Houses\n2023-10-15 22:39:51 The Wicker Man\n2023-10-15 18:54:01 How to Blow Up a Pipeline\n```\n\nSet a movie as watched/rate it:\n\n```\n$ trakt-watch watch --at '10m ago' --url https://trakt.tv/movies/possession-1981\nAdded count:\nMovies: 1\n\nSet rating? [Y/n]:\nRating: 9\nAdded count:\nMovies: 1\n\nRecent history:\n1: 2023-10-31 11:35:28 Possession\n```\n\nSearch for an TV show and provide a season/episode number:\n\n```\n$ trakt-watch watch\n[M]ovie\n[S]how\n[E]pisode name\nEp[I]sode - Show w/ Season/Episode num\n[U]rl\n[A]ll\nWhat type of media do you want to search for?\nSearch for show: barry\nResults:\n1: Show:\t'Barry (2018)' | shows/122709\n2: Show:\t'Carrie and Barry (2004)' | shows/9085\n3: Show:\t'Red Barry (1938)' | shows/128828\n4: Show:\t'Barry Hilton (1999)' | shows/110779\n5: Show:\t'Carrie & Barrie (2004)' | shows/128392\n6: Show:\t'Barry Tales (2013)' | shows/100038\n7: Show:\t'Todd Barry (2012)' | shows/105417\n8: Show:\t'Barry Manilow Specials (1977)' | shows/67327\n9: Show:\t'Barry Welsh is Coming (1996)' | shows/13243\n10: Show:\t'Britains Greatest Machines With Chris Barrie (2009)' | shows/49775\n11: Show:\t'Deception With Keith Barry (2010)' | shows/63137\n'Pick result - enter 1-11, or q to quit [1]':\nSeason: 1\nEpisode: 8\n```\n\n### Tests\n\n```bash\ngit clone 'https://github.com/seanbreckenridge/trakt-watch'\ncd ./trakt_watch\npip install '.[testing]'\npytest\nflake8 ./trakt_watch\nmypy ./trakt_watch\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "a small CLI to mark items watched on trakt",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/seanbreckenridge/trakt-watch"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "665652332d391702a949215b83bad58aa532735abc801f6f0c220052c75ebbbc",
"md5": "2ba63cba3fad417c7052aab7baa4ad48",
"sha256": "e4becb406c0e92a7726e1e73beabe6b9da68d37dd48a0c3906a6cc9d31f400ba"
},
"downloads": -1,
"filename": "trakt_watch-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2ba63cba3fad417c7052aab7baa4ad48",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 9170,
"upload_time": "2023-12-07T02:30:26",
"upload_time_iso_8601": "2023-12-07T02:30:26.416643Z",
"url": "https://files.pythonhosted.org/packages/66/56/52332d391702a949215b83bad58aa532735abc801f6f0c220052c75ebbbc/trakt_watch-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "446a07405d4de45f57233b26576e36f01bd0aa2f5eabd89fe75568ae12cc30a9",
"md5": "5dd263067566083b5cded2e222c723cf",
"sha256": "73acdc5d4500b10dc4598c143e521662408b513495a5769b48c33c64a434b7dd"
},
"downloads": -1,
"filename": "trakt_watch-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "5dd263067566083b5cded2e222c723cf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 10210,
"upload_time": "2023-12-07T02:30:27",
"upload_time_iso_8601": "2023-12-07T02:30:27.719518Z",
"url": "https://files.pythonhosted.org/packages/44/6a/07405d4de45f57233b26576e36f01bd0aa2f5eabd89fe75568ae12cc30a9/trakt_watch-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-07 02:30:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "seanbreckenridge",
"github_project": "trakt-watch",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "trakt-watch"
}