tcframe now runs natively on Windows, and you can write specs in Python!

Revision en5, by HahahaHihihi, 2026-09-24 10:54:47

Hi everyone!

Many of you probably know tcframe, the test case generation framework developed by IA TOKI (Ikatan Alumni TOKI, the alumni association of Indonesia's national olympiad in informatics team). Over the past week, I kept wondering why it only supports Linux. To use it on Windows, you have to install WSL and run everything from there, which can be a hassle, especially for newcomers.

I also came across a few issues on the tcframe repository from problem setters outside the C++ world. They found tcframe hard to work with and asked whether a Python version was possible.

So I decided to port tcframe to Python, so that it works the same on Windows, macOS, and Linux. Getting started takes two steps:

pip install tcframe
from tcframe import *

and you're good to go!

Your spec runs as plain Python (no compilation needed), and your solution still runs as a native executable. As a bonus, Python's big integers work out of the box, so something like 10**1000 in a test case just works.

Full documentation and examples are here: https://github.com/mie-intel/tcframe-python/

The package already covers most of the features of the C++ version. It's still in an early stage, though, and I haven't tested every feature thoroughly yet. One known limitation: grading interactive problems (with a communicator) doesn't work on Windows yet; it's planned for a future release.

Big thanks to fushar and IA TOKI for creating tcframe and making it open source. This port is built on their design and documentation. Feedback, bug reports, and contributions are very welcome. Thanks for reading!

Tags tcframe, python, windows10, noobs with windows, test generator

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en5 English HahahaHihihi 2026-09-24 10:54:47 16 change repository link
en4 English HahahaHihihi 2026-09-24 08:36:07 0 (published)
en3 English HahahaHihihi 2026-09-24 08:35:54 12 Tiny change: '26-09-24] for creat' -> '26-09-24] and IA TOKI for creat'
en2 English HahahaHihihi 2026-09-24 08:34:55 32 Tiny change: 'thanks to IA TOKI for creat' -> 'thanks to [user:fushar] for creat'
en1 English HahahaHihihi 2026-09-24 08:33:02 1704 Initial revision (saved to drafts)