惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cisco Blogs
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler
T
Tor Project blog
N
Netflix TechBlog - Medium
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
V
Visual Studio Blog
GbyAI
GbyAI
PCI Perspectives
PCI Perspectives
D
DataBreaches.Net
Jina AI
Jina AI
H
Heimdal Security Blog
云风的 BLOG
云风的 BLOG
P
Privacy International News Feed
A
About on SuperTechFans
J
Java Code Geeks
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News | PayPal Newsroom
有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
博客园 - 司徒正美
C
Check Point Blog
T
Threat Research - Cisco Blogs
Attack and Defense Labs
Attack and Defense Labs
宝玉的分享
宝玉的分享
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
The Last Watchdog
The Last Watchdog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
Cisco Talos Blog
Cisco Talos Blog
W
WeLiveSecurity
Hacker News: Ask HN
Hacker News: Ask HN
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
Docker
博客园 - Franky
Security Archives - TechRepublic
Security Archives - TechRepublic

Blog - Astral

Vulnerability and malware checks in uv Open source security at Astral Astral to join OpenAI Ruff v0.15.0 ty: An extremely fast Python type checker and language server Python 3.14 Ruff v0.13.0 Astral OSS Fund: One Year Later pyx: a Python-native package registry, now in Beta An experimental, variant-enabled build of uv uv security advisory: ZIP payload obfuscation Ruff v0.12.0 Ruff v0.10.0 Ruff v0.9.0 A new home for python-build-standalone Ruff v0.8.0 Ruff v0.7.0 uv: Unified Python packaging Ruff v0.6.0 Announcing the Astral OSS Fund Ruff v0.5.0 Ruff v0.4.5: Ruff's language server is now written in Rust Ruff v0.4.0: a hand-written recursive descent parser for Python Ruff v0.3.0 uv: Python packaging in Rust Ruff v0.2.0 Ruff v0.1.8 Ruff v0.1.5 The Ruff Formatter: An extremely fast, Black-compatible Python formatter Ruff v0.1.0 Ruff v0.0.292 Ruff v0.0.285 Ruff v0.0.283 Ruff v0.0.281 Ruff v0.0.278 Ruff v0.0.276
Announcing Astral, the company behind Ruff
charlie@astr · 2023-04-18 · via Blog - Astral

TL;DR: I’ve started a company, Astral, to continue building high-performance developer tools for the Python ecosystem — to keep building Ruff, and to build more Ruff-like things.

We’ve raised $4m in seed funding led by Accel, with participation from Caffeinated Capital, Guillermo Rauch (Vercel), Solomon Hykes (Docker), David Cramer (Sentry), and others.


I built Ruff to test a theory: that Python tooling could be much, much faster. That theory was validated in the initial prototype. But even still, I wasn’t sure whether anyone would care about a faster linter.

The past few months have proven that the Python community does care — a lot! Since August, Ruff has blown past one million monthly downloads and 12,000 stars. It’s been adopted by some of the most popular and established Python projects on Earth, like Airflow, FastAPI, Pandas, and SciPy — and by companies like Amazon, Hugging Face, LangChain, Microsoft, Mozilla, Netflix, and more.

Ruff’s growth has surpassed even the most ambitious expectations.

5,00010,00015,000GitHub Starsfor selected projectsRuffPyreisortMypyPyrightPyflakesFlake8Prospector20152020

5,00010,00015,000GitHub Starsfor selected projectsRuffPyreisortMypyPyrightPyflakesFlake8Prospector20152020

Stars can be a vanity metric, but as a proxy for excitement... Ruff is exciting.

Beyond the numbers, I’m consistently amazed by the positivity around Ruff. It shines through in every interaction, every conversation. I feel extremely lucky to have found myself working on something that resonates so strongly with its users, so thank you to everyone that’s helped shape Ruff into what it is today — contributors and users alike.

As an engineer myself, I understand that adopting a new tool is a big decision with extensive, long-term impact. That smart, serious people were willing to adopt a pre-0.1 project so early in its development gave Ruff the oxygen it needed to grow and thrive. Many established projects and companies now rely on Ruff to write code every day. I view that as both my greatest source of motivation and my most significant responsibility. Thank you for your trust. I won’t let you down.

