Recent Package Updates
2026-08-17: twisted-py35-21.2.0-3 (Asynchronous networking framework)Twisted is an asynchronous networking framework written in Python, supporting TCP, UDP, multicast, SSL/TLS, serial communication and more. commit log from Hanspeter Niederstrasser ([email protected]): twisted-py: v21.2.02026-08-17: twisted-py310-25.5.0-1 (Asynchronous networking framework)
Twisted is an asynchronous networking framework written in Python, supporting TCP, UDP, multicast, SSL/TLS, serial communication and more. commit log from Hanspeter Niederstrasser ([email protected]): twisted-py: v21.2.02026-08-17: twisted-py38-25.5.0-1 (Asynchronous networking framework)
Twisted is an asynchronous networking framework written in Python, supporting TCP, UDP, multicast, SSL/TLS, serial communication and more. commit log from Hanspeter Niederstrasser ([email protected]): twisted-py: v21.2.02026-08-17: twisted-py37-21.2.0-3 (Asynchronous networking framework)
Twisted is an asynchronous networking framework written in Python, supporting TCP, UDP, multicast, SSL/TLS, serial communication and more. commit log from Hanspeter Niederstrasser ([email protected]): twisted-py: v21.2.02026-08-17: twisted-py36-21.2.0-3 (Asynchronous networking framework)
Twisted is an asynchronous networking framework written in Python, supporting TCP, UDP, multicast, SSL/TLS, serial communication and more. commit log from Hanspeter Niederstrasser ([email protected]): twisted-py: v21.2.02026-08-17: twisted-py39-25.5.0-1 (Asynchronous networking framework)
Twisted is an asynchronous networking framework written in Python, supporting TCP, UDP, multicast, SSL/TLS, serial communication and more. commit log from Hanspeter Niederstrasser ([email protected]): twisted-py: v21.2.02026-08-17: telnet-60-1 (Port of NetBSD remote client)
This package provides the telnet program from Sierra that Apple no longer includes on High Sierra and later. commit log from Hanspeter Niederstrasser ([email protected]): telnet: add note that Xcode must be run first to install needed PrivateFramewrorks2026-08-17: libc-client1-shlibs-2007f-2 (UW c-client library for mail protocols)
C-client is a library of functions for accessing mail folders and messages. It was written as part of the University of Washington IMAP server, but has since found other use as well. This package contains the shared c-client mail handling library with SSL support. commit log from Daniel Macks ([email protected]): libc-client: blindly fix openssl dep coherence (8.5 years later...)2026-08-17: vim-nox-9.2.958-1 (Improved version of the editor "vi")
VIM adds many of the features that you would expect in an editor: Unlimited undo, syntax coloring, split windows, visual selection, graphical user interface (read: menus, mouse control, scrollbars, text selection), and much much more. commit log from Hisashi T Fujinaka ([email protected]): Vim: Welcome to Vim-9.2.958.2026-08-17: vim-9.2.958-1 (Improved version of the editor "vi")
VIM adds many of the features that you would expect in an editor: Unlimited undo, syntax coloring, split windows, visual selection, graphical user interface (read: menus, mouse control, scrollbars, text selection), and much much more. commit log from Hisashi T Fujinaka ([email protected]): Vim: Welcome to Vim-9.2.958.2026-08-16: h11-py39-0.16.0-1 (Python implementation of HTTP/1.1)
This is a little HTTP/1.1 library written from scratch in Python, heavily inspired by hyper-h2. It's a "bring-your-own-I/O" library; h11 contains no IO code whatsoever. This means you can hook h11 up to your favorite network API, and that could be anything you want: synchronous, threaded, asynchronous, or your own implementation of RFC 6214 - h11 won't judge you. (Compare this to the current state of the art, where every time a new network API comes along then someone gets to start over reimplementing the entire HTTP protocol from scratch.) Cory Benfield made an excellent blog post describing the benefits of this approach, or if you like video then here's his PyCon 2016 talk on the same theme. commit log from Hanspeter Niederstrasser ([email protected]): h11-py: v0.16.02026-08-16: h11-py38-0.16.0-1 (Python implementation of HTTP/1.1)
This is a little HTTP/1.1 library written from scratch in Python, heavily inspired by hyper-h2. It's a "bring-your-own-I/O" library; h11 contains no IO code whatsoever. This means you can hook h11 up to your favorite network API, and that could be anything you want: synchronous, threaded, asynchronous, or your own implementation of RFC 6214 - h11 won't judge you. (Compare this to the current state of the art, where every time a new network API comes along then someone gets to start over reimplementing the entire HTTP protocol from scratch.) Cory Benfield made an excellent blog post describing the benefits of this approach, or if you like video then here's his PyCon 2016 talk on the same theme. commit log from Hanspeter Niederstrasser ([email protected]): h11-py: v0.16.02026-08-16: h11-py310-0.16.0-1 (Python implementation of HTTP/1.1)
This is a little HTTP/1.1 library written from scratch in Python, heavily inspired by hyper-h2. It's a "bring-your-own-I/O" library; h11 contains no IO code whatsoever. This means you can hook h11 up to your favorite network API, and that could be anything you want: synchronous, threaded, asynchronous, or your own implementation of RFC 6214 - h11 won't judge you. (Compare this to the current state of the art, where every time a new network API comes along then someone gets to start over reimplementing the entire HTTP protocol from scratch.) Cory Benfield made an excellent blog post describing the benefits of this approach, or if you like video then here's his PyCon 2016 talk on the same theme. commit log from Hanspeter Niederstrasser ([email protected]): h11-py: v0.16.02026-08-16: httpcore-py39-1.0.9-1 (Minimal low-level HTTP client)
The HTTP Core package provides a minimal low-level HTTP client, which does one thing only. Sending HTTP requests. It does not provide any high level model abstractions over the API, does not handle redirects, multipart uploads, building authentication headers, transparent HTTP caching, URL parsing, session cookie handling, content or charset decoding, handling JSON, environment based configuration defaults, or any of that Jazz. commit log from Hanspeter Niederstrasser ([email protected]): httpcore-py: v1.0.92026-08-16: gevent-py310-24.2.1-2 (Coroutine-based network library)
Coroutine-based network library commit log from Hanspeter Niederstrasser ([email protected]): gevent-py: add upstream's support for cython3.12026-08-16: httpcore-py310-1.0.9-1 (Minimal low-level HTTP client)
The HTTP Core package provides a minimal low-level HTTP client, which does one thing only. Sending HTTP requests. It does not provide any high level model abstractions over the API, does not handle redirects, multipart uploads, building authentication headers, transparent HTTP caching, URL parsing, session cookie handling, content or charset decoding, handling JSON, environment based configuration defaults, or any of that Jazz. commit log from Hanspeter Niederstrasser ([email protected]): httpcore-py: v1.0.92026-08-16: gevent-py38-24.2.1-2 (Coroutine-based network library)
Coroutine-based network library commit log from Hanspeter Niederstrasser ([email protected]): gevent-py: add upstream's support for cython3.12026-08-16: trio-py38-0.27.0-2 (Python library for async concurrency and I/O)
The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. commit log from Hanspeter Niederstrasser ([email protected]): trio-py: bring back fix for missing select.poll from 0.22.2 to 0.27 Other packages using this (e.g. httpcore) need the fix2026-08-16: trio-py310-0.27.0-2 (Python library for async concurrency and I/O)
The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. commit log from Hanspeter Niederstrasser ([email protected]): trio-py: bring back fix for missing select.poll from 0.22.2 to 0.27 Other packages using this (e.g. httpcore) need the fix2026-08-16: httpcore-py38-1.0.9-1 (Minimal low-level HTTP client)
The HTTP Core package provides a minimal low-level HTTP client, which does one thing only. Sending HTTP requests. It does not provide any high level model abstractions over the API, does not handle redirects, multipart uploads, building authentication headers, transparent HTTP caching, URL parsing, session cookie handling, content or charset decoding, handling JSON, environment based configuration defaults, or any of that Jazz. commit log from Hanspeter Niederstrasser ([email protected]): httpcore-py: v1.0.92026-08-16: trio-py37-0.22.2-2 (Python library for async concurrency and I/O)
The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. commit log from Hanspeter Niederstrasser ([email protected]): trio-py: bring back fix for missing select.poll from 0.22.2 to 0.27 Other packages using this (e.g. httpcore) need the fix2026-08-16: trio-py39-0.27.0-2 (Python library for async concurrency and I/O)
The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. commit log from Hanspeter Niederstrasser ([email protected]): trio-py: bring back fix for missing select.poll from 0.22.2 to 0.27 Other packages using this (e.g. httpcore) need the fix2026-08-16: gevent-py39-24.2.1-2 (Coroutine-based network library)
Coroutine-based network library commit log from Hanspeter Niederstrasser ([email protected]): gevent-py: add upstream's support for cython3.12026-08-15: libbluray2-shlibs-1.3.4-1 (Blu-Ray disc playback library)
Library designed for Blu-Ray Discs playback for media players commit log from Hanspeter Niederstrasser ([email protected]): libbluray2: add upgrade note2026-08-15: watchdog-py38-4.0.1-1 (Python API/shell utils to monitor FS events)
Directory monitoring made easy with * A cross-platform API. * A shell tool to run commands in response to directory changes. commit log from Hanspeter Niederstrasser ([email protected]): watchdog-py: don't use randomly plugin to avoid race condition making temp dir2026-08-14: pdm-backend-py39-2.4.3-1 (Build backend used by PDM & modern standards)
This is the backend for PDM projects that is fully-compatible with PEP 517 spec, but you can also use it alone. It reads the metadata of PEP 621 format and coverts it to Core metadata. commit log from Hanspeter Niederstrasser ([email protected]): pdm-backend: skip git tests that require a non-fink-bld user to run successfully2026-08-14: pdm-backend-py310-2.4.3-1 (Build backend used by PDM & modern standards)
This is the backend for PDM projects that is fully-compatible with PEP 517 spec, but you can also use it alone. It reads the metadata of PEP 621 format and coverts it to Core metadata. commit log from Hanspeter Niederstrasser ([email protected]): pdm-backend: skip git tests that require a non-fink-bld user to run successfully2026-08-14: pdm-backend-py38-2.4.3-1 (Build backend used by PDM & modern standards)
This is the backend for PDM projects that is fully-compatible with PEP 517 spec, but you can also use it alone. It reads the metadata of PEP 621 format and coverts it to Core metadata. commit log from Hanspeter Niederstrasser ([email protected]): pdm-backend: skip git tests that require a non-fink-bld user to run successfully2026-08-14: atomicparsley-20240608.083822.1ed9031-1 (MPEG-4 metadata editor)
AtomicParsley is a lightweight command line program for reading, parsing and setting metadata into MPEG-4 files supporting these styles of metadata: * iTunes-style metadata into .mp4, .m4a, .m4p, .m4v, .m4b files * 3gp-style assets (3GPP TS 26.444 version 6.4.0 Release 6 specification conforming) in 3GPP, 3GPP2, MobileMP4 & derivatives * ISO copyright notices at movie & track level for MPEG-4 & derivative files * uuid private user extension text & file embedding for MPEG-4 & derivative files commit log from Hanspeter Niederstrasser ([email protected]): atomicparsley: v 20240608.083822.1ed90312026-08-13: wdiff-1.2.3-1 (Word-based frontend to GNU diff)
Front end to diff for comparing files on a word per word basis. This is useful for comparing two texts in which a few words have been changed and for which paragraphs have been refilled. commit log from Hanspeter Niederstrasser ([email protected]): wdiff: 1.2.32026-08-13: markupsafe-py38-2.1.5-1 (XML/HTML/XHTML Markup safe string)
Implements a unicode subclass that supports HTML strings. If you want to make an object unicode that is not yet unicode but don't want to lose the taint information, you can use the soft_unicode function. Objects can customize their HTML markup equivalent by overriding the __html__ function. Since MarkupSafe 0.10 there is now also a separate escape function called escape_silent that returns an empty string for None for consistency with other systems that return empty strings for None when escaping (for instance Pylons' webhelpers). If you also want to use this for the escape method of the Markup object, you can create your own subclass. commit log from Hanspeter Niederstrasser ([email protected]): markupsafe-py: allow for different directories where setuptools might put build files2026-08-13: markupsafe-py310-2.1.5-1 (XML/HTML/XHTML Markup safe string)
Implements a unicode subclass that supports HTML strings. If you want to make an object unicode that is not yet unicode but don't want to lose the taint information, you can use the soft_unicode function. Objects can customize their HTML markup equivalent by overriding the __html__ function. Since MarkupSafe 0.10 there is now also a separate escape function called escape_silent that returns an empty string for None for consistency with other systems that return empty strings for None when escaping (for instance Pylons' webhelpers). If you also want to use this for the escape method of the Markup object, you can create your own subclass. commit log from Hanspeter Niederstrasser ([email protected]): markupsafe-py: allow for different directories where setuptools might put build files2026-08-13: markupsafe-py37-2.1.5-1 (XML/HTML/XHTML Markup safe string)
Implements a unicode subclass that supports HTML strings. If you want to make an object unicode that is not yet unicode but don't want to lose the taint information, you can use the soft_unicode function. Objects can customize their HTML markup equivalent by overriding the __html__ function. Since MarkupSafe 0.10 there is now also a separate escape function called escape_silent that returns an empty string for None for consistency with other systems that return empty strings for None when escaping (for instance Pylons' webhelpers). If you also want to use this for the escape method of the Markup object, you can create your own subclass. commit log from Hanspeter Niederstrasser ([email protected]): markupsafe-py: allow for different directories where setuptools might put build files2026-08-13: markupsafe-py39-2.1.5-1 (XML/HTML/XHTML Markup safe string)
Implements a unicode subclass that supports HTML strings. If you want to make an object unicode that is not yet unicode but don't want to lose the taint information, you can use the soft_unicode function. Objects can customize their HTML markup equivalent by overriding the __html__ function. Since MarkupSafe 0.10 there is now also a separate escape function called escape_silent that returns an empty string for None for consistency with other systems that return empty strings for None when escaping (for instance Pylons' webhelpers). If you also want to use this for the escape method of the Markup object, you can create your own subclass. commit log from Hanspeter Niederstrasser ([email protected]): markupsafe-py: allow for different directories where setuptools might put build files