<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yt/crates/yt_dlp/src, branch prime</title>
<subtitle>A fully featured command line YouTube client</subtitle>
<id>http://git.foss-syndicate.org/bpeetz/clients/yt/atom?h=prime</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/clients/yt/atom?h=prime'/>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/'/>
<updated>2025-11-30T14:28:05+00:00</updated>
<entry>
<title>fix(treewide): Avoid using deprecated functions or patterns</title>
<updated>2025-11-30T14:28:05+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-11-30T14:28:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=8158bcf6da8163fd35f26b59a08fc7f5a9abce11'/>
<id>urn:sha1:8158bcf6da8163fd35f26b59a08fc7f5a9abce11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>style(treewide): Format</title>
<updated>2025-07-24T15:18:07+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-07-24T15:18:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=19d3c02396ac1c00742e50e60a0a840fbfade1ac'/>
<id>urn:sha1:19d3c02396ac1c00742e50e60a0a840fbfade1ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(treewide): Use `json_try_get!` instead of `json.get(..).map(|| ..)`</title>
<updated>2025-07-24T14:20:34+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-07-24T14:20:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=a9fddbeebf428eb57c60afab96fbbd38629a636e'/>
<id>urn:sha1:a9fddbeebf428eb57c60afab96fbbd38629a636e</id>
<content type='text'>
`json.get` will return `Some(Value::Null)` if the json key exists but
has been set to `null`. This is obviously not what we want, and as such
we also need to check that the value is not null, before calling map.
The `json_try_get!` macro does exactly that.
</content>
</entry>
<entry>
<title>fix(crates/yt/downloader): Correctly treat the download as blocking</title>
<updated>2025-07-15T04:58:44+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-07-15T04:57:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=507c9611232e7b820789ec776159c703acd499ab'/>
<id>urn:sha1:507c9611232e7b820789ec776159c703acd499ab</id>
<content type='text'>
This change _might_ also allow aborting the current download, but I'm
not yet sure.
</content>
</entry>
<entry>
<title>refactor(crates/yt_dlp): Port to `pyo3` again</title>
<updated>2025-07-10T14:36:42+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-07-10T14:36:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=82277ca7513eff82365ed54fe9836aae5bd45fe1'/>
<id>urn:sha1:82277ca7513eff82365ed54fe9836aae5bd45fe1</id>
<content type='text'>
Rustpyton is slower, does not implement everything correctly and worst
of all, contains code produced by LLM's.

Using the freethreaded mode of pyo3 also works nicely around the GIL,
and enables parallel execution.
</content>
</entry>
<entry>
<title>chore(yt_dlp/package_hacks): Add missing license headers</title>
<updated>2025-06-28T14:36:51+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-06-28T14:36:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=c3a8c104515b47597f8b72eeabc7dcd266ec0316'/>
<id>urn:sha1:c3a8c104515b47597f8b72eeabc7dcd266ec0316</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(yt_dlp): Polyfill missing rustpython features used in urllib3</title>
<updated>2025-06-28T13:58:30+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-06-28T13:56:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=8c6565295986b704f36a9174d05deacc6925b7e4'/>
<id>urn:sha1:8c6565295986b704f36a9174d05deacc6925b7e4</id>
<content type='text'>
Otherwise, anything that depends on urllib3 just fails to initialize.
</content>
</entry>
<entry>
<title>fix(yt_dlp/post_processors/dearrow): Don't try to access the drained vec</title>
<updated>2025-06-24T12:50:07+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-06-24T12:50:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=9b4f09cf736e68bdbd246dca17d7a3c6b8eba3ea'/>
<id>urn:sha1:9b4f09cf736e68bdbd246dca17d7a3c6b8eba3ea</id>
<content type='text'>
If all titles were declared “bad” the pp previously tried to access the
first title in the array, which was already drained. We now simply clone
the array to facilitate this usage.
</content>
</entry>
<entry>
<title>feat(yt/version): Add the (rust)python version again</title>
<updated>2025-06-24T12:49:34+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-06-24T12:49:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=84175a03a71918497aa0c8ee3444736d771cccff'/>
<id>urn:sha1:84175a03a71918497aa0c8ee3444736d771cccff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(treewide): Assure that `nix fmt` and `reuse lint` are happy</title>
<updated>2025-06-17T07:09:55+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2025-06-17T07:09:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=d847968fab7dc55b30f8a137dbce2bae07112c82'/>
<id>urn:sha1:d847968fab7dc55b30f8a137dbce2bae07112c82</id>
<content type='text'>
</content>
</entry>
</feed>
