py-tomfoolery


Namepy-tomfoolery JSON
Version 0.0.9 PyPI version JSON
download
home_pageNone
SummarySoundCloud / YouTube / Bandcamp downloader /w a GUI
upload_time2024-08-20 21:15:40
maintainerNone
docs_urlNone
authorTom Krut
requires_python>=3.9
licenseNone
keywords soundcloud youtube bandcamp scraper downloader
VCS
bugtrack_url
requirements PyQt6 appdirs clint debugpy demjson3 ffmpeg_python moviepy mutagen pathvalidate pytube Requests soundcloud_v2 tqdm
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tomfoolery

This is a *SoundCloud* / *Bandcamp* / *YouTube* downloader.

<img alt="demo.gif" src="https://raw.githubusercontent.com/tomkrut/tomfoolery/master/media/demo_small.gif">

## Installation

1. Get [ffmpeg](https://ffmpeg.org) binary and add it to your path manually, or  

   ```python
   conda install -c anaconda ffmpeg
   ```

2. Install tomfoolery.

   ```python
   pip install py-tomfoolery
   ```

### Usage

Enter following in the terminal.

```python
tomfoolery
```

### Configuration

- Menu *File*.
  - *Directories*.
    - *SoundCloud* downloads directory.
    - *Bandcamp* downloads directory.
    - *YouTube* downloads directory.
  - *Config*.
    - Organize saved songs in folders by the *artist*.
    - Organize saved songs in folders by the *album*.

### Metadata editing

*Artist* / *Title* / *Album* can be edited by double-clicking a corresponding entry.  
The change will reflect both in the filename and in the file metadata.

## Acknowledgements

Tomfoolery is using bits and pieces from other repos, off the top of my head:

- [pytube/pytube](https://github.com/pytube/pytube),
- [Miserlou/SoundScrape](https://github.com/Miserlou/SoundScrape),
- [flyingrub/scdl](https://github.com/flyingrub/scdl),
- [better-ffmpeg-progress](https://github.com/CrypticSignal/better-ffmpeg-progress).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "py-tomfoolery",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "soundcloud, youtube, bandcamp, scraper, downloader",
    "author": "Tom Krut",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/25/51/ea0e0c19f31d3c050856a68a17ede8d360991ded92a69fcc3b4bb0115702/py_tomfoolery-0.0.9.tar.gz",
    "platform": null,
    "description": "# Tomfoolery\n\nThis is a *SoundCloud* / *Bandcamp* / *YouTube* downloader.\n\n<img alt=\"demo.gif\" src=\"https://raw.githubusercontent.com/tomkrut/tomfoolery/master/media/demo_small.gif\">\n\n## Installation\n\n1. Get [ffmpeg](https://ffmpeg.org) binary and add it to your path manually, or  \n\n   ```python\n   conda install -c anaconda ffmpeg\n   ```\n\n2. Install tomfoolery.\n\n   ```python\n   pip install py-tomfoolery\n   ```\n\n### Usage\n\nEnter following in the terminal.\n\n```python\ntomfoolery\n```\n\n### Configuration\n\n- Menu *File*.\n  - *Directories*.\n    - *SoundCloud* downloads directory.\n    - *Bandcamp* downloads directory.\n    - *YouTube* downloads directory.\n  - *Config*.\n    - Organize saved songs in folders by the *artist*.\n    - Organize saved songs in folders by the *album*.\n\n### Metadata editing\n\n*Artist* / *Title* / *Album* can be edited by double-clicking a corresponding entry.  \nThe change will reflect both in the filename and in the file metadata.\n\n## Acknowledgements\n\nTomfoolery is using bits and pieces from other repos, off the top of my head:\n\n- [pytube/pytube](https://github.com/pytube/pytube),\n- [Miserlou/SoundScrape](https://github.com/Miserlou/SoundScrape),\n- [flyingrub/scdl](https://github.com/flyingrub/scdl),\n- [better-ffmpeg-progress](https://github.com/CrypticSignal/better-ffmpeg-progress).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "SoundCloud / YouTube / Bandcamp downloader /w a GUI",
    "version": "0.0.9",
    "project_urls": {
        "Repository": "https://github.com/tomkrut/tomfoolery.git"
    },
    "split_keywords": [
        "soundcloud",
        " youtube",
        " bandcamp",
        " scraper",
        " downloader"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4705976c7341e24c4b3a31bbd52fa6d56c425a17334a2147691c3db80c4fe81d",
                "md5": "c53daee5323ef6354a32195e1f97e86e",
                "sha256": "470aa7a2ba168a492b9dc5570d1af39fc62dec4ffedb14ad9a1963f7080d213a"
            },
            "downloads": -1,
            "filename": "py_tomfoolery-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c53daee5323ef6354a32195e1f97e86e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 338125,
            "upload_time": "2024-08-20T21:15:38",
            "upload_time_iso_8601": "2024-08-20T21:15:38.851775Z",
            "url": "https://files.pythonhosted.org/packages/47/05/976c7341e24c4b3a31bbd52fa6d56c425a17334a2147691c3db80c4fe81d/py_tomfoolery-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2551ea0e0c19f31d3c050856a68a17ede8d360991ded92a69fcc3b4bb0115702",
                "md5": "4275fa1c46ace7d250c42e6d8477bbf0",
                "sha256": "f0f62411909a2f08a00d05cbd863001dca779e77ca66124de845ac48b388a257"
            },
            "downloads": -1,
            "filename": "py_tomfoolery-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "4275fa1c46ace7d250c42e6d8477bbf0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 2552773,
            "upload_time": "2024-08-20T21:15:40",
            "upload_time_iso_8601": "2024-08-20T21:15:40.962290Z",
            "url": "https://files.pythonhosted.org/packages/25/51/ea0e0c19f31d3c050856a68a17ede8d360991ded92a69fcc3b4bb0115702/py_tomfoolery-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-20 21:15:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tomkrut",
    "github_project": "tomfoolery",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "PyQt6",
            "specs": [
                [
                    ">=",
                    "6.5.2"
                ]
            ]
        },
        {
            "name": "appdirs",
            "specs": [
                [
                    "==",
                    "1.4.4"
                ]
            ]
        },
        {
            "name": "clint",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "debugpy",
            "specs": [
                [
                    "==",
                    "1.6.7"
                ]
            ]
        },
        {
            "name": "demjson3",
            "specs": [
                [
                    "==",
                    "3.0.6"
                ]
            ]
        },
        {
            "name": "ffmpeg_python",
            "specs": [
                [
                    "==",
                    "0.2.0"
                ]
            ]
        },
        {
            "name": "moviepy",
            "specs": [
                [
                    "==",
                    "1.0.3"
                ]
            ]
        },
        {
            "name": "mutagen",
            "specs": [
                [
                    "==",
                    "1.46.0"
                ]
            ]
        },
        {
            "name": "pathvalidate",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "pytube",
            "specs": [
                [
                    "==",
                    "15.0.0"
                ]
            ]
        },
        {
            "name": "Requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "soundcloud_v2",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.65.0"
                ]
            ]
        }
    ],
    "lcname": "py-tomfoolery"
}
        
Elapsed time: 4.64673s