libretime/api
libretime-bot 1a985a4b37
chore(main): release 4.1.0 (#2893)
🤖 I have created a release *beep* *boop*
---


## [4.1.0](https://github.com/libretime/libretime/compare/4.0.0...4.1.0)
(2024-05-05)


### Features

* **api:** implement file deletion
([#2960](https://github.com/libretime/libretime/issues/2960))
([9757b1b](9757b1b78c))
* build schedule events exclusively in playout
([#2946](https://github.com/libretime/libretime/issues/2946))
([40b4fc7](40b4fc7f66))
* **legacy:** add aac/opus support to dashboard player
([#2881](https://github.com/libretime/libretime/issues/2881))
([95283ef](95283efc1f))
* **legacy:** disable public radio page and redirect to login
([#2903](https://github.com/libretime/libretime/issues/2903))
([170d095](170d09545e))
* **legacy:** trim overbooked shows after autoloading a playlist
([#2897](https://github.com/libretime/libretime/issues/2897))
([a95ce3d](a95ce3d229))
* **legacy:** visual cue point editor
([#2947](https://github.com/libretime/libretime/issues/2947))
([da02e74](da02e74f21))
* start celery worker programmatically
([#2988](https://github.com/libretime/libretime/issues/2988))
([9c548b3](9c548b365e))


### Bug Fixes

* **analyzer:** backslash non utf-8 data when probing replaygain
([#2931](https://github.com/libretime/libretime/issues/2931))
([29f73e0](29f73e0dcb)),
closes [#2910](https://github.com/libretime/libretime/issues/2910)
* apply replay gain preferences on scheduled files
([#2945](https://github.com/libretime/libretime/issues/2945))
([35d0dec](35d0dec4a8))
* **deps:** update dependency friendsofphp/php-cs-fixer to <3.49.1
([#2899](https://github.com/libretime/libretime/issues/2899))
([3e05748](3e05748d2d))
* **deps:** update dependency friendsofphp/php-cs-fixer to <3.51.1
([#2963](https://github.com/libretime/libretime/issues/2963))
([22c303c](22c303cfff))
* **deps:** update dependency friendsofphp/php-cs-fixer to <3.53.1
([#2972](https://github.com/libretime/libretime/issues/2972))
([9192aaa](9192aaa2bb))
* **deps:** update dependency gunicorn to v22 (security)
([#2993](https://github.com/libretime/libretime/issues/2993))
([a2cf769](a2cf7697a9))
* incorrect docker compose version
([#2975](https://github.com/libretime/libretime/issues/2975))
([634e6e2](634e6e236d))
* **installer:** setup the worker entrypoint
([#2996](https://github.com/libretime/libretime/issues/2996))
([71b20ae](71b20ae3c9))
* **legacy:** allow deleting file with api token
([#2995](https://github.com/libretime/libretime/issues/2995))
([86da46e](86da46ee3a))
* **legacy:** allow updating track types code
([#2955](https://github.com/libretime/libretime/issues/2955))
([270aa08](270aa08ae6))
* **legacy:** avoid crash when lot of streams in configuration
([#2915](https://github.com/libretime/libretime/issues/2915))
([12dd477](12dd477312))
* **legacy:** ensure validation is performed on the track type form
([#2985](https://github.com/libretime/libretime/issues/2985))
([5ad69bf](5ad69bf0b7))
* **legacy:** fix hidden fields in edit file form
([#2932](https://github.com/libretime/libretime/issues/2932))
([f4b260f](f4b260fdf7))
* **legacy:** replay_gain_modifier should be a system preference
([#2943](https://github.com/libretime/libretime/issues/2943))
([37d1a76](37d1a7685e))
* remove obsolete docker compose version
([#2982](https://github.com/libretime/libretime/issues/2982))
([fb0584b](fb0584b021))
* trigger legacy tasks manager every 5m
([#2987](https://github.com/libretime/libretime/issues/2987))
([7040d0e](7040d0e4bd))
* **worker:** ensure celery beat is started
([#3007](https://github.com/libretime/libretime/issues/3007))
([bfde17e](bfde17edf7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: jo <ljonas@riseup.net>
2024-05-05 23:45:39 +02:00
..
install/systemd feat: run python in optimized mode (#2874) 2024-01-07 14:30:20 +01:00
libretime_api feat(api): implement file deletion (#2960) 2024-05-05 22:44:30 +02:00
Makefile feat: add sentry sdk 2023-03-14 14:59:45 +00:00
README.md feat: use dedicated 'libretime' user 2022-07-07 10:51:07 +02:00
packages.ini feat(api): install gunicorn/uvicorn from pip 2023-05-11 09:52:58 +01:00
pyproject.toml chore(api): disable duplicate-code check (#2799) 2023-12-18 18:54:07 +01:00
requirements.txt fix(deps): update dependency gunicorn to v22 (security) (#2993) 2024-04-17 08:43:11 +02:00
schema.yml fix: apply replay gain preferences on scheduled files (#2945) 2024-02-08 20:29:10 +01:00
setup.py chore(main): release 4.1.0 (#2893) 2024-05-05 23:45:39 +02:00

README.md

LibreTime API

This API provides access to LibreTime's database via a Django application.

Deploying

Deploying in a production environment is done in the install script which installs LibreTime. This is how the API is installed in the Vagrant development images too. This method does not automatically reflect changes to this API. After any changes, the libretime-api systemd service needs restarting:

sudo systemctl restart libretime-api

Connections to the API are proxied through the Apache web server by default. Endpoint exploration and documentation is available from http://example.com/api/v2/schema/swagger-ui/, where example.com is the URL for the LibreTime instance.

Development

For development, you can install all required dependencies and loading the environment using the following command:

make install
source .venv/bin/activate

You should be able to lint or format the code or run api commands:

make format
make lint

libretime-api help

In order to work with the database and message queue, you need to start the docker based development stack present at the project root:

pushd ..
docker-compose up -d
popd

You can now run the api tests:

make test

Inside Vagrant

You can develop the api using a live reloading version within Vagrant:

vagrant up bullseye
vagrant ssh bullseye

cd /vagrant/api
sudo pip3 install -e .

sudo systemctl stop libretime-api
sudo -u libretime LIBRETIME_DEBUG=True libretime-api runserver 0.0.0.0:8081

3rd Party Licences

libretime_api/tests/resources/song.mp3: Steps - Tears On The Dancefloor (Album Teaser) by mceyedol. Downloaded from https://soundcloud.com/mceyedol/steps-tears-on-the-dancefloor-album-teaser released under a Creative Commons Licence (cc-by-sa-nc-sa)