ktoolbox-pure-py


Namektoolbox-pure-py JSON
Version 0.12.0 PyPI version JSON
download
home_pagehttps://ktoolbox.readthedocs.io/
SummaryA useful CLI tool for downloading posts in Kemono.su / .party (Pure Python version)
upload_time2024-12-12 14:11:53
maintainerNone
docs_urlNone
authorLjzd-PRO
requires_python<3.12,>=3.8
licenseBSD-3-Clause
keywords kemono kemono.party cli-app downloader os-independent
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <p align="center" style="text-decoration:none">
  <img align="center" src="https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/repository-open-graph-2.svg" alt="logo">
</p>

<h1 align="center">
  KToolBox
</h1>

<p align="center">
  KToolBox is a useful CLI tool for downloading posts content in
  <a href="https://kemono.su/">Kemono.su / Kemono.party</a>
</p>

<p align="center">
  <a href="https://pypi.org/project/ktoolbox" target="_blank">
    <img src="https://img.shields.io/github/v/release/Ljzd-PRO/KToolBox?logo=python" alt="Version">
  </a>

  <a href="https://pypi.org/project/ktoolbox" target="_blank">
    <img src="https://img.shields.io/pypi/dm/ktoolbox?label=pypi-downloads" alt="PyPI Downloads">
  </a>

  <a href="https://github.com/Ljzd-PRO/KToolBox/releases" target="_blank">
    <img src="https://img.shields.io/github/downloads/Ljzd-PRO/KToolBox/total?label=github-downloads" alt="GitHub Release Downloads">
  </a>
  
  <a href="./LICENSE">
    <img src="https://img.shields.io/github/license/Ljzd-PRO/KToolBox" alt="BSD 3-Clause"/>
  </a>

  <a href="https://github.com/Ljzd-PRO/KToolBox/activity">
    <img src="https://img.shields.io/github/last-commit/Ljzd-PRO/KToolBox/devel" alt="Last Commit"/>
  </a>

  <a href="https://codecov.io/gh/Ljzd-PRO/KToolBox" target="_blank">
      <img src="https://codecov.io/gh/Ljzd-PRO/KToolBox/branch/master/graph/badge.svg?token=5XK9CYQHQN" alt="codecov"/>
  </a>

  <a href='https://ktoolbox.readthedocs.io/'>
    <img src='https://readthedocs.org/projects/ktoolbox/badge/?version=latest' alt='Documentation Status' />
  </a>

  <a style="text-decoration:none">
    <img src="https://img.shields.io/badge/Platform-Windows%20|%20Linux%20|%20macOS-blue" alt="Platform Win | Linux | macOS"/>
  </a>
</p>

<p align="center">
    <a href="./README.md">English</a> | <a href="./README_zh-CN.md">中文</a>
</p>

## Features

