🤖 I have created a release *beep* *boop* --- ## [4.0.0](https://github.com/libretime/libretime/compare/3.2.0...4.0.0) (2024-01-07) ### ⚠ BREAKING CHANGES * The media file serving is now handled by Nginx instead of the API service. The `storage.path` field is now used in the Nginx configuration, so make sure to update the Nginx configuration file if you change it. * **installer:** The default listen port for the installer is now `8080`. We recommend that you put a reverse proxy in front of LibreTime. * **installer:** The `--update-nginx` flag was removed from the installer. The nginx configuration deployed by the installer will now always be overwritten. Make sure to move your customizations to a reverse proxy configuration. * The default system output (`stream.outputs.system[].kind`) changed from `alsa` to `pulseaudio`. Make sure to update your configuration file if you rely on the default system output. * The `general.secret_key` configuration field is now required. Make sure to update your configuration file and add a secret key. ### Features * default system output is now `pulseaudio` ([#2842](https://github.com/libretime/libretime/issues/2842)) ([083ee3f
](083ee3f1dd
)), closes [#2542](https://github.com/libretime/libretime/issues/2542) * disable uvicorn worker lifespan ([#2845](https://github.com/libretime/libretime/issues/2845)) ([8743c84
](8743c84d0f
)) * **installer:** add the `--storage-path` flag ([#2865](https://github.com/libretime/libretime/issues/2865)) ([5b23852
](5b23852f8d
)) * **installer:** change default listen port to 8080 ([#2852](https://github.com/libretime/libretime/issues/2852)) ([f72b7f9
](f72b7f9c97
)) * **installer:** remove the `--update-nginx` flag ([#2851](https://github.com/libretime/libretime/issues/2851)) ([35d7eac
](35d7eace13
)) * **playout:** configure device for alsa and pulseaudio system outputs ([#2654](https://github.com/libretime/libretime/issues/2654)) ([06af18b
](06af18b84e
)) * rewrite cloud-init config ([#2853](https://github.com/libretime/libretime/issues/2853)) ([8406d52
](8406d520d7
)) * run python in optimized mode ([#2874](https://github.com/libretime/libretime/issues/2874)) ([3f7fc99
](3f7fc99b6b
)) * the `general.secret_key` configuration field is now required ([#2841](https://github.com/libretime/libretime/issues/2841)) ([0d2d1a2
](0d2d1a2673
)), closes [#2426](https://github.com/libretime/libretime/issues/2426) * use nginx to serve media files ([#2860](https://github.com/libretime/libretime/issues/2860)) ([4603c17
](4603c1759f
)) ### Bug Fixes * add parent function name in setValue exception ([#2777](https://github.com/libretime/libretime/issues/2777)) ([c764a5a
](c764a5a648
)) * **api:** ensure non ascii paths are handled by X-Accel-Redirect ([#2861](https://github.com/libretime/libretime/issues/2861)) ([0ce63f3
](0ce63f3bf0
)) * **api:** enum schema description ([#2803](https://github.com/libretime/libretime/issues/2803)) ([976b70e
](976b70ed32
)) * **api:** let nginx handle the media file content type ([#2862](https://github.com/libretime/libretime/issues/2862)) ([72268ad
](72268ad9bb
)) * **api:** move gunicorn worker config to python file ([#2854](https://github.com/libretime/libretime/issues/2854)) ([43221d9
](43221d9d7f
)) * **api:** paths with question marks chars are handled by X-Accel-Redirect ([#2875](https://github.com/libretime/libretime/issues/2875)) ([b2c1ceb
](b2c1ceb89f
)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.42.1 (main) ([#2765](https://github.com/libretime/libretime/issues/2765)) ([8ae4dce
](8ae4dce9e7
)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.43.2 (main) ([#2848](https://github.com/libretime/libretime/issues/2848)) ([62e5f4d
](62e5f4dfbb
)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.45.1 (main) ([#2855](https://github.com/libretime/libretime/issues/2855)) ([6f84328
](6f84328380
)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.46.1 (main) ([#2868](https://github.com/libretime/libretime/issues/2868)) ([4827dbc
](4827dbce71
)) * **legacy:** allow uploading opus files ([#2804](https://github.com/libretime/libretime/issues/2804)) ([f252a16
](f252a16637
)) * **legacy:** declare previously undeclared variable ([#2793](https://github.com/libretime/libretime/issues/2793)) ([e2cfbf4
](e2cfbf4c03
)) * **legacy:** ensure last played criteria works with never played files ([#2840](https://github.com/libretime/libretime/issues/2840)) ([24ee383
](24ee3830c2
)) * **playout:** increase file download chunk size to 8192 bytes ([#2863](https://github.com/libretime/libretime/issues/2863)) ([7ed1be1
](7ed1be1816
)) * **playout:** remove empty file when the download request failed ([#2864](https://github.com/libretime/libretime/issues/2864)) ([2facbfa
](2facbfaff2
)) * **worker:** unbound variable when episode url returns HTTP 404 ([#2844](https://github.com/libretime/libretime/issues/2844)) ([3f39689
](3f396895e5
)) --- 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>
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
from setuptools import find_packages, setup
|
|
|
|
version = "4.0.0" # x-release-please-version
|
|
|
|
setup(
|
|
name="libretime-api",
|
|
version=version,
|
|
description="LibreTime API",
|
|
author="LibreTime Contributors",
|
|
url="https://github.com/libretime/libretime",
|
|
project_urls={
|
|
"Bug Tracker": "https://github.com/libretime/libretime/issues",
|
|
"Documentation": "https://libretime.org",
|
|
"Source Code": "https://github.com/libretime/libretime",
|
|
},
|
|
license="AGPLv3",
|
|
packages=find_packages(exclude=["*tests*", "*fixtures*"]),
|
|
package_data={
|
|
"libretime_api": ["legacy/migrations/sql/*.sql"],
|
|
},
|
|
include_package_data=True,
|
|
python_requires=">=3.8",
|
|
entry_points={
|
|
"console_scripts": [
|
|
"libretime-api=libretime_api.manage:main",
|
|
]
|
|
},
|
|
install_requires=[
|
|
"django-cors-headers>=3.14.0,<4.4",
|
|
"django-filter>=2.4.0,<23.6",
|
|
"django>=4.2.0,<4.3",
|
|
"djangorestframework>=3.14.0,<3.15",
|
|
"drf-spectacular>=0.22.1,<0.28",
|
|
"requests>=2.31.0,<2.32",
|
|
],
|
|
extras_require={
|
|
"prod": [
|
|
"gunicorn>=20.1.0,<21.3",
|
|
"psycopg[c]>=3.1.8,<3.2",
|
|
"uvicorn[standard]>=0.17.6,<0.26.0",
|
|
],
|
|
"dev": [
|
|
"django-coverage-plugin>=3.0.0,<4",
|
|
"django-stubs>=1.14.0,<5",
|
|
"djangorestframework-stubs>=1.8.0,<4",
|
|
"model_bakery>=1.10.1,<2",
|
|
"psycopg[binary]>=3.1.8,<4",
|
|
"pylint-django>=2.5.3,<3",
|
|
"pytest-django>=4.5.2,<5",
|
|
"requests-mock>=1.10.0,<2",
|
|
],
|
|
"sentry": [
|
|
"sentry-sdk[django]>=1.15.0,<2",
|
|
],
|
|
},
|
|
)
|