# dtipod
This program is a podcatcher in the style of "do_the_internet.sh",
found on Gemini (the Smolweb protocol, not the other thing) and
[popularized by Ploum](https://ploum.net/2021-11-19-offlinetools.html).
The name `dtipod` is directly derived from "`d`o `t`he `i`nternet".
## Installation
### System requirements
- `curl`
- `python3` (tested with 3.12)
- `pipx` (optional, but simplifies installation a lot)
### Cloning the repo
```shell
git clone https://git.sr.ht/~mbuechse/dtipod
cd dtipod
```
### Installation proper
Pros can install this Python program into a virtualenv of choice using `setup.py`;
alternatively, the recommended way is to use `pipx` and then install like so:
```shell
$ pipx install .
```
## Usage
The program is quite boring, as it's supposed to be:
```shell
# import subscriptions from OPML file
dtipod import ~/Downloads/antennapod-feeds-2025-08-30.opml
# add new subscription
dtipod import-url https://overpopulationpodcast.libsyn.com/rss
# show detailed contents of inbox (Markdown style)
dtipod inbox
# fetch and parse RSS for all subscriptions
dtipod update
# show all feeds w/some description
dtipod feeds --long | less -S
# show 25 most recent episodes w/some description
dtipod episodes --long | less -S
# show 3 most recent episodes per feed
dtipod list | less -S
# download 3 episodes given by hashid
dtipod download 6bbc2994 87095be6 79650141
# clear inbox (whatever I don't want to download)
dtipod clear
```
Note: all fetching/downloading is implemented using `curl --parallel`.
## Copyright and License
Copyright 2025 Matthias Büchse.
dtipod is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation, either version 3
of the License, or (at your option) any later version.
dtipod is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with dtipod.
If not, see <https://www.gnu.org/licenses/>.
Raw data
{
"_id": null,
"home_page": "https://git.sr.ht/~mbuechse/dtipod",
"name": "dtipod",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": null,
"keywords": "podcast commandline terminal console podcatcher",
"author": "Matthias B\u00fcchse",
"author_email": "matthias@buech.se",
"download_url": "https://files.pythonhosted.org/packages/5e/c7/2ec8496a94ec800a5615ef76a4fd54d20f6f52ff99584351f66386c96435/dtipod-0.0.2.tar.gz",
"platform": null,
"description": "# dtipod\n\nThis program is a podcatcher in the style of \"do_the_internet.sh\",\nfound on Gemini (the Smolweb protocol, not the other thing) and\n[popularized by Ploum](https://ploum.net/2021-11-19-offlinetools.html).\nThe name `dtipod` is directly derived from \"`d`o `t`he `i`nternet\".\n\n## Installation\n\n### System requirements\n\n- `curl`\n- `python3` (tested with 3.12)\n- `pipx` (optional, but simplifies installation a lot)\n\n### Cloning the repo\n\n```shell\ngit clone https://git.sr.ht/~mbuechse/dtipod\ncd dtipod\n```\n\n### Installation proper\n\nPros can install this Python program into a virtualenv of choice using `setup.py`;\nalternatively, the recommended way is to use `pipx` and then install like so:\n\n```shell\n$ pipx install .\n```\n## Usage\n\nThe program is quite boring, as it's supposed to be:\n\n```shell\n# import subscriptions from OPML file\ndtipod import ~/Downloads/antennapod-feeds-2025-08-30.opml\n\n# add new subscription\ndtipod import-url https://overpopulationpodcast.libsyn.com/rss\n\n# show detailed contents of inbox (Markdown style)\ndtipod inbox\n\n# fetch and parse RSS for all subscriptions\ndtipod update\n\n# show all feeds w/some description\ndtipod feeds --long | less -S\n\n# show 25 most recent episodes w/some description\ndtipod episodes --long | less -S\n\n# show 3 most recent episodes per feed\ndtipod list | less -S\n\n# download 3 episodes given by hashid\ndtipod download 6bbc2994 87095be6 79650141\n\n# clear inbox (whatever I don't want to download)\ndtipod clear\n```\n\nNote: all fetching/downloading is implemented using `curl --parallel`.\n\n## Copyright and License\n\nCopyright 2025 Matthias B\u00fcchse.\n\ndtipod is free software: you can redistribute it and/or modify it under the terms of the\nGNU General Public License as published by the Free Software Foundation, either version 3\nof the License, or (at your option) any later version.\n\ndtipod is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with dtipod.\nIf not, see <https://www.gnu.org/licenses/>.\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Podcatcher do_the_internet.sh-style",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://git.sr.ht/~mbuechse/dtipod"
},
"split_keywords": [
"podcast",
"commandline",
"terminal",
"console",
"podcatcher"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "99cc64f0ccdb62d1c4725ff63590569fc21d67a632fb5b4d21dbb863c1689eb8",
"md5": "d79c4b3ba2af08f91f07be3902c0a211",
"sha256": "2329f40ce7b528c249053a3cd9391b684a87decf42f1c68c94c51ccace3b4e6c"
},
"downloads": -1,
"filename": "dtipod-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d79c4b3ba2af08f91f07be3902c0a211",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 25132,
"upload_time": "2025-09-16T20:32:01",
"upload_time_iso_8601": "2025-09-16T20:32:01.419424Z",
"url": "https://files.pythonhosted.org/packages/99/cc/64f0ccdb62d1c4725ff63590569fc21d67a632fb5b4d21dbb863c1689eb8/dtipod-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5ec72ec8496a94ec800a5615ef76a4fd54d20f6f52ff99584351f66386c96435",
"md5": "9afbe355a3dbde60b5eac31110d403c4",
"sha256": "48485f6967c0d46ce3b14b3717d36f2fbdb442e10004f14223a16b7e54f922cf"
},
"downloads": -1,
"filename": "dtipod-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "9afbe355a3dbde60b5eac31110d403c4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 24707,
"upload_time": "2025-09-16T20:32:02",
"upload_time_iso_8601": "2025-09-16T20:32:02.820380Z",
"url": "https://files.pythonhosted.org/packages/5e/c7/2ec8496a94ec800a5615ef76a4fd54d20f6f52ff99584351f66386c96435/dtipod-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-16 20:32:02",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dtipod"
}