Skip to main content

PNU logo

PNU, as in PNU is Not Unix, is a challenge project and a learning exercise to reimplement UNIX command-line tools in Python, forming a kind of "pytnix" portable user-land utilities collection.

It's meant to be pronounced "Pneu" (tyre in French), a "pun" which seems appropriate as it's clearly another reinvention of the wheel, longtime after the GNU project :-)

Objectives:

Project status:

pip install PNU

or you can install PNU plus a selection of additional third-parties tools with this command:

pip install pytnix
  • This page is both for the challenge description and for referencing unix tools rewrites made by contributors.
  • To contribute you can simply create:
    • your own Github repositories and link them to the project by using the pnu-project topic
    • your own PyPi packages and link them to the project by using the pnu-project keyword (but please don't use the "pnu-" package prefix for your own entries)

How to contribute:

Suggested tasks and progression:

The following, (A)D&D inspired, level structure is proposed for gamification. We suggest level bosses in order to complete a level (but no Demogorgon here, we are not in Stranger Things :-)) and associated :trophy: trophies for fun :-)

We're also thinking about offering Habitica's quests for further gamification.

The following classification of commands is still in progress.

Basic levels

Level 1 sub projects

Handling return codes, printing to the terminal:

Level 2 sub projects

Basic string handling:

Basic math or data structures, school level:

Level 3 sub projects

Basic filters, command line & environment processing, file operations:

Level 4 sub projects

Basic text processing utilities, multiple files or many options:

  • cat => with full options
  • nl
  • cmp
  • comm
  • uniq => suggested level boss. Trophy: :one:

Level 5 sub projects

Basic utilities using more complex parsing:

Intermediate levels

System utilities (implying minimum Unix system knowledge). Regular expressions, text parsing. CSV, JSON, XML, HTML data handling.

Level 6 sub projects

Basic system utilities.

Level 7 sub projects

Basic system utilities, possibly recursive ones:

Level 8 sub projects

Level 9 sub projects

Level 10 sub projects

Advanced levels

Full screen text applications, windowed applications, office documents manipulation, image manipulation, web scraping, network applications, automation.

Interactive full screen applications:

Advanced system utilities, data compression:

Level 11 sub projects

Level 12 sub projects

Level 13 sub projects

Level 14 sub projects

Level 15 sub projects

Master levels

Languages (interpreters, compilers), database management systems, network protocols:

Level 16 sub projects

Level 17 sub projects

Level 18 sub projects

Level 19 sub projects

Level 20 sub projects

  • sh => Suggested level boss. Trophy: :shell:

Immortal levels

It's a long way to the top if you wanna get your entry in the "Deities & Demigods" of hackers, but here are some examples to inspire you from the Unix & open source pantheon (note: having a :neckbeard: beard is not mandatory)

However, all of this is beyond the scope of the project and probably not a good idea to implement in Python :-)

Demigods level transcending projects

Full operating system kernels & device drivers:

Deities level transcending projects

Making your own hardware platform and all the software to run it.

  • Although not Unix related, :mage_man: The Woz springs to mind here and his excellent autobiography, iWoz, is highly recommended for a good glimpse into a true hacker's mind.

Release files for PNU 2026.8.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PNU 2026.8.21
File Size Uploaded
pnu-2026.8.21.tar.gz 10.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PNU 2026.8.21
File Interpreter ABI Platform
pnu-2026.8.21-py3-none-any.whl Python 3 none any Details

Total release size: 25.3 kB

Release files / pnu-2026.8.21.tar.gz

Download URL pnu-2026.8.21.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d16d337fb05fb78a3418cffcdfda9b2f1284e6854ab7dda7fe6a3258cb060828
BLAKE2b-256 checksum
How to use checksums
a8cb8769ff0ee1fa5b40b80714182b67631d9f2079ff5b227bee7c1c79559f8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / pnu-2026.8.21-py3-none-any.whl

Download URL pnu-2026.8.21-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c386085622986417fa9300b1eb40be7d617c7f4351df4840744b8523628ffec7
BLAKE2b-256 checksum
How to use checksums
80945159803d65cdf98016e669d93c91746a638fd9e19649256509a988d4f8cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

2026.8.21 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page