Skip to main content

The PNU Project

Project description

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
  • 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

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 :-)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PNU-2021.6.24.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

PNU-2021.6.24-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file PNU-2021.6.24.tar.gz.

File metadata

  • Download URL: PNU-2021.6.24.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for PNU-2021.6.24.tar.gz
Algorithm Hash digest
SHA256 e3b1ca8b0bc0bfa3da6a0297ff9721fe302b1ea840cb3a27a1752d79a707929c
MD5 72a0e9793787f70553667b46f77416fa
BLAKE2b-256 2342a5dee095a44bcc6f9d912f28d032fb203f3853a04ded4ca2b06586665b49

See more details on using hashes here.

File details

Details for the file PNU-2021.6.24-py3-none-any.whl.

File metadata

  • Download URL: PNU-2021.6.24-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for PNU-2021.6.24-py3-none-any.whl
Algorithm Hash digest
SHA256 2e5a3dae571930dc6a2aa0bb2999de8b23cd68aa1833bfece727745efb20dfeb
MD5 fdf099dffe0fc925e2b2e8051f6c5eb9
BLAKE2b-256 875315ec360f9a0cf582c0ed7e4f058a68bcb0ac21f4a9299dbe90ef76641281

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page