The object-orientated approach of PowerShell is the main inspiration.

What it does

An object-orientated shell that is language independent. This means that commands can be implemented in any language and interact natively with objects.

How I built it

I used the cmd Python standard library for creating an interactive shell. The object formats, used for object piping, are defined using JSON Schema. The actual piping happens as usual using standard input/output.

What I learned

I learned a lot about making proper design choices for a shell.

What's next for OShell

  • Binary piping between processes.
  • Add complete replacement for all the commands from unix shells.

Built With

Share this project: