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
  • TBD: LibreTime for future CRIDs

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(crid)
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 in .github/workflows/semantic-release.yaml 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

cridlib-0.1.5.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

cridlib-0.1.5-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file cridlib-0.1.5.tar.gz.

File metadata

  • Download URL: cridlib-0.1.5.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-1024-azure

File hashes

Hashes for cridlib-0.1.5.tar.gz
Algorithm Hash digest
SHA256 654c7bf555afd215719093fb8b7a8f11eca5b436c2abf85a242872b5ff809f79
MD5 f67d2cb98fbdee7ee404deea300e8d57
BLAKE2b-256 04895e930224fd3ea30b28ae69775fca25e3789129998680f6986fc17b2498ba

See more details on using hashes here.

File details

Details for the file cridlib-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: cridlib-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-1024-azure

File hashes

Hashes for cridlib-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0779e983e4f52656213c5cbc86fe8a8361cc64103ce1ec032327d84451c088e5
MD5 96a8b26ede87b2825be55f96fd07c2a5
BLAKE2b-256 b1ee09d5a0ab419de7dc1a15cc229f7f693a126ab2a1f515edb089041698060b

See more details on using hashes here.

Supported by

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