twspace-dl


Nametwspace-dl JSON
Version 2023.1.22.1 PyPI version JSON
download
home_page
SummaryThe only tool to record Twitter spaces (yet)
upload_time2023-01-22 11:31:47
maintainer
docs_urlNone
authorRyu1845
requires_python>=3.8,<4.0
licenseGPL-2.0-only
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- markdownlint-disable MD033 MD041 -->

<div align="center">
  <h1 id="twspace-dl">Twspace-dl</h1>
  <p>
    <a href="https://pypi.org/project/twspace-dl/">
      <img src="https://img.shields.io/pypi/v/twspace-dl?style=for-the-badge" alt="PyPI">
    </a>
    <a href="https://pypi.org/project/twspace-dl/">
      <img src="https://img.shields.io/pypi/dm/twspace-dl?label=DOWNLOADS%20%28PYPI%29&amp;style=for-the-badge" alt="PyPI DLs">
    </a>
    <a href="https://github.com/HoloArchivists/twspace-dl/releases">
      <img src="https://img.shields.io/github/downloads/HoloArchivists/twspace-dl/total?label=DOWNLOADS%20%28GITHUB%29&amp;style=for-the-badge" alt="Github Releases DLs">
    </a>
  </p>
  <p>A python module to download twitter spaces.</p>
</div>

## Screensots

<details>
<summary>GUI</summary>