- Supports concurrent downloads  
- Automatically retries API calls and downloads after failures  
- Allows downloading individual posts or **all posts** of a specified artist  
- Can **update downloaded** artist directories to the latest state  
- Supports customizable **file and directory naming formats** and **directory structures** for downloaded posts/artists  
- Enables excluding **specified file formats** or downloading only specified formats  
- Allows searching for artists and posts, with options to export results  
- Compatible with all platforms, with iOS shortcuts provided  
- For support related to _Coomer.su / Coomer.party_, please refer to the documentation: [Coomer](https://ktoolbox.readthedocs.io/latest/coomer/)

## Dev Plan

- [ ] GUI
- [ ] Discord support

## Tutorial

See [documentation](https://ktoolbox.readthedocs.io/) for more details.

### Installation

You can use executables from [releases](https://github.com/Ljzd-PRO/KToolBox/releases) page

Manually install:

- Recommend
  ```bash
  pip3 install pipx
  pipx install ktoolbox
  ```

- For [a-Shell](https://github.com/holzschu/a-shell)
  ```bash
  pip3 install ktoolbox-pure-py
  ```

### Command

For more information, use the help command or goto [Command](https://ktoolbox.readthedocs.io/latest/commands/guide) page.
  
#### ❓ Get general help
```bash
ktoolbox -h
```
  
#### ❓ Get help of a command
```bash
ktoolbox download-post -h
```

#### ⬇️🖼️ Download a specific post
```bash
ktoolbox download-post https://kemono.su/fanbox/user/49494721/post/6608808
```

If some files failed to download, you can try to execute the command line again, 
the downloaded files will be **skipped**.
  
#### ⬇️🖌️ Download posts from a creator
```bash
# Download all posts of the creator/artist
ktoolbox sync-creator https://kemono.su/fanbox/user/9016

# Download latest 10 posts of the creator/artist
ktoolbox sync-creator https://kemono.su/fanbox/user/9016 --length=10

# Download latest No.11-No.15 posts of the creator/artist
ktoolbox sync-creator https://kemono.su/fanbox/user/9016 --offset=10 --length=5

# Download posts from the creator/artist from 2024-1-1 to 2024-3-1
ktoolbox sync-creator https://kemono.su/fanbox/user/9016 --start-time=2024-1-1 --end-time=2024-3-1
```

### iOS Shortcuts

Goto [Shortcuts for iOS](https://ktoolbox.readthedocs.io/latest/shortcut/) page for more details.

### Configuration

- Download 10 files at the same time
- Rename attachments in numerical order
- Prefix the post directory name with its release/publish date
- ...

Goto [Configuration-Guide](https://ktoolbox.readthedocs.io/latest/configuration/guide/) page for more details.

![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png)
![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png)

## Other Branches

- Pure Python branch: [🔗pure-py](https://github.com/Ljzd-PRO/KToolBox/tree/pure-py)
  - Use pydantic v1 so that cargo is not needed for installation
  - For example, you can use it on iOS terminal App [a-Shell](https://github.com/holzschu/a-shell)
  - 🔗[PyPI](https://pypi.org/project/ktoolbox-pure-py/)
- Development branch: [🔗devel](https://github.com/Ljzd-PRO/KToolBox/tree/devel)

## About Kemono

Description from https://kemono.su :

> Kemono is a public archiver for:
>  
> - Patreon
> - Pixiv Fanbox
> - Discord
> - Fantia
> - Afdian
> - Boosty
> - DLsite
> - Gumroad
> - SubscribeStar
> 
> Contributors here upload content and share it here for easy searching and organization. \
> To get started viewing content, either search for creators on the artists page, or search for content on the posts page.

## Code Coverage

![codecov.io](https://codecov.io/gh/Ljzd-PRO/KToolBox/graphs/sunburst.svg?token=5XK9CYQHQN)

## License

KToolBox is licensed under BSD 3-Clause.

Copyright © 2023 by Ljzd-PRO.

            

Raw data

            {
    "_id": null,
    "home_page": "https://ktoolbox.readthedocs.io/",
    "name": "ktoolbox-pure-py",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.8",
    "maintainer_email": null,
    "keywords": "kemono, kemono.party, cli-app, downloader, os-independent",
    "author": "Ljzd-PRO",
    "author_email": "ljzd@office.ljzd-pro.asia",
    "download_url": "https://files.pythonhosted.org/packages/a0/03/bd2cf189e657c36894a0e45ad217297d895075cd4589642fc53e7c5a8963/ktoolbox_pure_py-0.12.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\" style=\"text-decoration:none\">\n  <img align=\"center\" src=\"https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/repository-open-graph-2.svg\" alt=\"logo\">\n</p>\n\n<h1 align=\"center\">\n  KToolBox\n</h1>\n\n<p align=\"center\">\n  KToolBox is a useful CLI tool for downloading posts content in\n  <a href=\"https://kemono.su/\">Kemono.su / Kemono.party</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://pypi.org/project/ktoolbox\" target=\"_blank\">\n    <img src=\"https://img.shields.io/github/v/release/Ljzd-PRO/KToolBox?logo=python\" alt=\"Version\">\n  </a>\n\n  <a href=\"https://pypi.org/project/ktoolbox\" target=\"_blank\">\n    <img src=\"https://img.shields.io/pypi/dm/ktoolbox?label=pypi-downloads\" alt=\"PyPI Downloads\">\n  </a>\n\n  <a href=\"https://github.com/Ljzd-PRO/KToolBox/releases\" target=\"_blank\">\n    <img src=\"https://img.shields.io/github/downloads/Ljzd-PRO/KToolBox/total?label=github-downloads\" alt=\"GitHub Release Downloads\">\n  </a>\n  \n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/Ljzd-PRO/KToolBox\" alt=\"BSD 3-Clause\"/>\n  </a>\n\n  <a href=\"https://github.com/Ljzd-PRO/KToolBox/activity\">\n    <img src=\"https://img.shields.io/github/last-commit/Ljzd-PRO/KToolBox/devel\" alt=\"Last Commit\"/>\n  </a>\n\n  <a href=\"https://codecov.io/gh/Ljzd-PRO/KToolBox\" target=\"_blank\">\n      <img src=\"https://codecov.io/gh/Ljzd-PRO/KToolBox/branch/master/graph/badge.svg?token=5XK9CYQHQN\" alt=\"codecov\"/>\n  </a>\n\n  <a href='https://ktoolbox.readthedocs.io/'>\n    <img src='https://readthedocs.org/projects/ktoolbox/badge/?version=latest' alt='Documentation Status' />\n  </a>\n\n  <a style=\"text-decoration:none\">\n    <img src=\"https://img.shields.io/badge/Platform-Windows%20|%20Linux%20|%20macOS-blue\" alt=\"Platform Win | Linux | macOS\"/>\n  </a>\n</p>\n\n<p align=\"center\">\n    <a href=\"./README.md\">English</a> | <a href=\"./README_zh-CN.md\">\u4e2d\u6587</a>\n</p>\n\n## Features\n\n- Supports concurrent downloads  \n- Automatically retries API calls and downloads after failures  \n- Allows downloading individual posts or **all posts** of a specified artist  \n- Can **update downloaded** artist directories to the latest state  \n- Supports customizable **file and directory naming formats** and **directory structures** for downloaded posts/artists  \n- Enables excluding **specified file formats** or downloading only specified formats  \n- Allows searching for artists and posts, with options to export results  \n- Compatible with all platforms, with iOS shortcuts provided  \n- For support related to _Coomer.su / Coomer.party_, please refer to the documentation: [Coomer](https://ktoolbox.readthedocs.io/latest/coomer/)\n\n## Dev Plan\n\n- [ ] GUI\n- [ ] Discord support\n\n## Tutorial\n\nSee [documentation](https://ktoolbox.readthedocs.io/) for more details.\n\n### Installation\n\nYou can use executables from [releases](https://github.com/Ljzd-PRO/KToolBox/releases) page\n\nManually install:\n\n- Recommend\n  ```bash\n  pip3 install pipx\n  pipx install ktoolbox\n  ```\n\n- For [a-Shell](https://github.com/holzschu/a-shell)\n  ```bash\n  pip3 install ktoolbox-pure-py\n  ```\n\n### Command\n\nFor more information, use the help command or goto [Command](https://ktoolbox.readthedocs.io/latest/commands/guide) page.\n  \n#### \u2753 Get general help\n```bash\nktoolbox -h\n```\n  \n#### \u2753 Get help of a command\n```bash\nktoolbox download-post -h\n```\n\n#### \u2b07\ufe0f\ud83d\uddbc\ufe0f Download a specific post\n```bash\nktoolbox download-post https://kemono.su/fanbox/user/49494721/post/6608808\n```\n\nIf some files failed to download, you can try to execute the command line again, \nthe downloaded files will be **skipped**.\n  \n#### \u2b07\ufe0f\ud83d\udd8c\ufe0f Download posts from a creator\n```bash\n# Download all posts of the creator/artist\nktoolbox sync-creator https://kemono.su/fanbox/user/9016\n\n# Download latest 10 posts of the creator/artist\nktoolbox sync-creator https://kemono.su/fanbox/user/9016 --length=10\n\n# Download latest No.11-No.15 posts of the creator/artist\nktoolbox sync-creator https://kemono.su/fanbox/user/9016 --offset=10 --length=5\n\n# Download posts from the creator/artist from 2024-1-1 to 2024-3-1\nktoolbox sync-creator https://kemono.su/fanbox/user/9016 --start-time=2024-1-1 --end-time=2024-3-1\n```\n\n### iOS Shortcuts\n\nGoto [Shortcuts for iOS](https://ktoolbox.readthedocs.io/latest/shortcut/) page for more details.\n\n### Configuration\n\n- Download 10 files at the same time\n- Rename attachments in numerical order\n- Prefix the post directory name with its release/publish date\n- ...\n\nGoto [Configuration-Guide](https://ktoolbox.readthedocs.io/latest/configuration/guide/) page for more details.\n\n![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png)\n![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png)\n\n## Other Branches\n\n- Pure Python branch: [\ud83d\udd17pure-py](https://github.com/Ljzd-PRO/KToolBox/tree/pure-py)\n  - Use pydantic v1 so that cargo is not needed for installation\n  - For example, you can use it on iOS terminal App [a-Shell](https://github.com/holzschu/a-shell)\n  - \ud83d\udd17[PyPI](https://pypi.org/project/ktoolbox-pure-py/)\n- Development branch: [\ud83d\udd17devel](https://github.com/Ljzd-PRO/KToolBox/tree/devel)\n\n## About Kemono\n\nDescription from https://kemono.su :\n\n> Kemono is a public archiver for:\n>  \n> - Patreon\n> - Pixiv Fanbox\n> - Discord\n> - Fantia\n> - Afdian\n> - Boosty\n> - DLsite\n> - Gumroad\n> - SubscribeStar\n> \n> Contributors here upload content and share it here for easy searching and organization. \\\n> To get started viewing content, either search for creators on the artists page, or search for content on the posts page.\n\n## Code Coverage\n\n![codecov.io](https://codecov.io/gh/Ljzd-PRO/KToolBox/graphs/sunburst.svg?token=5XK9CYQHQN)\n\n## License\n\nKToolBox is licensed under BSD 3-Clause.\n\nCopyright \u00a9 2023 by Ljzd-PRO.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "A useful CLI tool for downloading posts in Kemono.su / .party (Pure Python version)",
    "version": "0.12.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/Ljzd-PRO/KToolBox/issues",
        "Documentation": "https://ktoolbox.readthedocs.io/",
        "Homepage": "https://ktoolbox.readthedocs.io/",
        "Repository": "https://github.com/Ljzd-PRO/KToolBox"
    },
    "split_keywords": [
        "kemono",
        " kemono.party",
        " cli-app",
        " downloader",
        " os-independent"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ede0239cb4e32277866993bba3f5b75a74426e0c4f4cd242d29fe360c874363",
                "md5": "4829a0503c028e8e2bb9fd5cd65fc821",
                "sha256": "1e9173dadf0089592aad7ef3e3ef65518e72ad35c4e7b392d70ba01771a62daf"
            },
            "downloads": -1,
            "filename": "ktoolbox_pure_py-0.12.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4829a0503c028e8e2bb9fd5cd65fc821",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.8",
            "size": 34437,
            "upload_time": "2024-12-12T14:11:48",
            "upload_time_iso_8601": "2024-12-12T14:11:48.246556Z",
            "url": "https://files.pythonhosted.org/packages/4e/de/0239cb4e32277866993bba3f5b75a74426e0c4f4cd242d29fe360c874363/ktoolbox_pure_py-0.12.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a003bd2cf189e657c36894a0e45ad217297d895075cd4589642fc53e7c5a8963",
                "md5": "a9d29b9411dfb41d641be65840cf9f47",
                "sha256": "2cd8edecf8d3def9fc84e17461ed21ef3568c967100e9d27cd176a13547af096"
            },
            "downloads": -1,
            "filename": "ktoolbox_pure_py-0.12.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a9d29b9411dfb41d641be65840cf9f47",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.8",
            "size": 25923,
            "upload_time": "2024-12-12T14:11:53",
            "upload_time_iso_8601": "2024-12-12T14:11:53.858826Z",
            "url": "https://files.pythonhosted.org/packages/a0/03/bd2cf189e657c36894a0e45ad217297d895075cd4589642fc53e7c5a8963/ktoolbox_pure_py-0.12.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-12 14:11:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Ljzd-PRO",
    "github_project": "KToolBox",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "ktoolbox-pure-py"
}
        
Elapsed time: 0.41523s