ydl-podcast 1.9.17__tar.gz → 1.9.19__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,23 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.3
2
2
  Name: ydl-podcast
3
- Version: 1.9.17
3
+ Version: 1.9.19
4
4
  Summary: A simple tool to generate Podcast-like RSS feeds from youtube (or other youtube-dl supported services) channels, using youtube-dl/yt-dlp
5
- Project-URL: homepage, https://github.com/nbr23/ydl-podcast
6
- Project-URL: repository, https://github.com/nbr23/ydl-podcast
5
+ Keywords: podcast,youtube-dl
6
+ Author: nbr23
7
7
  Author-email: nbr23 <max@23.tf>
8
8
  License: MIT
9
- License-File: LICENSE
10
- Keywords: podcast,youtube-dl
11
- Requires-Python: >=3.9
9
+ Requires-Dist: yt-dlp>=2025.10.22
10
+ Requires-Dist: pyyaml==6.0.2
12
11
  Requires-Dist: jinja2>=3.1.2
13
12
  Requires-Dist: markupsafe>=2.1.1
14
13
  Requires-Dist: pillow==10.4.0
15
- Requires-Dist: pyyaml==6.0.2
16
- Requires-Dist: yt-dlp>=2025.10.22
14
+ Requires-Dist: youtube-dl ; extra == 'youtube-dl'
15
+ Requires-Dist: yt-dlp>=2025.10.22 ; extra == 'yt-dlp'
16
+ Requires-Python: >=3.9
17
+ Project-URL: homepage, https://github.com/nbr23/ydl-podcast
18
+ Project-URL: repository, https://github.com/nbr23/ydl-podcast
17
19
  Provides-Extra: youtube-dl
18
- Requires-Dist: youtube-dl; extra == 'youtube-dl'
19
20
  Provides-Extra: yt-dlp
20
- Requires-Dist: yt-dlp>=2025.10.22; extra == 'yt-dlp'
21
21
  Description-Content-Type: text/markdown
22
22
 
