Generate CRIDs for RaBe
Project description
RaBe cridlib for Python
Generate RaBe CRIDs 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
poetry add rabe-cridlib
# or on old setup style projects
pip -m install rabe-cridlib
Usage
>>> 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
# 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.
There is a GitHub Action semantic-release.yaml
in radiorabe/actions
that uses go-semantic-commit 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:
- fix: a commit of the type
fix
patches gets released with a PATCH version bump - feat: a commit of the type
feat
gets released as a MINOR version bump - BREAKING CHANGE: a commit that has a footer
BREAKING CHANGE:
gets released as a MAJOR version bump - types other than
fix:
andfeat:
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
using the GitHub Action in .github/workflows/release.yaml which uses poetry
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rabe_cridlib-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3614bcf197bf1cb2f9168f6c3871ea1cadd7e63843d84b216f267aa92ce03218 |
|
MD5 | 070e1174877fe46f1943b08bbfa58e3b |
|
BLAKE2b-256 | 0aa85ab9a90558500f2a04034e0dfb86f3002afb7cecb11f35ef52695344d3c3 |