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.11.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f75846a9c82c290acba0f3987d28003540da05307f1ec7cf2dc6178bb380ff72 |
|
MD5 | 567bb2f4e280695c02d9e2060e38a959 |
|
BLAKE2b-256 | 397dfaec4b18358e9a4ca33accdddeed27041b77712a00f72227b7227da3fd18 |