{"id":21429449,"url":"https://github.com/holoarchivists/twspace-dl","last_synced_at":"2025-05-14T18:06:05.634Z","repository":{"id":37626292,"uuid":"414634196","full_name":"HoloArchivists/twspace-dl","owner":"HoloArchivists","description":"A python module to download twitter spaces.","archived":false,"fork":false,"pushed_at":"2024-11-21T16:23:45.000Z","size":54152,"stargazers_count":531,"open_issues_count":24,"forks_count":79,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-13T13:50:45.001Z","etag":null,"topics":["ffmpeg","python","twitter","twitter-spaces"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HoloArchivists.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":null},"created_at":"2021-10-07T14:27:41.000Z","updated_at":"2025-05-10T04:14:00.000Z","dependencies_parsed_at":"2024-06-15T23:19:41.479Z","dependency_job_id":"040167b7-62ad-4063-b502-b716d47137e3","html_url":"https://github.com/HoloArchivists/twspace-dl","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoloArchivists%2Ftwspace-dl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoloArchivists%2Ftwspace-dl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoloArchivists%2Ftwspace-dl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoloArchivists%2Ftwspace-dl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HoloArchivists","download_url":"https://codeload.github.com/HoloArchivists/twspace-dl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198514,"owners_count":22030965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","python","twitter","twitter-spaces"],"created_at":"2024-11-22T22:17:49.779Z","updated_at":"2025-05-14T18:06:00.611Z","avatar_url":"https://github.com/HoloArchivists.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD033 MD041 --\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch1 id=\"twspace-dl\"\u003eTwspace-dl\u003c/h1\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://pypi.org/project/twspace-dl/\"\u003e\n      \u003cimg src=\"https://img.shields.io/pypi/v/twspace-dl?style=for-the-badge\" alt=\"PyPI\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/twspace-dl/\"\u003e\n      \u003cimg src=\"https://img.shields.io/pypi/dm/twspace-dl?label=DOWNLOADS%20%28PYPI%29\u0026amp;style=for-the-badge\" alt=\"PyPI DLs\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/HoloArchivists/twspace-dl/releases\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/downloads/HoloArchivists/twspace-dl/total?label=DOWNLOADS%20%28GITHUB%29\u0026amp;style=for-the-badge\" alt=\"Github Releases DLs\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp\u003eA python module to download twitter spaces.\u003c/p\u003e\n\u003c/div\u003e\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=HoloArchivists/twspace-dl\u0026type=Date)](https://star-history.com/#HoloArchivists/twspace-dl\u0026Date)\n\n## Screenshots\n\n\u003cdetails\u003e\n\u003csummary\u003eGUI\u003c/summary\u003e\n\n![general tab](https://user-images.githubusercontent.com/77058942/172580094-3663f86d-3ee2-48d0-9313-f4ed71f048aa.png)\n![input tab](https://user-images.githubusercontent.com/77058942/172580476-bb34dce0-08b0-41f6-852b-b68d32532add.png)\n![running tab](https://user-images.githubusercontent.com/77058942/172580589-fd6b05bd-f081-4c7a-ab05-0640abda00ce.png)\n![success pop up](https://user-images.githubusercontent.com/77058942/172580861-18b3ac9f-88d2-44cf-8b5d-135990a78f77.png)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCLI\u003c/summary\u003e\n\n![help](https://user-images.githubusercontent.com/77058942/172581224-9b465f78-4894-456f-9b85-5b76ee9bbfca.png)\n![running](https://user-images.githubusercontent.com/77058942/172581500-174834c5-6883-44f9-a0a7-610dbb2103e5.png)\n\n\u003c/details\u003e\n\n\n## Requirements\n\n- `ffmpeg` if not using portable binaries.\n- A logged in user's cookies file exported from Twitter in the [Netscape format](https://curl.se/docs/http-cookies.html).\n\n## Install\n\n### GUI\n\nUse this if you're not sure.\n\n### From portable binaries\n\n[Windows](https://github.com/HoloArchivists/twspace-dl/releases/latest/download/twspace-dl-GUI.exe)\n\n### From source\n\n```bash\npip install git+https://github.com/HoloArchivists/twspace-dl@gooey\n```\n\n### CLI\n\n### From portable binaries\n\n[Windows](https://github.com/HoloArchivists/twspace-dl/releases/latest/download/twspace-dl-CLI.exe)\n\n### From PyPI\n\n```bash\npip install twspace-dl\n```\n\n### From source\n\n```bash\npip install git+https://github.com/HoloArchivists/twspace-dl\n```\n\n## Usage\n\n```bash\ntwspace_dl -i space_url -c COOKIE_FILE\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eWith binaries\u003c/summary\u003e\n\n### Windows\n\n```powershell\n.\\twspace_dl.exe -i space_url -c COOKIE_FILE\n```\n\n\u003c/details\u003e\n\n## Features\n\nHere's the output of the help option\n\n```txt\nusage: twspace_dl [-h] [-v] [-s] [-k] [-l] -c COOKIE_FILE\n                  [-i SPACE_URL | -U USER_URL] [-d DYN_URL] [-f URL] [-M PATH]\n                  [-o FORMAT_STR] [-m] [-p] [-u] [--write-url URL_OUTPUT] [-e]\n\nScript designed to help download twitter spaces\n\noptions:\n  -h, --help            show this help message and exit\n  -v, --verbose\n  -s, --skip-download\n  -k, --keep-files\n  -l, --log             create logfile\n  -c COOKIE_FILE, --input-cookie-file COOKIE_FILE\n                        cookies file in the Netscape format. The specs of the\n                        Netscape cookies format can be found here:\n                        https://curl.se/docs/http-cookies.html. The cookies\n                        file is now required due to the Twitter API change\n                        that prohibited guest user access to Twitter API\n                        endpoints on 2023-07-01.\n\ninput:\n  -i SPACE_URL, --input-url SPACE_URL\n  -U USER_URL, --user-url USER_URL\n  -d DYN_URL, --from-dynamic-url DYN_URL\n                        use the dynamic url for the processes(useful for ended\n                        spaces) example: https://prod-fastly-ap-northeast-\n                        1.video.pscp.tv/Transcoding/v1/hls/zUUpEgiM0M18jCGxo2e\n                        SZs99p49hfyFQr1l4cdze-Sp4T-\n                        DQOMMoZpkbdyetgfwscfvvUkAdeF-\n                        I5hPI4bGoYg/non_transcode/ap-northeast-1/periscope-\n                        replay-direct-prod-ap-northeast-1-public/audio-\n                        space/dynamic_playlist.m3u8?type=live\n  -f URL, --from-master-url URL\n                        use the master url for the processes(useful for ended\n                        spaces) example: https://prod-fastly-ap-northeast-\n                        1.video.pscp.tv/Transcoding/v1/hls/YRSsw6_P5xUZHMualK5\n                        -ihvePR6o4QmoZVOBGicKvmkL_KB9IQYtxVqm3P_vpZ2HnFkoRfar4\n                        _uJOjqC8OCo5A/non_transcode/ap-northeast-1/periscope-\n                        replay-direct-prod-ap-northeast-1-public/audio-\n                        space/master_playlist.m3u8\n  -M PATH, --input-metadata PATH\n                        use a metadata json file instead of input url (useful\n                        for very old ended spaces)\n\noutput:\n  -o FORMAT_STR, --output FORMAT_STR\n  -m, --write-metadata  write the full metadata json to a file\n  -p, --write-playlist  write the m3u8 used to download the stream(e.g. if you\n                        want to use another downloader)\n  -u, --url             display the master url\n  --write-url URL_OUTPUT\n                        write master url to file\n  -e, --embed-cover     embed user avatar as cover art\n```\n\n## Format\n\nYou can use the following identifiers for the formatting\n\n```python\n%(title)s\n%(id)s\n%(start_date)s\n%(creator_name)s\n%(creator_screen_name)s\n%(url)s\n%(creator_id)s\n```\n\nExample: `[%(creator_screen_name)s]-%(title)s|%(start_date)s`\n\n## Known Errors\n\n`Changing ID3 metadata in HLS audio elementary stream is not implemented....`\n\nThis is an error in ffmpeg that does not affect twspace_dl at all as far as I know.\n\n## Service\n\nTo run as a systemd service please refer to https://github.com/HoloArchivists/twspace-dl/blob/main/SERVICE.md\n\n## Docker\n\n### Run once\n\n```bash\ndocker run --rm -v .:/output holoarchivists/twspace-dl -i space_url\n```\n\n### Run as monitoring service\n\n1. Download the `docker-compose.yml`, `.env`, `monitor.sh` files and put them in a folder named `twspace-dl`.\n2. Edit `.env` and fill in the Twitter username you want to monitor.\n3. Put a cookies file into the folder and named it `cookies.txt`.\n4. `docker-compose up -d`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholoarchivists%2Ftwspace-dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholoarchivists%2Ftwspace-dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholoarchivists%2Ftwspace-dl/lists"}