To me, the community’s response to Ruff is itself evidence of an opportunity: to make the Python ecosystem more productive by building great tools. I’m asked, on an almost-daily basis, to extend Ruff to some other problem space, to some other part of the Python toolchain…

Astral exists to meet that opportunity.

Introducing Astral #

Astral’s mission is to make the Python ecosystem more productive by building high-performance developer tools. In short, we’re going to take the ideas behind Ruff to their extreme by (1) expanding Ruff itself and (2) building more Ruff-like things.

When users first try Ruff, they often describe a feeling of disbelief. Astral is an attempt to bring that same feeling to more of the toolchain.

Some of the things we build will look like natural extensions of Ruff (e.g., an autoformatter); others will diverge from the static analysis theme. But our North Star is pretty simple: make the Python ecosystem more productive by building tools people love to use — tools that feel fast, robust, intuitive, and integrated.

To pursue our goals, we’ve raised $4m in seed funding led by Accel, with participation from Caffeinated Capital, Guillermo Rauch (Vercel), Solomon Hykes (Docker), David Cramer (Sentry), Wes McKinney (Voltron Data), Nick Schrock (Elementl), and many others. These are investors and founders that I've admired from afar for a long time. I'm grateful for their support.

I believe my decision to focus on Ruff full-time, early on, was critical to its success: responding to issues in real-time, shipping fixes the same-day, keeping up a high development velocity — fulfilling that promise required full-time focus. I believe that maintaining these high standards, while broadening scope, requires a full-time team.

Raising money gives us the ability to build that team (there are now three of us), to fully invest ourselves in the work, to support our community contributors, and to build for the long-term.

What’s next? #

In truth: more of the same. While I’m excited to reveal Astral to the world, this company (and this fundraise) enable us to continue down the path we’re already treading. Ruff remains Ruff, and our work will remain open-source and permissively licensed. In the future, we’ll build and sell services on top of our tools — but the tools themselves will remain free and open-source.

Our plan is to provide paid services that are better and easier to use than the alternatives by integrating our open-source offerings directly. Our goal is for these services to be as impactful as Ruff itself — but you may choose not to use them. Either way, Ruff will remain free and open-source, just as it is today.

From the start, Ruff has aimed to advance existing standards and integrate with the wider Python community (e.g., you can use Ruff alongside isort, or use it as an isort replacement; similarly, you’ll be able to use Ruff alongside Black, or use Ruff’s built-in autoformatter). This won’t change either. In fact, we consider it critical to our success.

Similarly, we’ll continue to build in the open alongside our community. Ruff is my first experience as an open source maintainer at scale, and it’s been an intentional goal of mine to create a project and an environment that’s welcoming to both new and existing contributors. While I’m still learning, we’ve had some early success here, and it will remain a priority — both for the project and for me personally.

As always, you can find the core team on Discord and on GitHub. We’ll also be at PyCon (first time, for me).

Get in touch #

Finally: I’ve spent a lot of time over the past few weeks talking to users. Thank you to those that’ve already taken the time to chat with me, you know who you are.

If you write Python every day, use Python in production, have opinions on Python tooling, etc., I’d love to hear from you, regardless of whether you use Ruff.

What’s working well? What’s not? How can we help? Get in touch.

P.S. We’re hiring #

We’re growing the team — not rapidly, but deliberately. Our early team includes the original author of Maturin, one of the core contributors to Rome, and, uhh, the author of Ruff. We’re looking to bring on another team member or two, opportunistically, to help build Ruff itself and more Ruff-like tools.

For me, the opportunity to work on these kinds of problems full-time is a dream come true. I love building tools, and I see tooling as an incredibly high-leverage endeavor. If you could make the Python ecosystem even 1% more productive, imagine how that impact would compound?

If you feel similarly, reach out. We work remotely across North America and Europe. For these early hires, we're looking for team members that could, in theory, lead the design and implementation of entirely new tools and systems. Experience with Rust is important. A background in compilers or developer tools is helpful too.