LRC Toolbox
===========
<p>
<a href="https://pypi.org/project/lrctoolbox/">
<img src="https://img.shields.io/pypi/v/lrctoolbox?color=purple" alt="Stable Version">
</a>
<a href="https://pypistats.org/packages/lrctoolbox">
<img src="https://img.shields.io/pypi/dm/lrctoolbox?color=blue" alt="Downloads">
</a>
<a href="https://github.com/Dr-Blank/lrctoolbox/actions">
<img src="https://github.com/Dr-Blank/lrctoolbox/actions/workflows/tests.yaml/badge.svg" alt="Test">
</a>
<a href="https://codecov.io/gh/Dr-Blank/lrctoolbox" >
<img src="https://codecov.io/gh/Dr-Blank/lrctoolbox/graph/badge.svg"/>
</a>
<a href='https://lrctoolbox.readthedocs.io/en/latest/?badge=latest'>
<img src='https://readthedocs.org/projects/lrctoolbox/badge/?version=latest' alt='Documentation Status' />
</a>
<a href="https://github.com/psf/black">
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black">
</a>
<a href="https://mypy-lang.org/">
<img src="https://www.mypy-lang.org/static/mypy_badge.svg" alt="Checked with mypy">
</a>
</p>
Toolkit to work with [LRC Files](https://en.wikipedia.org/wiki/LRC_(file_format)) in Python
## Usage
```python
from lrctoolbox import SyncedLyrics
# Load LRC file
lyrics = SyncedLyrics.load_from_file("example.lrc")
# check if lyrics are synced
assert lyrics.is_synced
# get lyrics as string
print(lyrics.lyrics)
# shift lyrics by 1 second
for line in lyrics.lines:
line.timestamp += 1000
```
## Development
poetry is used for dependency management. Install it with `pip install poetry` and then run `poetry install` to install all dependencies.
Raw data
{
"_id": null,
"home_page": "https://github.com/Dr-Blank/lrctoolbox",
"name": "lrctoolbox",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "lrc,lyrics,pylrc,synced lyrics,karaoke,music,file,parser,editor,converter",
"author": "Dr-Blank",
"author_email": "64108942+Dr-Blank@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/f0/e0/d56f6c37adcb6e651f19f0fed1bde00992caf0e38f5d26d6fe488ad6e14a/lrctoolbox-1.2.0.tar.gz",
"platform": null,
"description": "LRC Toolbox\n===========\n\n<p>\n <a href=\"https://pypi.org/project/lrctoolbox/\">\n <img src=\"https://img.shields.io/pypi/v/lrctoolbox?color=purple\" alt=\"Stable Version\">\n </a>\n <a href=\"https://pypistats.org/packages/lrctoolbox\">\n <img src=\"https://img.shields.io/pypi/dm/lrctoolbox?color=blue\" alt=\"Downloads\">\n </a>\n <a href=\"https://github.com/Dr-Blank/lrctoolbox/actions\">\n <img src=\"https://github.com/Dr-Blank/lrctoolbox/actions/workflows/tests.yaml/badge.svg\" alt=\"Test\">\n </a>\n <a href=\"https://codecov.io/gh/Dr-Blank/lrctoolbox\" > \n <img src=\"https://codecov.io/gh/Dr-Blank/lrctoolbox/graph/badge.svg\"/> \n </a>\n <a href='https://lrctoolbox.readthedocs.io/en/latest/?badge=latest'>\n <img src='https://readthedocs.org/projects/lrctoolbox/badge/?version=latest' alt='Documentation Status' />\n </a>\n <a href=\"https://github.com/psf/black\">\n <img src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code style: black\">\n </a>\n <a href=\"https://mypy-lang.org/\">\n <img src=\"https://www.mypy-lang.org/static/mypy_badge.svg\" alt=\"Checked with mypy\">\n </a>\n</p>\n\n\nToolkit to work with [LRC Files](https://en.wikipedia.org/wiki/LRC_(file_format)) in Python\n\n## Usage\n\n```python\nfrom lrctoolbox import SyncedLyrics\n\n# Load LRC file\nlyrics = SyncedLyrics.load_from_file(\"example.lrc\")\n\n# check if lyrics are synced\nassert lyrics.is_synced\n\n# get lyrics as string\nprint(lyrics.lyrics)\n\n# shift lyrics by 1 second\nfor line in lyrics.lines:\n line.timestamp += 1000\n\n```\n\n## Development\n\npoetry is used for dependency management. Install it with `pip install poetry` and then run `poetry install` to install all dependencies.\n\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "toolkit for working with lrc files",
"version": "1.2.0",
"project_urls": {
"Homepage": "https://github.com/Dr-Blank/lrctoolbox",
"Repository": "https://github.com/Dr-Blank/lrctoolbox"
},
"split_keywords": [
"lrc",
"lyrics",
"pylrc",
"synced lyrics",
"karaoke",
"music",
"file",
"parser",
"editor",
"converter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "84bb9278ed8343bb001dc5cae6c50b9b3d652e6f3815d55705a729d372163173",
"md5": "a23498ede936294bab0f46bfe4ba5739",
"sha256": "a3fd8e2b7b868bcc75e08bcc170e82da6eba837b9a3450b089dba399f5e11f8b"
},
"downloads": -1,
"filename": "lrctoolbox-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a23498ede936294bab0f46bfe4ba5739",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 7267,
"upload_time": "2023-11-19T08:11:31",
"upload_time_iso_8601": "2023-11-19T08:11:31.058345Z",
"url": "https://files.pythonhosted.org/packages/84/bb/9278ed8343bb001dc5cae6c50b9b3d652e6f3815d55705a729d372163173/lrctoolbox-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f0e0d56f6c37adcb6e651f19f0fed1bde00992caf0e38f5d26d6fe488ad6e14a",
"md5": "95e954c44e80ffb4245abc3d10ad607b",
"sha256": "23e48b6cad6bfafafb6910de81f736db6c400a8a734ea376d1b07ac1f29a3199"
},
"downloads": -1,
"filename": "lrctoolbox-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "95e954c44e80ffb4245abc3d10ad607b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 6484,
"upload_time": "2023-11-19T08:11:32",
"upload_time_iso_8601": "2023-11-19T08:11:32.199493Z",
"url": "https://files.pythonhosted.org/packages/f0/e0/d56f6c37adcb6e651f19f0fed1bde00992caf0e38f5d26d6fe488ad6e14a/lrctoolbox-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-19 08:11:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Dr-Blank",
"github_project": "lrctoolbox",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "lrctoolbox"
}