23
23
  [![Pypi Version Shield](https://img.shields.io/pypi/v/ydl-podcast.svg?style=flat-square)](https://pypi.org/project/ydl-podcast/)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ydl-podcast"
3
- version = "1.9.17"
3
+ version = "1.9.19"
4
4
  description = "A simple tool to generate Podcast-like RSS feeds from youtube (or other youtube-dl supported services) channels, using youtube-dl/yt-dlp"
5
5
  license = { text = "MIT" }
6
6
  authors = [
@@ -29,8 +29,8 @@ repository = "https://github.com/nbr23/ydl-podcast"
29
29
  ydl-podcast = "ydl_podcast.__main__:main"
30
30
 
31
31
  [build-system]
32
- requires = ["hatchling"]
33
- build-backend = "hatchling.build"
32
+ requires = ["uv_build>=0.9.6,<0.10.0"]
33
+ build-backend = "uv_build"
34
34
 
35
35
  [tool.hatch.build.targets.wheel]
36
36
  packages = ["ydl_podcast"]
@@ -1,6 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: pip
4
- directory: /
5
- schedule:
6
- interval: monthly
@@ -1,10 +0,0 @@
1
- name: Tag pyproject bump
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
-
8
- jobs:
9
- call-workflow:
10
- uses: nbr23/github-workflows/.github/workflows/tag-pyproject-version-bump.yml@main
@@ -1,24 +0,0 @@
1
- FROM python:alpine3.17 as build
2
- ARG YTDL_MODULE=yt-dlp
3
-
4
- COPY pyproject.toml .
5
- COPY ydl_podcast ydl_podcast
6
- COPY README.md .
7
-
8
- COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/
9
- RUN uv venv /usr/local/python-env && \
10
- source /usr/local/python-env/bin/activate && \
11
- uv pip install ".[${YTDL_MODULE}]"
12
-
13
- FROM python:alpine3.17
14
- ARG YTDL_MODULE=yt-dlp
15
- ENV PYTHON_ENV="/usr/local/python-env"
16
- ENV PATH="$PYTHON_ENV/bin:$PATH"
17
-
18
- RUN apk add --no-cache ffmpeg tzdata mailcap
19
-
20
- COPY --from=build /usr/local/python-env $PYTHON_ENV
21
-
22
- WORKDIR /app
23
-
24
- CMD ["python", "-m", "ydl_podcast"]
@@ -1,107 +0,0 @@
1
- pipeline {
2
- agent any
3
-
4
- options {
5
- ansiColor('xterm')
6
- disableConcurrentBuilds()
7
- }
8
-
9
-
10
- environment {
11
- PYPI_TOKEN = credentials('pypi_token')
12
- }
13
-
14
- stages {
15
- stage('Checkout'){
16
- steps {
17
- checkout scm
18
- }
19
- }
20
- stage('Get Jenkins home source volume') {
21
- steps {
22
- script {
23
- env.JENKINS_HOME_VOL_SRC = getJenkinsDockerHomeVolumeSource();
24
- }
25
- }
26
- }
27
- stage('Get package version') {
28
- steps {
29
- script {
30
- PACKAGE_VERSION = sh (
31
- script: """
32
- cat pyproject.toml | grep "^version" | sed -e "s/^version = \\"\\([0-9.]\\+\\)\\"/\\1/g"
33
- """,
34
- returnStdout: true
35
- ).trim();
36
- echo "Building v${PACKAGE_VERSION}"
37
- }
38
- }
39
- }
40
- stage('Build') {
41
- steps {
42
- sh '''
43
- # If we are within docker, we need to hack around to get the volume mount path on the host system for our docker runs down below
44
- if docker inspect `hostname` 2>/dev/null; then
45
- REAL_PWD=$(echo $PWD | sed "s|$AGENT_WORKDIR|$JENKINS_HOME_VOL_SRC|")
46
- else
47
- REAL_PWD=$PWD
48
- fi
49
- docker run --rm -v $REAL_PWD:/app -w /app python:3-slim-buster bash -c "pip install uv && uv build"
50
- '''
51
- }
52
- }
53
- stage('Prep buildx') {
54
- steps {
55
- script {
56
- env.BUILDX_BUILDER = getBuildxBuilder();
57
- }
58
- }
59
- }
60
- stage('Build Docker image') {
61
- steps {
62
- withCredentials([usernamePassword(credentialsId: 'dockerhub', usernameVariable: 'DOCKERHUB_CREDENTIALS_USR', passwordVariable: 'DOCKERHUB_CREDENTIALS_PSW')]) {
63
- sh 'docker login -u $DOCKERHUB_CREDENTIALS_USR -p "$DOCKERHUB_CREDENTIALS_PSW"'
64
- }
65
- sh """
66
- docker buildx build \
67
- --pull \
68
- --builder \$BUILDX_BUILDER \
69
- --platform linux/amd64,linux/arm64 \
70
- -t nbr23/ydl-podcast:latest \
71
- -t nbr23/ydl-podcast:yt-dlp \
72
- -t nbr23/ydl-podcast:${GIT_COMMIT}-`date +%s`-yt-dlp \
73
- -t nbr23/ydl-podcast:v${PACKAGE_VERSION} \
74
- ${ "$GIT_BRANCH" == "master" ? "--push" : ""} .
75
- """
76
- }
77
- }
78
- stage('Publish pypi package') {
79
- when { branch 'master' }
80
- steps {
81
- sh '''
82
- # If we are within docker, we need to hack around to get the volume mount path on the host system for our docker runs down below
83
- if docker inspect `hostname` 2>/dev/null; then
84
- REAL_PWD=$(echo $PWD | sed "s|$AGENT_WORKDIR|$JENKINS_HOME_VOL_SRC|")
85
- else
86
- REAL_PWD=$PWD
87
- fi
88
- docker run --rm -v $REAL_PWD:/app -w /app python:3-slim-buster bash -c "pip install uv && uv build && uv publish --token $PYPI_TOKEN"
89
- '''
90
- }
91
- }
92
- stage('Sync github repo') {
93
- when { branch 'master' }
94
- steps {
95
- syncRemoteBranch('git@github.com:nbr23/ydl-podcast.git', 'master')
96
- }
97
- }
98
-
99
- }
100
- post {
101
- always {
102
- sh "sudo rm -rf ./dist"
103
- sh "docker buildx stop \$BUILDX_BUILDER || true"
104
- sh "docker buildx rm \$BUILDX_BUILDER || true"
105
- }
106
- }
107
- }
@@ -1,19 +0,0 @@
1
- MIT License Copyright (c) 2020 Maxence Ardouin
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is furnished
8
- to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice (including the next
11
- paragraph) shall be included in all copies or substantial portions of the
12
- Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
17
- OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
19
- OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,24 +0,0 @@
1
- subscriptions:
2
- - name: MyPodcast
3
- url: https://youtube.com
4
- retention_days: 14 # How old is the oldest video to download and keep locally
5
- initialize: True # Download the whole channel on first run
6
- download_last: 1 # Only download the last video at each run
7
- audio_only: True # Extract and keep audio only
8
- format: mp3 # Force end format
9
- filename_template: '%(id)s.%(ext)s' # Use this format for files saved from this subscription
10
- - name: MyPodcast2
11
- url: https://youtube.com
12
- retention_days: 14 # How old is the oldest video to download and keep locally
13
- initialize: True # Download the whole channel on first run
14
- download_last: 1 # Only download the last video at each run
15
- ydl_options: # Add custom youtube-dl options
16
- writesubtitles: True # Write subtitle file
17
- nfo_files: True # Generates .nfo files for each download and for the subscription
18
- private: True # Exclude from index
19
-
20
- output_dir: /var/www/html/podcast/
21
- url_root: https:///podcast.example.com/
22
- youtube-dl-module: youtube-dl
23
- index_enabled: False # Create an index.html file indexing the subscriptions
24
- style_rss_feed: True # Add XSLT Styling to RSS Feed
File without changes