<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Blog - Astral</title>
        <link>https://astral.sh</link>
        <description>Next-generation Python tooling</description>
        <lastBuildDate>Fri, 10 Apr 2026 15:14:23 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <atom:link href="https://astral.sh/blog/rss.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Open source security at Astral]]></title>
            <link>https://astral.sh/blog/open-source-security-at-astral</link>
            <guid>https://astral.sh/blog/open-source-security-at-astral</guid>
            <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Insights and guidance from our engineering team on how Astral secures its tools.]]></description>
            <author>william@astral.sh (William Woodruff)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Astral to join OpenAI]]></title>
            <link>https://astral.sh/blog/openai</link>
            <guid>https://astral.sh/blog/openai</guid>
            <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Astral has entered into an agreement to join OpenAI as part of the Codex team.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.15.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.15.0</link>
            <guid>https://astral.sh/blog/ruff-v0.15.0</guid>
            <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>dylan@astral.sh (Dylan Wilson)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_15_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[ty: An extremely fast Python type checker and LSP]]></title>
            <link>https://astral.sh/blog/ty</link>
            <guid>https://astral.sh/blog/ty</guid>
            <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[ty is an extremely fast Python type checker and language server, written in Rust, and designed as an alternative to mypy, Pyright, and Pylance.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Python 3.14]]></title>
            <link>https://astral.sh/blog/python-3.14</link>
            <guid>https://astral.sh/blog/python-3.14</guid>
            <pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Python 3.14 is out today along with updates for Ruff and uv.]]></description>
            <author>brent@astral.sh (Brent Westbrook)</author>
            <enclosure url="https://astral.sh/static/PNG/Python_3.14.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.13.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.13.0</link>
            <guid>https://astral.sh/blog/ruff-v0.13.0</guid>
            <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>brent@astral.sh (Brent Westbrook)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_13_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Astral OSS Fund: One Year Later]]></title>
            <link>https://astral.sh/blog/astral-oss-fund-one-year-later</link>
            <guid>https://astral.sh/blog/astral-oss-fund-one-year-later</guid>
            <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[One year later: Astral donated $70,000 to open source projects and is pledging another $44,000 for year two.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[pyx: a Python-native package registry, now in Beta]]></title>
            <link>https://astral.sh/blog/introducing-pyx</link>
            <guid>https://astral.sh/blog/introducing-pyx</guid>
            <pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[pyx is a Python-native package registry from the creators of uv.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/pyx.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[A variant-enabled build of uv]]></title>
            <link>https://astral.sh/blog/wheel-variants</link>
            <guid>https://astral.sh/blog/wheel-variants</guid>
            <pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In collaboration with PyTorch, NVIDIA, and Quansight, we've released an experimental build of uv with support for wheel variants.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[uv security advisory: ZIP payload obfuscation]]></title>
            <link>https://astral.sh/blog/uv-security-advisory-cve-2025-54368</link>
            <guid>https://astral.sh/blog/uv-security-advisory-cve-2025-54368</guid>
            <pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[We're releasing a security advisory for uv due to ZIP parsing differentials which allow an attacker to bypass common Python security scanners.]]></description>
            <author>william@astral.sh (William Woodruff)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/UV.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.12.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.12.0</link>
            <guid>https://astral.sh/blog/ruff-v0.12.0</guid>
            <pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>brent@astral.sh (Brent Westbrook)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_12_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.10.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.10.0</link>
            <guid>https://astral.sh/blog/ruff-v0.10.0</guid>
            <pubDate>Thu, 13 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>brent@astral.sh (Brent Westbrook)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_10_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.9.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.9.0</link>
            <guid>https://astral.sh/blog/ruff-v0.9.0</guid>
            <pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The new 2025 formatter style guide, rule stabilizations, and more]]></description>
            <author>micha@astral.sh (Micha Reiser)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_9_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[A new home for python-build-standalone]]></title>
            <link>https://astral.sh/blog/python-build-standalone</link>
            <guid>https://astral.sh/blog/python-build-standalone</guid>
            <pubDate>Tue, 03 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Astral is taking stewardship of python-build-standalone, Gregory Szorc's foundational project for installing portable Python distributions.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.8.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.8.0</link>
            <guid>https://astral.sh/blog/ruff-v0.8.0</guid>
            <pubDate>Thu, 21 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>alex@astral.sh (Alex Waygood)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_8_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.7.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.7.0</link>
            <guid>https://astral.sh/blog/ruff-v0.7.0</guid>
            <pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>alex@astral.sh (Alex Waygood)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_7_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[uv: Unified Python packaging]]></title>
            <link>https://astral.sh/blog/uv-unified-python-packaging</link>
            <guid>https://astral.sh/blog/uv-unified-python-packaging</guid>
            <pubDate>Tue, 20 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Manage entire Python projects and even Python itself with a single unified tool.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.6.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.6.0</link>
            <guid>https://astral.sh/blog/ruff-v0.6.0</guid>
            <pubDate>Thu, 15 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>alex@astral.sh (Alex Waygood)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_6_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Announcing the Astral OSS Fund]]></title>
            <link>https://astral.sh/blog/astral-oss-fund</link>
            <guid>https://astral.sh/blog/astral-oss-fund</guid>
            <pubDate>Thu, 18 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Astral is creating a fund to support open source projects and maintainers.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.5.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.5.0</link>
            <guid>https://astral.sh/blog/ruff-v0.5.0</guid>
            <pubDate>Thu, 27 Jun 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>alex@astral.sh (Alex Waygood)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_5_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The Ruff Language Server]]></title>
            <link>https://astral.sh/blog/ruff-v0.4.5</link>
            <guid>https://astral.sh/blog/ruff-v0.4.5</guid>
            <pubDate>Wed, 22 May 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff's integrated language server is now in Beta.]]></description>
            <author>jane@astral.sh (Jane Lewis)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_4_5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.4.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.4.0</link>
            <guid>https://astral.sh/blog/ruff-v0.4.0</guid>
            <pubDate>Thu, 18 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff migrates to a hand-written recursive descent parser: >2x faster, with error recovery capabilities.]]></description>
            <author>dhruv@astral.sh (Dhruv Manilawala)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_4_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.3.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.3.0</link>
            <guid>https://astral.sh/blog/ruff-v0.3.0</guid>
            <pubDate>Thu, 29 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>micha@astral.sh (Micha Reiser)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_3_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[uv: Python packaging in Rust]]></title>
            <link>https://astral.sh/blog/uv</link>
            <guid>https://astral.sh/blog/uv</guid>
            <pubDate>Thu, 15 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.2.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.2.0</link>
            <guid>https://astral.sh/blog/ruff-v0.2.0</guid>
            <pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next stable version of Ruff is out now.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_2_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.1.8]]></title>
            <link>https://astral.sh/blog/ruff-v0.1.8</link>
            <guid>https://astral.sh/blog/ruff-v0.1.8</guid>
            <pubDate>Wed, 13 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff adds support for formatting code snippets in docstrings and auto-quoting type annotations.]]></description>
            <author>andrew@astral.sh (Andrew Gallant)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_1_8.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.1.5]]></title>
            <link>https://astral.sh/blog/ruff-v0.1.5</link>
            <guid>https://astral.sh/blog/ruff-v0.1.5</guid>
            <pubDate>Thu, 09 Nov 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff adds editor support for Jupyter Notebooks, support for `flake8-trio`, and more.]]></description>
            <author>dhruv@astral.sh (Dhruv Manilawala)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_1_5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[The Ruff Formatter]]></title>
            <link>https://astral.sh/blog/the-ruff-formatter</link>
            <guid>https://astral.sh/blog/the-ruff-formatter</guid>
            <pubDate>Tue, 24 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff's formatter is over 30x faster than existing tools, while maintaining >99.9% compatibility with Black.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.1.0]]></title>
            <link>https://astral.sh/blog/ruff-v0.1.0</link>
            <guid>https://astral.sh/blog/ruff-v0.1.0</guid>
            <pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff adds a versioning policy, fix safety levels, and a preview mode for unstable features.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_1_0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.0.292]]></title>
            <link>https://astral.sh/blog/ruff-v0.0.292</link>
            <guid>https://astral.sh/blog/ruff-v0.0.292</guid>
            <pubDate>Thu, 05 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff adds support for Python 3.12, plus new rules, bug fixes, and more.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_0_292.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.0.285]]></title>
            <link>https://astral.sh/blog/ruff-v0.0.285</link>
            <guid>https://astral.sh/blog/ruff-v0.0.285</guid>
            <pubDate>Thu, 17 Aug 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff stabilizes support for Jupyter Notebooks, adds new rules, a bunch of bug fixes, and more.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_0_285.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.0.283]]></title>
            <link>https://astral.sh/blog/ruff-v0.0.283</link>
            <guid>https://astral.sh/blog/ruff-v0.0.283</guid>
            <pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff supports PEP 695, type checking rules are applied to all files, a bunch of bug fixes, and more.]]></description>
            <author>zanie@astral.sh (Zanie Blue)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_0_283.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.0.281]]></title>
            <link>https://astral.sh/blog/ruff-v0.0.281</link>
            <guid>https://astral.sh/blog/ruff-v0.0.281</guid>
            <pubDate>Mon, 31 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruff's lexer is now 2-3x faster, plus new rules for type stubs, a bunch of bug fixes, and more.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_0_281.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.0.278]]></title>
            <link>https://astral.sh/blog/ruff-v0.0.278</link>
            <guid>https://astral.sh/blog/ruff-v0.0.278</guid>
            <pubDate>Wed, 12 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Improved suppression comment handling, new correctness-oriented rules, bug fixes, and more.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_0_278.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Ruff v0.0.276]]></title>
            <link>https://astral.sh/blog/ruff-v0.0.276</link>
            <guid>https://astral.sh/blog/ruff-v0.0.276</guid>
            <pubDate>Mon, 03 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Experimental support for Jupyter Notebooks, new performance-oriented rules, bug fixes, and more.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/PNG/Ruff_v_0_0_276.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Announcing Astral, the company behind Ruff]]></title>
            <link>https://astral.sh/blog/announcing-astral-the-company-behind-ruff</link>
            <guid>https://astral.sh/blog/announcing-astral-the-company-behind-ruff</guid>
            <pubDate>Tue, 18 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Astral’s mission is to make the Python ecosystem more productive by building high-performance developer tools, starting with Ruff.]]></description>
            <author>charlie@astral.sh (Charlie Marsh)</author>
            <enclosure url="https://astral.sh/static/OpenGraph/Astral.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>