Skip to main content

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:

  1. fix: a commit of the type fix patches gets released with a PATCH version bump
  2. feat: a commit of the type feat gets released as a MINOR version bump
  3. BREAKING CHANGE: a commit that has a footer BREAKING CHANGE: gets released as a MAJOR version bump
  4. 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 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rabe_cridlib-0.13.2.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rabe_cridlib-0.13.2-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file rabe_cridlib-0.13.2.tar.gz.

File metadata

  • Download URL: rabe_cridlib-0.13.2.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for rabe_cridlib-0.13.2.tar.gz
Algorithm Hash digest
SHA256 001424d5106e9491e8a01f9c96298063ccd073faae8206e9f2b4ada63f01e2c2
MD5 3a094e11e29b2dd2630e4b55a4d6301a
BLAKE2b-256 90b0680de80fdcce3329fa35e7bbac70f3dbdf10c3296c0f8c48423282e964c6

See more details on using hashes here.

File details

Details for the file rabe_cridlib-0.13.2-py3-none-any.whl.

File metadata

  • Download URL: rabe_cridlib-0.13.2-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for rabe_cridlib-0.13.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1d333c71fb327af40130b9a6af98e389bf59900647368d2c6b2fa478a4f98866
MD5 ac906d0f94fe00bbc0814ca35dfc19d7
BLAKE2b-256 3ceaa061c33a565774da8d7ac85b5b3bb501d4b39875e6c3dc42d95c1f74dca2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page