Try   HackMD

ICortex: Giving Programming Superpowers to Non-Programmers

Introducing ICortex, our new Jupyter kernel that allows you to generate Python code from natural language prompts:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

ICortex is a drop-in replacement for the IPython kernel that powers Jupyter Notebooks.

It is open source, fully extensible, and can connect to multiple code generation services, including TextCortex API, OpenAI Codex API, locally-running HuggingFace models, and so on.

Whether you are

  • a beginner who has just started their Python journey,
  • an advanced developer with years of experience,
  • or a non-programmer who would like to let AI do the programming for you,

ICortex has something to offer to you.

Installation

Install it with

pip install icortex

Configure it once for your current project directory:

icortex init

Keep pressing enter to use TextCortex as the default code generation service with the default settings. Provide your API key when asked for it.

You can fetch your API key at https://app.textcortex.com/user/dashboard/settings/api-key

Then simply launch JupyterLab,

jupyter lab

and create a new notebook with ICortex.

We are giving free credits to our first users—join our Discord so that we can shape ICortex together 💪.

Usage

The main feature of ICortex is the ability to generate Python code from natural language. Try pasting the following into a new cell and then execute it:

/Integrate sin(x) from 0 to 10 and print the result

Ideally, TextCortex should return code that looks similar to the following:

from math import sin
from scipy.integrate import quad

def f(x):
    return sin(x)

result, error = quad(f, 0, 10)
print(result)

If the scipy package is not installed in your Python environment, it will ask for permission to install it. Then, it will ask for permission to execute it, and if you accept:

1.839071529076452

Visit our GitHub repo fore more details on how to use ICortex.

Learn more

In 1984, computer scientist Donald Knuth introduced the literate programming (LP) paradigm. It is a fancy way of saying that code is embedded in a plain language document with explanations, which makes it easier to understand what the code does.

38 years after the conception of LP, the Jupyter Notebook remains the most popular application of the paradigm. Since its introduction, Jupyter Notebook (initially called the IPython Notebook) revolutionized how people do research, collaborate and share their work. A data scientist can record their entire day's work in a Jupyter Notebook without ever having to use a word processor or a spreadsheet.

ICortex supercharges literate programming to the max: it allows you to program without ever writing any code!

There is arguably nothing better for programmer productivity than not having to write any low-level code at all. Think of it as moving one step higher in the abstraction layer: ICortex is to Python as Python is to C—except that it's not yet another programming language, but plain English. With ICortex, having a high level understanding of what a program should do is enough to get the work done.

This is called Natural Language Programming. It has been possible to write programs by describing them in natural language since a couple of decades. However, with the recent breakthroughs with large language models, users are able to get away with less specific descriptions, paving the way for productivity tools like ICortex.

Join our Discord to get help starting out with ICortex.

- TextCortex Team