Day 45b — How to (almost) build a C extension wheel on Windows (with external dependencies)

I looked into how to build C extension wheels on Windows over the weekend. Since there isn't a fastmac equivalent to get a Windows machine for debugging, I booted up Windows on my laptop after a really long time! I need to find a fastwin or winfast!

Installation

Visual Studio …

Read

There are comments.

Day 45 — I have Linux and macOS wheels!

Today I continued my quest of packaging my Python C extension for multiple OSes. Yesterday while doing a packaging "test run" with the curses "hello world" program, I found that curses is not supported on Windows (it should work with WSL, but not with the "default" Windows terminal I guess …

Read

There are comments.

Day 44 — Packaging Driven Development

Today I started looking into building cross-platform wheels for my Python C extension. I've never built binary extension wheels so I decided to start simple by building wheels for this snake game I want to write in C. Right now it's just a "hello world" ncurses program.

I started looking …

Read

There are comments.

Day 43 — Mysterious PEPs and where to find them

I've been reading (and forgetting about) a lot of PEPs lately. When you read a PEP, it mentions how "this" thing was defined in "this" PEP, and how "that" thing was defined in "this other" PEP. So I thought that it would be cool to look at all the PEPs …

Read

There are comments.

Day 42 — I have an answer to the ultimate question of how to convert a PDF to a PNG in Python!

Yesterday I paired with Ilia to walk through the pdftoppm code, and we identified some code that wasn't required to wrap pdftoppm. I also wrapped a "hello world" ncurses game with pybind11!

Today I started looking into pdftoppm again and commented some code (like command-line argument parsing and JPEG support …

Read

There are comments.