1<!DOCTYPE html> 2<html prefix=" 3 og: http://ogp.me/ns# article: http://ogp.me/ns/article# 4 " vocab="http://ogp.me/ns" lang="en"> 5<head> 6<meta charset="utf-8"> 7<meta name="description" content="A better C API for Python"> 8<meta name="viewport" content="width=device-width, initial-scale=1"> 9<title>HPy</title> 10<link href="../assets/css/rst_base.css" rel="stylesheet" type="text/css"> 11<link href="../assets/css/nikola_rst.css" rel="stylesheet" type="text/css"> 12<link href="../assets/css/code.css" rel="stylesheet" type="text/css"> 13<link href="../assets/css/theme.css" rel="stylesheet" type="text/css"> 14<link href="../assets/css/styles.css" rel="stylesheet" type="text/css"> 15<meta name="theme-color" content="#5670d4"> 16<meta name="generator" content="Nikola (getnikola.com)"> 17<link rel="alternate" type="application/rss+xml" title="RSS" hreflang="en" href="../rss.xml"> 18<link rel="canonical" href="https://hpyproject.org/blog/"> 19<link rel="icon" href="../favicon2.ico" sizes="16x16"> 20<link rel="icon" href="../favicon32x32.ico" sizes="32x32"> 21<link rel="next" href="index-1.html" type="text/html"> 22<!--[if lt IE 9]>
22<script src="../assets/js/html5shiv-printshiv.min.js"></script>
22<![endif]--><link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"> 23<link rel="stylesheet" type="text/css" href="../assets/css/tipuesearch.css"> 24</head> 25<body> 26 <a href="#content" class="sr-only sr-only-focusable">Skip to main content</a> 27 <header id="header"><!-- Adapted from https://www.taniarascia.com/responsive-dropdown-navigation-bar --><section class="navigation"><div class="nav-container"> 28 <div class="brand"> 29 <a href="../index.html"> 30 <image id="toplogo" src="../images/hpy-logo.svg" width="75px;" alt="HPy/"></image></a> 31 </div> 32 <div class="nav-container-1"> 33 <div class="searchform" role="search"> 34 35<form class="navbar-form navbar-left" action="../search/index.html" role="search"> 36 <div class="form-group"> 37 <input type="text" class="form-control" id="tipue_search_input" name="q" placeholder="Searchâ¦" autocomplete="off"> 38</div> 39</form> 40 41 </div> 42 <nav><ul class="nav-list"> 43<li> <a href="https://hpy.readthedocs.io/">Dev Docs</a> </li> 44 <li> 45 <a href="#!">Blog</a> 46 <ul class="nav-dropdown"> 47<li> <a href="../blog">Index</a> </li> 48 <li> <a href="../categories">Tags</a> </li> 49 <li> <a href="../archive.html">Archive by year</a> </li> 50 <li> <a href="../rss.xml">RSS feed</a> </li> 51 </ul> 52</li> 53 54 </ul></nav><div class="nav-mobile"> 55 <a id="nav-toggle" href="#!"> <span></span></a> 56 </div> 57 </div> 58 </div> 59 </section></header><div id="container"> 60 <main id="content"><div class="post"> 61<div class="postindex"> 62 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2023/10/hpy-0.9.0-fourth-public-release/" class="u-url">hpy 0.9.0: Fourth public release</a></h1> 63 <div class="metadata"> 64 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 65 <a href="../authors/fangerer/">fangerer</a> 66 </span></p> 67 <p class="dateline"> 68 <a href="posts/2023/10/hpy-0.9.0-fourth-public-release/" rel="bookmark"> 69 <time class="published dt-published" datetime="2023-10-12T19:00:00Z" itemprop="datePublished" title="2023-10-12 19:00">2023-10-12 19:00</time></a> 70 </p> 71 <p class="commentline"> No comments 72</p> 73 </div> 74 </header><div class="p-summary entry-summary"> 75 <div> 76<p>I'm excited to announce that HPy 0.9 was recently released! 77The fourth official HPy release comes with many new features 78and was again made available on PyPI.</p> 79<p>This is the first release that also provides binary wheels, so installation is 80now fast and smooth as you expect it.</p> 81<p>The major highlights of the release are support for subclassing of built-in 82types, metaclasses, the trace mode, multi-phase module initialization, and the 83hybrid ABI. Please checkout the full release notes here on GitHub: 84https://github.com/hpyproject/hpy/releases/tag/0.9.0</p> 85<p>Also, we invested a lot of effort to improve <a href="https://docs.hpyproject.org/en/0.9.0/overview.html">official 86documentation</a>.</p> 87<p>Great news too is that this release was used to make a first 88(partially-migrated) port of NumPy, we call it 89<a href="https://github.com/hpyproject/numpy-hpy">NumPy/HPy</a>, run some examples.</p> 90<p class="more"><a href="posts/2023/10/hpy-0.9.0-fourth-public-release/">Read moreâ¦</a></p> 91</div> 92 </div> 93 </article><div class="no-comments">No comments.</div> 94 95 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2023/10/hpy-meetup-2023/" class="u-url">HPy meetup and CPython core dev sprint in Brno (Oct 7-10, 2023)</a></h1> 96 <div class="metadata"> 97 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 98 <a href="../authors/fangerer/">fangerer</a> 99 </span></p> 100 <p class="dateline"> 101 <a href="posts/2023/10/hpy-meetup-2023/" rel="bookmark"> 102 <time class="published dt-published" datetime="2023-10-10T10:00:00Z" itemprop="datePublished" title="2023-10-10 10:00">2023-10-10 10:00</time></a> 103 </p> 104 <p class="commentline"> No comments 105</p> 106 </div> 107 </header><div class="p-summary entry-summary"> 108 <div> 109<p>We just ended our rather informal HPy meetup in Brno (Czech Republic) which 110started on Saturday (October 7th) and lasted until Tuesday (October 10th).</p> 111<p>The main topics of the HPy meetup were:</p> 112<ul> 113<li>The CPython Core Dev Sprint</li> 114<li>Cython/HPy</li> 115</ul> 116<p class="more"><a href="posts/2023/10/hpy-meetup-2023/">Read moreâ¦</a></p> 117</div> 118 </div> 119 </article><div class="no-comments">No comments.</div> 120 121 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2022/09/hpy_sprint_2022_report/" class="u-url">
121HPy Sprint Status Update and Feedback Session</a></h1> 122 <div class="metadata"> 123 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 124 <a href="../authors/fangerer/">fangerer</a> 125 </span></p> 126 <p class="dateline"> 127 <a href="posts/2022/09/hpy_sprint_2022_report/" rel="bookmark"> 128 <time class="published dt-published" datetime="2022-09-26T10:00:00Z" itemprop="datePublished" title="2022-09-26 10:00">2022-09-26 10:00</time></a> 129 </p> 130 <p class="commentline"> No comments 131</p> 132 </div> 133 </header><div class="p-summary entry-summary"> 134 <div> 135<p>As we announced in 136<a href="https://hpyproject.org/blog/posts/2022/07/dusseldorf-sprint-2022/">this blog post</a>, 137we are currently having our joint PyPy/HPy/GraalPy sprint in Düsseldorf.</p> 138<p>On Thursday (September 22nd, 2022), we did the HPy sprint report. Most notably, 139we also had several CPython core developers in the call.</p> 140<p>The sprint report was streamed on 141<a href="https://www.twitch.tv/pypyproject">Twitch</a> and the recording is available here:</p> 142<iframe width="560" height="315" src="https://www.youtube.com/embed/kl5w8uR6hGA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 143 144<p class="more"><a href="posts/2022/09/hpy_sprint_2022_report/">Read moreâ¦</a></p> 145</div> 146 </div> 147 </article><div class="no-comments">No comments.</div> 148 149 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2022/09/hpy_on_graal_and_mpl/" class="u-url">HPy on GraalPy and Matplotlib/HPy</a></h1> 150 <div class="metadata"> 151 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 152 <a href="../authors/fangerer/">fangerer</a> 153 </span></p> 154 <p class="dateline"> 155 <a href="posts/2022/09/hpy_on_graal_and_mpl/" rel="bookmark"> 156 <time class="published dt-published" datetime="2022-09-08T15:30:00Z" itemprop="datePublished" title="2022-09-08 15:30">2022-09-08 15:30</time></a> 157 </p> 158 <p class="commentline"> No comments 159</p> 160 </div> 161 </header><div class="p-summary entry-summary"> 162 <div> 163<p>Recently, the 164<a href="https://www.graalvm.org/python/">GraalVM Python</a> team started a series of blog 165posts on <a href="https://medium.com/graalvm">Medium</a> about 166<a href="https://medium.com/graalvm/hpy-better-python-c-api-in-practice-79328246e2f8">HPy on GraalPy</a> 167and about the 168<a href="https://medium.com/graalvm/porting-matplotlib-from-c-api-to-hpy-aa32faa1f0b5">migration of Matplotlib to HPy</a> 169. The second blog post is in particular interesting since it not only describes 170the migration process but also shows performance numbers. The source code is 171also publicly available.</p> 172<p class="more"><a href="posts/2022/09/hpy_on_graal_and_mpl/">Read moreâ¦</a></p> 173</div> 174 </div> 175 </article><div class="no-comments">No comments.</div> 176 177 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2022/07/dusseldorf-sprint-2022/" class="u-url">Dusseldorf PyPy/HPy/other sprint Sept 19-23, 2022</a></h1> 178 <div class="metadata"> 179 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 180 <a href="../authors/fangerer/">fangerer</a> 181 </span></p> 182 <p class="dateline"> 183 <a href="posts/2022/07/dusseldorf-sprint-2022/" rel="bookmark"> 184 <time class="published dt-published" datetime="2022-07-29T10:00:00Z" itemprop="datePublished" title="2022-07-29 10:00">2022-07-29 10:00</time></a> 185 </p> 186 <p class="commentline"> No comments 187</p> 188 </div> 189 </header><div class="p-summary entry-summary"> 190 <div> 191<p>I'm happy to announce that we will finally have another PyPy/HPy/other sprint 192in Düsseldorf, Germany from September 19-23, 2022.</p> 193<p>The sprint will be located at Heinrich Heine University Düsseldorf. Many 194thanks to Carl Friedrich for organizing this.</p> 195<p>We will again follow an open format, i.e., everyone that is interesting in HPy,
196PyPy, or some related topic is welcome to join the sprint.</p> 197<p>See also the 198<a href="https://www.pypy.org/posts/2022/07/ddorf-sprint-sep-2022.html">announcement on the PyPy blog</a>.</p> 199<p class="more"><a href="posts/2022/07/dusseldorf-sprint-2022/">Read moreâ¦</a></p> 200</div> 201 </div> 202 </article><div class="no-comments">No comments.</div> 203 204 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2022/06/hpy-0.0.4-third-public-release/" class="u-url">hpy 0.0.4: Third public release</a></h1> 205 <div class="metadata"> 206 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 207 <a href="../authors/fangerer/">fangerer</a> 208 </span></p> 209 <p class="dateline"> 210 <a href="posts/2022/06/hpy-0.0.4-third-public-release/" rel="bookmark"> 211 <time class="published dt-published" datetime="2022-06-02T09:15:00Z" itemprop="datePublished" title="2022-06-02 09:15">2022-06-02 09:15</time></a> 212 </p> 213 <p class="commentline"> No comments 214</p> 215 </div> 216 </header><div class="p-summary entry-summary"> 217 <div> 218<p>HPy 0.0.4 is out! The third official HPy release comes with many new features 219and was again made available on PyPI.</p> 220<p>Major highlights of the release are a bunch of new API functions (e.g. 221<code>HPyErr_ExceptionMatches</code>, <code>HPyErr_WarnEx</code>, <code>HPy_Contains</code>, and more), 222Python 3.10 support, better support for native fields (<code>HPyField</code>) and global 223variables (<code>HPyGlobal</code>), new debug mode features (detect invalid raw data 224pointer usage, detect invalid closing of argument handles, detect return of 225invalid handles).</p> 226<p>Great news too is that we are now able to provide two more non-trivial projects 227that have been (partially) migrated to HPy. This is, 228<a href="https://github.com/hpyproject/kiwi-hpy/">Kiwisolver</a> 229and <a href="https://github.com/hpyproject/matplotlib-hpy/">Matplotlib</a>.</p> 230<p class="more"><a href="posts/2022/06/hpy-0.0.4-third-public-release/">Read moreâ¦</a></p> 231</div> 232 </div> 233 </article><div class="no-comments">No comments.</div> 234 235 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2021/10/hpy-0.0.3-second-public-release/" class="u-url">hpy 0.0.3: Second public release</a></h1> 236 <div class="metadata"> 237 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 238 <a href="../authors/fangerer/">fangerer</a> 239 </span></p> 240 <p class="dateline"> 241 <a href="posts/2021/10/hpy-0.0.3-second-public-release/" rel="bookmark"> 242 <time class="published dt-published" datetime="2021-10-22T15:00:00Z" itemprop="datePublished" title="2021-10-22 15:00">2021-10-22 15:00</time></a> 243 </p> 244 <p class="commentline"> No comments 245</p> 246 </div> 247 </header><div class="p-summary entry-summary"> 248 <div> 249<p>HPy 0.0.3 is out! This is already HPy's second officially released version and 250was again made available on PyPI.</p> 251<p>The major highlights of this release are new API functions, new debug mode 252features, and Windows support.</p> 253<p class="more"><a href="posts/2021/10/hpy-0.0.3-second-public-release/">Read moreâ¦</a></p> 254</div> 255 </div> 256 </article><div class="no-comments">No comments.</div> 257 258 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2021/07/hpy-0.0.2-first-public-release/" class="u-url">hpy 0.0.2: First public release</a></h1> 259 <div class="metadata"> 260 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 261 <a href="../authors/antocuni/">antocuni</a> 262 </span></p> 263 <p class="dateline"> 264 <a href="posts/2021/07/hpy-0.0.2-first-public-release/" rel="bookmark"> 265 <time class="published dt-published" datetime="2021-07-15T15:00:00Z" itemprop="datePublished" title="2021-07-15 15:00">2021-07-15 15:00</time></a> 266 </p> 267 <p class="commentline"> No comments 268</p> 269 </div> 270 </header><div class="p-summary entry-summary"> 271 <div> 272<p>HPy 0.0.2 is out! This is the first version which is officially released and 273made available on PyPI.</p> 274<p>The major highlight of this release is that it is supported by three different 275Python implementations: CPython, PyPy and GraalPython.</p> 276<p class="more"><a href="posts/2021/07/hpy-0.0.2-first-public-release/">Read moreâ¦</a></p> 277</div> 278 </div> 279 </article><div class="no-comments">No comments.</div> 280 281 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2021/05/hpy-irc-moves-to-libera-chat/" class="u-url">#hpy IRC moves to Libera.Chat</a></h1> 282 <div class="metadata"> 283 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 284 <a href="../authors/antocuni/">antocuni</a> 285 </span></p> 286 <p class="dateline"> 287 <a href="posts/2021/05/hpy-irc-moves-to-libera-chat/" rel="bookmark"> 288 <time class="published dt-published" datetime="2021-05-29T10:00:00Z" itemprop="datePublished" title="2021-05-29 10:00">2021-05-29 10:00</time></a> 289 </p> 290 <p class="commentline"> No comments 291</p> 292 </div> 293 </header><div class="p-summary entry-summary"> 294 <div> 295<p>Following the example of many other FOSS projects, the HPy team has 296decided to move its official <code>#hpy</code> IRC channel from Freenode to 297<a href="https://libera.chat/">Libera.Chat</a>: <a href="irc://irc.libera.chat/hpy">irc.libera.chat/hpy</a></p> 298<p>The core devs will no longer be present on the Freenode channel, so we recommend to 299join the new channel as soon as possible.</p> 300<p>wikimedia.org has a 301<a href="https://meta.wikimedia.org/wiki/IRC/Migrating_to_Libera_Chat">nice guide</a> on 302how to setup your client to migrate from Freenode to Libera.Chat.</p> 303<p class="more"><a href="posts/2021/05/hpy-irc-moves-to-libera-chat/">Read moreâ¦</a></p> 304</div> 305 </div> 306 </article><div class="no-comments">No comments.</div> 307 308 <article class="h-entry post-text" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title"><a href="posts/2021/05/hpy-python-language-summit/" class="u-url">
308HPy @ Python Language Summit</a></h1> 309 <div class="metadata"> 310 <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> 311 <a href="../authors/antocuni/">antocuni</a> 312 </span></p> 313 <p class="dateline"> 314 <a href="posts/2021/05/hpy-python-language-summit/" rel="bookmark"> 315 <time class="published dt-published" datetime="2021-05-12T10:00:00Z" itemprop="datePublished" title="2021-05-12 10:00">2021-05-12 10:00</time></a> 316 </p> 317 <p class="commentline"> No comments 318</p> 319 </div> 320 </header><div class="p-summary entry-summary"> 321 <div> 322<p>Yesterday I had the privilege to give a talk about HPy 323(<a href="../talks/2021/05/hpy-present-and-future.pdf">sildes</a>) at the 324<a href="https://us.pycon.org/2021/summits/language/">Python Language Summit 2021</a>.</p> 325<p>The organizers of the summit will soon publish a full report about the event 326(edit: now available 327<a href="https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit.html">here</a>), 328but <a href="https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-hpy.html">for the HPy-specific 329part</a>, 330we got generally good feedback. Someone has a few concerns that if CPython is 331to change the API, HPy might not be going far enough. Others said that Python 332shouldn't wait for the "perfect" API if HPy can be the "good" one that helps it 333evolve.</p> 334<p>Everyone was open to have HPy-compatible wheels on PyPI, once the HPy 335Universal ABI stays relatively stable. Many people suggested that we should 336really write a PEP to propose HPy as a "semi-official" API for Python.</p> 337<p class="more"><a href="posts/2021/05/hpy-python-language-summit/">Read moreâ¦</a></p> 338</div> 339 </div> 340 </article><div class="no-comments">No comments.</div> 341 342</div> 343</div> 344<div class="sidebar"> 345<div> 346 <h2> 347 The HPy blogposts 348 </h2> 349 <div> 350 Create a guest post via a PR to the <a href="https://github.com/hpyproject/hpyproject.github.io/">source repo</a> 351 </div> 352</div> 353 <div id="global-recent-posts"> 354 <h2> 355 Recent Posts 356 </h2> 357 <ul class="post-list"> 358 <li> 359 <a href="/blog/posts/2023/10/hpy-0.9.0-fourth-public-release/" class="listtitle">hpy 0.9.0: Fourth public release</a> 360 </li> 361 <li> 362 <a href="/blog/posts/2023/10/hpy-meetup-2023/" class="listtitle">HPy meetup and CPython core dev sprint in Brno (Oct 7-10, 2023)</a> 363 </li> 364 <li> 365 <a href="/blog/posts/2022/09/hpy_sprint_2022_report/" class="listtitle">HPy Sprint Status Update and Feedback Session</a> 366 </li> 367 <li> 368 <a href="/blog/posts/2022/09/hpy_on_graal_and_mpl/" class="listtitle">HPy on GraalPy and Matplotlib/HPy</a> 369 </li> 370 <li> 371 <a href="/blog/posts/2022/07/dusseldorf-sprint-2022/" class="listtitle">Dusseldorf PyPy/HPy/other sprint Sept 19-23, 2022</a> 372 </li> 373 <li> 374 <a href="/blog/posts/2022/06/hpy-0.0.4-third-public-release/" class="listtitle">hpy 0.0.4: Third public release</a> 375 </li> 376 <li> 377 <a href="/blog/posts/2021/10/hpy-0.0.3-second-public-release/" class="listtitle">hpy 0.0.3: Second public release</a> 378 </li> 379 <li> 380 <a href="/blog/posts/2021/07/hpy-0.0.2-first-public-release/" class="listtitle">hpy 0.0.2: First public release</a> 381 </li> 382 <li> 383 <a href="/blog/posts/2021/05/hpy-irc-moves-to-libera-chat/" class="listtitle">#hpy IRC moves to Libera.Chat</a> 384 </li> 385 <li> 386 <a href="/blog/posts/2021/05/hpy-python-language-summit/" class="listtitle">HPy @ Python Language Summit</a> 387 </li> 388 </ul> 389 </div> 390 391 <div id="global-archive-list"> 392 <h2> 393 Archives 394 </h2> 395 <ul class="archive-level archive-level-1"> 396 <li><a class="reference" href="/2021/">2021</a> (6) 397 </li> 398 <li><a class="reference" href="/2022/">2022</a> (4) 399 </li> 400 <li><a class="reference" href="/2023/">2023</a> (2) 401 </li> 402 </ul> 403 </div></div> 404</main> 405</div> 406<div style="clear: both; width: 75%; margin: 1em auto;"> 407 <nav class="postindexpager"><ul class="pager"> 408<li class="next"> 409 <a href="index-1.html" rel="next">Older posts</a> 410 </li> 411 </ul></nav> 412</div> 413 414 <footer id="footer"><p> 415</p> 416<div class="myfooter"> 417 <div>
418 <img src="../images/hpy-logo.svg" alt="PyPy Logo"> 419</div> 420 <div class="logotext"> 421  Contents © 2024 <a href="mailto:[email protected]">The HPy Team</a> 422 Powered by <a href="https://getnikola.com" rel="nofollow">Nikola</a> 423 </div> 424 <div style="margin-left: auto"> 425 <a href="../rss.xml">RSS feed</a> 426</div> 427 428 429 430 431 </div> 432
432<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" crossorigin="anonymous"></script>
432<script src="../assets/js/styles.js"></script>
432</footer> 433</body> 434</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.