rabe-cridlib


Namerabe-cridlib JSON
Version 0.13.0 PyPI version JSON
download
home_pagehttps://github.com/radiorabe/python-rabe-cridlib
SummaryGenerate CRIDs for RaBe
upload_time2025-01-31 21:13:24
maintainerNone
docs_urlNone
authorRaBe IT-Reaktion
requires_python<4.0,>=3.11
licenseAGPL-3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # RaBe cridlib for Python

Generate [RaBe CRIDs](https://github.com/radiorabe/crid-spec) based on several data sources:

* Songticker for current CRID
* `archiv.rabe.ch` for past CRIDs
* LibreTime for future CRIDs (currently only data for the next 7 days and only available internally at RaBe)

## Installation

```bash
poetry add rabe-cridlib

# or on old setup style projects
pip -m install rabe-cridlib
```

## Usage

```python
>>> import cridlib
>>>
>>> # parse an existing crid
>>> crid = cridlib.parse("crid://rabe.ch/v1/klangbecken#t=clock=19930301T131200.00Z")
>>> print(f"version: {crid.version}, show: {crid.show}, start: {crid.start}")
version: v1, show: klangbecken, start: 1993-03-01 13:12:00

>>> # get crid for current show
>>> crid = cridlib.get()
>>> print(f"version: {crid.version}, show: {crid.show}")  # doctest:+ELLIPSIS
version: v1, show: ...

```

## Development

```bash
# setup a dev env
python -mvenv env
. env/bin/activate

# install a modern poetry version
python -mpip install poetry>=1.2.0

# install deps and dev version
poetry install

# make changes, run tests
pytest
```

## Release Management

The CI/CD setup uses semantic commit messages following the [conventional commits standard](https://www.conventionalcommits.org/en/v1.0.0/).
There is a GitHub Action [`semantic-release.yaml` in radiorabe/actions](https://github.com/radiorabe/actions/blob/main/.github/workflows/semantic-release.yaml)
that uses [go-semantic-commit](https://go-semantic-release.xyz/) to create new
releases.

The commit message should be structured as follows:

```
<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
```

The commit contains the following structural elements, to communicate intent to the consumers of your library:

1. **fix:** a commit of the type `fix` patches gets released with a PATCH version bump
1. **feat:** a commit of the type `feat` gets released as a MINOR version bump
1. **BREAKING CHANGE:** a commit that has a footer `BREAKING CHANGE:` gets released as a MAJOR version bump
1. types other than `fix:` and `feat:` are allowed and don't trigger a release

If a commit does not contain a conventional commit style message you can fix
it during the squash and merge operation on the PR.

Once a commit has landed on the `main` branch a release will be created and automatically published to [pypi](https://pypi.org/)
using the GitHub Action in [.github/workflows/release.yaml](./.github/workflows/release.yaml) which uses [poetry](https://python-poetry.org/)
to publish the package to pypi.

## License

This package is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.

## Copyright

Copyright (c) 2022 [Radio Bern RaBe](http://www.rabe.ch)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/radiorabe/python-rabe-cridlib",
    "name": "rabe-cridlib",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "RaBe IT-Reaktion",
    "author_email": "it@rabe.ch",
    "download_url": "https://files.pythonhosted.org/packages/ab/3f/85dfabc7524870380dc344613e0608c819771b6d236c0a63ecaacdc0f2c0/rabe_cridlib-0.13.0.tar.gz",
    "platform": null,
    "description": "# RaBe cridlib for Python\n\nGenerate [RaBe CRIDs](https://github.com/radiorabe/crid-spec) based on several data sources:\n\n* Songticker for current CRID\n* `archiv.rabe.ch` for past CRIDs\n* LibreTime for future CRIDs (currently only data for the next 7 days and only available internally at RaBe)\n\n## Installation\n\n```bash\npoetry add rabe-cridlib\n\n# or on old setup style projects\npip -m install rabe-cridlib\n```\n\n## Usage\n\n```python\n>>> import cridlib\n>>>\n>>> # parse an existing crid\n>>> crid = cridlib.parse(\"crid://rabe.ch/v1/klangbecken#t=clock=19930301T131200.00Z\")\n>>> print(f\"version: {crid.version}, show: {crid.show}, start: {crid.start}\")\nversion: v1, show: klangbecken, start: 1993-03-01 13:12:00\n\n>>> # get crid for current show\n>>> crid = cridlib.get()\n>>> print(f\"version: {crid.version}, show: {crid.show}\")  # doctest:+ELLIPSIS\nversion: v1, show: ...\n\n```\n\n## Development\n\n```bash\n# setup a dev env\npython -mvenv env\n. env/bin/activate\n\n# install a modern poetry version\npython -mpip install poetry>=1.2.0\n\n# install deps and dev version\npoetry install\n\n# make changes, run tests\npytest\n```\n\n## Release Management\n\nThe CI/CD setup uses semantic commit messages following the [conventional commits standard](https://www.conventionalcommits.org/en/v1.0.0/).\nThere is a GitHub Action [`semantic-release.yaml` in radiorabe/actions](https://github.com/radiorabe/actions/blob/main/.github/workflows/semantic-release.yaml)\nthat uses [go-semantic-commit](https://go-semantic-release.xyz/) to create new\nreleases.\n\nThe commit message should be structured as follows:\n\n```\n<type>[optional scope]: <description>\n\n[optional body]\n\n[optional footer(s)]\n```\n\nThe commit contains the following structural elements, to communicate intent to the consumers of your library:\n\n1. **fix:** a commit of the type `fix` patches gets released with a PATCH version bump\n1. **feat:** a commit of the type `feat` gets released as a MINOR version bump\n1. **BREAKING CHANGE:** a commit that has a footer `BREAKING CHANGE:` gets released as a MAJOR version bump\n1. types other than `fix:` and `feat:` are allowed and don't trigger a release\n\nIf a commit does not contain a conventional commit style message you can fix\nit during the squash and merge operation on the PR.\n\nOnce a commit has landed on the `main` branch a release will be created and automatically published to [pypi](https://pypi.org/)\nusing the GitHub Action in [.github/workflows/release.yaml](./.github/workflows/release.yaml) which uses [poetry](https://python-poetry.org/)\nto publish the package to pypi.\n\n## License\n\nThis package is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.\n\n## Copyright\n\nCopyright (c) 2022 [Radio Bern RaBe](http://www.rabe.ch)\n",
    "bugtrack_url": null,
    "license": "AGPL-3",
    "summary": "Generate CRIDs for RaBe",
    "version": "0.13.0",
    "project_urls": {
        "Homepage": "https://github.com/radiorabe/python-rabe-cridlib",
        "Repository": "https://github.com/radiorabe/python-rabe-cridlib"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b58768332ec7c79cfa752a80d7a95c23c08dbb1f1995d44ff00d99c9db808276",
                "md5": "b6d19e4c33c3c2da6f783892a2fb576b",
                "sha256": "1e15b8856b2590c506f6420d6c31769451b563aee671c11f7a5a5157d4945608"
            },
            "downloads": -1,
            "filename": "rabe_cridlib-0.13.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b6d19e4c33c3c2da6f783892a2fb576b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 20676,
            "upload_time": "2025-01-31T21:13:23",
            "upload_time_iso_8601": "2025-01-31T21:13:23.479779Z",
            "url": "https://files.pythonhosted.org/packages/b5/87/68332ec7c79cfa752a80d7a95c23c08dbb1f1995d44ff00d99c9db808276/rabe_cridlib-0.13.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ab3f85dfabc7524870380dc344613e0608c819771b6d236c0a63ecaacdc0f2c0",
                "md5": "c73b41ee1b680e4538075833c371ba18",
                "sha256": "02e56fb654b16b739d06e281b171b5bb1b1724f04a1774f0539fe794e6ef935a"
            },
            "downloads": -1,
            "filename": "rabe_cridlib-0.13.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c73b41ee1b680e4538075833c371ba18",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 17817,
            "upload_time": "2025-01-31T21:13:24",
            "upload_time_iso_8601": "2025-01-31T21:13:24.506112Z",
            "url": "https://files.pythonhosted.org/packages/ab/3f/85dfabc7524870380dc344613e0608c819771b6d236c0a63ecaacdc0f2c0/rabe_cridlib-0.13.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-31 21:13:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "radiorabe",
    "github_project": "python-rabe-cridlib",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "rabe-cridlib"
}
        
Elapsed time: 0.39487s