# LibRDS
[![pipeline status](https://flerken.zapto.org:1115/kuba/librds/badges/main/pipeline.svg)](https://flerken.zapto.org:1115/kuba/librds/-/commits/main)
LibRDS is a simple library that you can use to generate and decode the RDS groups, just the groups, so something like `3000 2000 7575 7575` the origins of development of this started on 12 May, later creating the [rdPy](https://github.com/KubaPro010/rdPy) repository
Example code:
```python
import librds
basic = librds.GroupGenerator.basic(0x3000)
print(basic)
ps = librds.GroupGenerator.ps(basic,"hi",0)
print(ps)
print(librds.GroupDecoder.decode(ps))
```
Output:
```
Group(a=12288, b=0, c=0, d=0, is_version_b=False)
Group(a=12288, b=8, c=57549, d=26729, is_version_b=False)
DecodedGroup(raw_group=Group(a=12288, b=8, c=57549, d=26729, is_version_b=False), pi=12288, tp=False, pty=0, group=GroupIdentifier(group_number=0, group_version=False), details=PSDetails(segment=0, di_stereo=None, di_artificial_head=None, di_compressed=None, di_dpty=False, ms=True, ta=False, text='hi', af=AlternativeFrequencyEntryDecoded(is_af=False, af_freq=None, af_freq1=None, lfmf_follows=None, all_af_lenght=None)))
```
**Note** that LibRDS required Python 3.10+ to run due to its use of `match`
# Decoder
LibRDS also includes a RDS Group decoder, so you can encode with librds and then also decode it, currently librds's decoder decodes all of the groups it can encode (such as CT, IH, TDC, etc...)
Raw data
{
"_id": null,
"home_page": "https://flerken.zapto.org:1115/kuba/librds",
"name": "librds",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "radiodatasystem, rds, broadcast_fm",
"author": "kuba201",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/35/f7/a47e3ae4a03aed6098056ccfd8e8fa500a7815911c56390150528e77fef8/librds-1.98.tar.gz",
"platform": null,
"description": "# LibRDS\n[![pipeline status](https://flerken.zapto.org:1115/kuba/librds/badges/main/pipeline.svg)](https://flerken.zapto.org:1115/kuba/librds/-/commits/main)\n\n\nLibRDS is a simple library that you can use to generate and decode the RDS groups, just the groups, so something like `3000 2000 7575 7575` the origins of development of this started on 12 May, later creating the [rdPy](https://github.com/KubaPro010/rdPy) repository\n\nExample code:\n```python\nimport librds\n\nbasic = librds.GroupGenerator.basic(0x3000)\nprint(basic)\n\nps = librds.GroupGenerator.ps(basic,\"hi\",0)\nprint(ps)\n\nprint(librds.GroupDecoder.decode(ps))\n```\n\nOutput:\n```\n Group(a=12288, b=0, c=0, d=0, is_version_b=False)\n Group(a=12288, b=8, c=57549, d=26729, is_version_b=False)\n DecodedGroup(raw_group=Group(a=12288, b=8, c=57549, d=26729, is_version_b=False), pi=12288, tp=False, pty=0, group=GroupIdentifier(group_number=0, group_version=False), details=PSDetails(segment=0, di_stereo=None, di_artificial_head=None, di_compressed=None, di_dpty=False, ms=True, ta=False, text='hi', af=AlternativeFrequencyEntryDecoded(is_af=False, af_freq=None, af_freq1=None, lfmf_follows=None, all_af_lenght=None)))\n```\n\n**Note** that LibRDS required Python 3.10+ to run due to its use of `match`\n\n# Decoder\nLibRDS also includes a RDS Group decoder, so you can encode with librds and then also decode it, currently librds's decoder decodes all of the groups it can encode (such as CT, IH, TDC, etc...)\n",
"bugtrack_url": null,
"license": null,
"summary": "RDS Group Generator",
"version": "1.98",
"project_urls": {
"Homepage": "https://flerken.zapto.org:1115/kuba/librds",
"Source": "https://flerken.zapto.org:1115/kuba/librds"
},
"split_keywords": [
"radiodatasystem",
" rds",
" broadcast_fm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2a4a76771562f85d51566f3ac827d0ae28c989372f0446570d6ee1fb6a9c07bc",
"md5": "19bb7a5f625e15e6721948a097570971",
"sha256": "b9cb4b200c23388a42ab7e7e1b08a12f3bbef749a0e1680db7fa97e8f72a9898"
},
"downloads": -1,
"filename": "librds-1.98-py3-none-any.whl",
"has_sig": false,
"md5_digest": "19bb7a5f625e15e6721948a097570971",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 27750,
"upload_time": "2024-06-24T12:45:09",
"upload_time_iso_8601": "2024-06-24T12:45:09.203541Z",
"url": "https://files.pythonhosted.org/packages/2a/4a/76771562f85d51566f3ac827d0ae28c989372f0446570d6ee1fb6a9c07bc/librds-1.98-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "35f7a47e3ae4a03aed6098056ccfd8e8fa500a7815911c56390150528e77fef8",
"md5": "53aafc54d832d69672ef403258ebf1cc",
"sha256": "7095e1f61cbbb6cc57ca45a535df7c148eea7ee231e70642e30dacd69ef2b6cd"
},
"downloads": -1,
"filename": "librds-1.98.tar.gz",
"has_sig": false,
"md5_digest": "53aafc54d832d69672ef403258ebf1cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26675,
"upload_time": "2024-06-24T12:45:16",
"upload_time_iso_8601": "2024-06-24T12:45:16.372582Z",
"url": "https://files.pythonhosted.org/packages/35/f7/a47e3ae4a03aed6098056ccfd8e8fa500a7815911c56390150528e77fef8/librds-1.98.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-24 12:45:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "librds"
}