![general tab](https://user-images.githubusercontent.com/77058942/172580094-3663f86d-3ee2-48d0-9313-f4ed71f048aa.png)
![input tab](https://user-images.githubusercontent.com/77058942/172580476-bb34dce0-08b0-41f6-852b-b68d32532add.png)
![running tab](https://user-images.githubusercontent.com/77058942/172580589-fd6b05bd-f081-4c7a-ab05-0640abda00ce.png)
![success pop up](https://user-images.githubusercontent.com/77058942/172580861-18b3ac9f-88d2-44cf-8b5d-135990a78f77.png)

</details>

<details>
<summary>CLI</summary>

![help](https://user-images.githubusercontent.com/77058942/172581224-9b465f78-4894-456f-9b85-5b76ee9bbfca.png)
![running](https://user-images.githubusercontent.com/77058942/172581500-174834c5-6883-44f9-a0a7-610dbb2103e5.png)

</details>


## Requirements

ffmpeg if not using portable binaries

## Install

### GUI

Use this if you're not sure.

### From portable binaries

[Windows](https://github.com/HoloArchivists/twspace-dl/releases/latest/download/twspace-dl-GUI.exe)

### From source

```bash
pip install git+https://github.com/HoloArchivists/twspace-dl@gooey
```

### CLI

### From portable binaries

[Windows](https://github.com/HoloArchivists/twspace-dl/releases/latest/download/twspace-dl-CLI.exe)

### From PyPI

```bash
pip install twspace-dl
```

### From source

```bash
pip install git+https://github.com/HoloArchivists/twspace-dl
```

## Usage

```bash
twspace_dl -i space_url
```

<details>
<summary>With binaries</summary>

### Windows

```bash
.\twspace_dl.exe -i space_url
```

</details>

## Features

Here's the output of the help option

```txt
usage: twspace_dl [-h] [-v] [-s] [-k] [-l] [--input-cookie-file COOKIE_FILE]
                  [--username USERNAME] [--password PASSWORD]
                  [--output-cookie-file OUTPUT_COOKIE_FILE]
                  [-i SPACE_URL | -U USER_URL] [-d DYN_URL] [-f URL] [-M PATH]
                  [-o FORMAT_STR] [-m] [-p] [-u] [--write-url URL_OUTPUT]

Script designed to help download twitter spaces

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose
  -s, --skip-download
  -k, --keep-files
  -l, --log             create logfile
  --input-cookie-file COOKIE_FILE

input:
  -i SPACE_URL, --input-url SPACE_URL
  -U USER_URL, --user-url USER_URL
  -d DYN_URL, --from-dynamic-url DYN_URL
                        use the dynamic url for the processes(useful for ended
                        spaces) example: https://prod-fastly-ap-northeast-1.vi
                        deo.pscp.tv/Transcoding/v1/hls/zUUpEgiM0M18jCGxo2eSZs9
                        9p49hfyFQr1l4cdze-Sp4T-DQOMMoZpkbdyetgfwscfvvUkAdeF-I5
                        hPI4bGoYg/non_transcode/ap-northeast-1/periscope-
                        replay-direct-prod-ap-northeast-1-public/audio-
                        space/dynamic_playlist.m3u8?type=live
  -f URL, --from-master-url URL
                        use the master url for the processes(useful for ended
                        spaces) example: https://prod-fastly-ap-northeast-1.vi
                        deo.pscp.tv/Transcoding/v1/hls/YRSsw6_P5xUZHMualK5-ihv
                        ePR6o4QmoZVOBGicKvmkL_KB9IQYtxVqm3P_vpZ2HnFkoRfar4_uJO
                        jqC8OCo5A/non_transcode/ap-northeast-1/periscope-
                        replay-direct-prod-ap-northeast-1-public/audio-
                        space/master_playlist.m3u8
  -M PATH, --input-metadata PATH
                        use a metadata json file instead of input url (useful
                        for very old ended spaces)

output:
  -o FORMAT_STR, --output FORMAT_STR
  -m, --write-metadata  write the full metadata json to a file
  -p, --write-playlist  write the m3u8 used to download the stream(e.g. if you
                        want to use another downloader)
  -u, --url             display the master url
  --write-url URL_OUTPUT
                        write master url to file

login:
  --username USERNAME
  --password PASSWORD
  --output-cookie-file OUTPUT_COOKIE_FILE
```

## Format

You can use the following identifiers for the formatting

```python
%(title)s
%(id)s
%(start_date)s
%(creator_name)s
%(creator_screen_name)s
%(url)s
%(creator_id)s
```

Example: `[%(creator_screen_name)s]-%(title)s|%(start_date)s`

## Known Errors

`Changing ID3 metadata in HLS audio elementary stream is not implemented....`

This is an error in ffmpeg that does not affect twspace_dl at all as far as I know.

## Service 

To run as a systemd service please refer to https://github.com/HoloArchivists/twspace-dl/blob/main/SERVICE.md

## Docker

### Run once

> Use ${pwd} in powershell, or $(pwd) in bash

```bash
docker run --rm -v ${pwd}:/output ryu1845/twspace-dl -i space_url
```

### Run as monitoring service

Using a cookie can help solve some problem with the twitter api. However, using one is not necessary.

#### Without cookie

1. Download the `docker-compose.yml`, `.env`, `monitor.sh` files and put them in a folder named `twspace-dl`.
2. Edit `.env` and fill in the Twitter username you want to monitor.
3. \[Optional] If you want to used a cookies file, put it into the folder and named it `cookies.txt`.
4. `docker-compose up -d`


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "twspace-dl",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Ryu1845",
    "author_email": "ryu@tpgjbo.xyz",
    "download_url": "https://files.pythonhosted.org/packages/77/42/943b3474b9e70940be1f7ac9a5a390a50fbd692c9b1d5346a14064ed2a14/twspace_dl-2023.1.22.1.tar.gz",
    "platform": null,
    "description": "<!-- markdownlint-disable MD033 MD041 -->\n\n<div align=\"center\">\n  <h1 id=\"twspace-dl\">Twspace-dl</h1>\n  <p>\n    <a href=\"https://pypi.org/project/twspace-dl/\">\n      <img src=\"https://img.shields.io/pypi/v/twspace-dl?style=for-the-badge\" alt=\"PyPI\">\n    </a>\n    <a href=\"https://pypi.org/project/twspace-dl/\">\n      <img src=\"https://img.shields.io/pypi/dm/twspace-dl?label=DOWNLOADS%20%28PYPI%29&amp;style=for-the-badge\" alt=\"PyPI DLs\">\n    </a>\n    <a href=\"https://github.com/HoloArchivists/twspace-dl/releases\">\n      <img src=\"https://img.shields.io/github/downloads/HoloArchivists/twspace-dl/total?label=DOWNLOADS%20%28GITHUB%29&amp;style=for-the-badge\" alt=\"Github Releases DLs\">\n    </a>\n  </p>\n  <p>A python module to download twitter spaces.</p>\n</div>\n\n## Screensots\n\n<details>\n<summary>GUI</summary>\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</details>\n\n<details>\n<summary>CLI</summary>\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</details>\n\n\n## Requirements\n\nffmpeg if not using portable binaries\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\n```\n\n<details>\n<summary>With binaries</summary>\n\n### Windows\n\n```bash\n.\\twspace_dl.exe -i space_url\n```\n\n</details>\n\n## Features\n\nHere's the output of the help option\n\n```txt\nusage: twspace_dl [-h] [-v] [-s] [-k] [-l] [--input-cookie-file COOKIE_FILE]\n                  [--username USERNAME] [--password PASSWORD]\n                  [--output-cookie-file OUTPUT_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]\n\nScript designed to help download twitter spaces\n\noptional arguments:\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  --input-cookie-file COOKIE_FILE\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-1.vi\n                        deo.pscp.tv/Transcoding/v1/hls/zUUpEgiM0M18jCGxo2eSZs9\n                        9p49hfyFQr1l4cdze-Sp4T-DQOMMoZpkbdyetgfwscfvvUkAdeF-I5\n                        hPI4bGoYg/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-1.vi\n                        deo.pscp.tv/Transcoding/v1/hls/YRSsw6_P5xUZHMualK5-ihv\n                        ePR6o4QmoZVOBGicKvmkL_KB9IQYtxVqm3P_vpZ2HnFkoRfar4_uJO\n                        jqC8OCo5A/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\nlogin:\n  --username USERNAME\n  --password PASSWORD\n  --output-cookie-file OUTPUT_COOKIE_FILE\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\u00a0know.\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> Use ${pwd} in powershell, or $(pwd) in bash\n\n```bash\ndocker run --rm -v ${pwd}:/output ryu1845/twspace-dl -i space_url\n```\n\n### Run as monitoring service\n\nUsing a cookie can help solve some problem with the twitter api. However, using one is not necessary.\n\n#### Without cookie\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. \\[Optional] If you want to used a cookies file, put it into the folder and named it `cookies.txt`.\n4. `docker-compose up -d`\n\n",
    "bugtrack_url": null,
    "license": "GPL-2.0-only",
    "summary": "The only tool to record Twitter spaces (yet)",
    "version": "2023.1.22.1",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b3d9bafb5feb98f55dc914de55d1232ba7d16bc2f649fa100e7d6ab777e0463c",
                "md5": "5b0b85c7290dc7b2e8b9eb70c2d0fabb",
                "sha256": "a4fb72ac0284f34246e6d0a0db98838c4de89c556c91391050a78b4266ce4124"
            },
            "downloads": -1,
            "filename": "twspace_dl-2023.1.22.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5b0b85c7290dc7b2e8b9eb70c2d0fabb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 22536,
            "upload_time": "2023-01-22T11:31:46",
            "upload_time_iso_8601": "2023-01-22T11:31:46.854597Z",
            "url": "https://files.pythonhosted.org/packages/b3/d9/bafb5feb98f55dc914de55d1232ba7d16bc2f649fa100e7d6ab777e0463c/twspace_dl-2023.1.22.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7742943b3474b9e70940be1f7ac9a5a390a50fbd692c9b1d5346a14064ed2a14",
                "md5": "58090cb73dfc7a9977130d00c0aec456",
                "sha256": "050e78b4583374351c288114e3b01ab34b0b19ad2d4971d15c5519521cf3f2f4"
            },
            "downloads": -1,
            "filename": "twspace_dl-2023.1.22.1.tar.gz",
            "has_sig": false,
            "md5_digest": "58090cb73dfc7a9977130d00c0aec456",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 22421,
            "upload_time": "2023-01-22T11:31:47",
            "upload_time_iso_8601": "2023-01-22T11:31:47.999173Z",
            "url": "https://files.pythonhosted.org/packages/77/42/943b3474b9e70940be1f7ac9a5a390a50fbd692c9b1d5346a14064ed2a14/twspace_dl-2023.1.22.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-22 11:31:47",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "twspace-dl"
}
        
Elapsed time: 0.03268s