Studio Matrx Monthly · Volume 1 · Issue 3 · August 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
The Python ToolscapeLesson 0.3
PSD for Architecture, Planning & Urban Design/Module 0 · Foundations of Coding for Designers

Lesson 0.3 · Foundations of Coding for Designers

The Python Toolscape

An honest map of where and how you run Python for design - the interpreter, editors, notebooks, in-app scripting, and the libraries that matter

13 min Interactive lessonFree · open lessonByAmogh N P· Architect & interior designer
The hook

One language, many front doors. Before you write code, get the lay of the land - so you know what the interpreter, an IDE, a notebook and in-app Python each are and when to reach for them.

New coders often stall not on syntax but on setup - a fog of unfamiliar words: interpreter, IDE, terminal, Jupyter, pip, environment. It feels like you must understand all of it before you can start, which is untrue and off-putting.

This lesson clears the fog with an honest map. It is deliberately light on code and heavy on orientation: what actually runs your Python, the handful of places you write it, how Python lives inside the design tools you already use, and which libraries are worth knowing by name. No hype, no fifty-tab setup - just enough of the landscape that the rest of the course feels like walking familiar streets.

Engine (interpreter) + front doors (VS Code, Jupyter, in-app) + toolboxes (libraries).

The interpreter: the engine that runs your code

At the centre of everything sits the Python interpreter - the program that reads your Python and actually carries out the instructions. When people say 'install Python', they mean install this interpreter. Everything else in this lesson is just a different way of feeding code to it.

There are two ways to feed it. The first is interactively, one line at a time, in a prompt called the REPL (read-eval-print loop). You type an instruction, press Enter, and see the result immediately - superb for quick tests:

python
>>> 3200 / 150      # how many 150mm fins across 3.2m?
21.333333333333332
>>> round(_, 1)
21.3

The second is by writing a script - instructions saved in a .py text file - and asking the interpreter to run the whole thing at once, typically from a terminal:

python
# save as areas.py, then run:  python areas.py
rooms = {"living": 24.0, "kitchen": 12.5, "bedroom": 16.0}
for name, area in rooms.items():
    print(name, area, "sqm")

That is the whole core idea: the interpreter is the engine, and you either chat with it live (REPL) or hand it a saved script. Every fancier tool below is a nicer wrapper around exactly this.

It helps to demystify one more word here: the terminal (or command line) is just a text window where you type commands to your computer, and python areas.py is one such command - it tells the interpreter to run that file. Designers often find the terminal intimidating because it is bare text with no buttons, but you will only ever need a handful of commands, and the editors below hide most of it behind a Run button anyway. There is nothing mystical under the hood: a file of instructions, and an engine that reads them top to bottom and does what they say.

WHERE YOUR PYTHON RUNSinterpreterruns your codeEditor / IDEVS Code, IDLENotebookJupyter, cellsGrasshopper / RhinoGHPython, rhino3dmDynamo / RevitPython node, APISame language, many front doors. The interpreter is the engine under all of them.
Zoom
One interpreter, many front doors. You can feed code to the same Python engine through an editor or IDE like VS Code, through a Jupyter notebook of cells, or from inside Grasshopper, Rhino, Dynamo and Revit. The language is identical; only the way in changes.

REPL = chat live, line by line. Script = hand over a saved .py to run all at once.

Where you write it: editors, IDEs and VS Code

You could write scripts in plain Notepad, but a proper code editor makes the work far easier - it colours your code so mistakes stand out, auto-indents (which Python cares about), suggests function names, flags errors before you run, and lets you run a file with one keystroke. An editor loaded with these coding features is called an IDE (integrated development environment).

The honest recommendation for a designer starting today is Visual Studio Code (VS Code) - free, cross-platform, hugely popular, and gentle to begin with while scaling up as you grow. Install it, add the official Python extension, and you have a comfortable home for everything in Modules 1 to 4. Python also ships with a tiny built-in editor called IDLE, which is perfectly fine for your very first scripts if you want zero setup.

What do these coding features actually buy you? Concretely: syntax highlighting colours keywords, text and numbers differently so a typo often shows up as the wrong colour before you even run; auto-indentation keeps the four-space blocks Python insists on lined up; autocomplete offers function names as you type so you need not memorise exact spellings; and an integrated run button and error panel let you execute a file and jump straight to the line that broke. None of this changes what your code does - it just removes friction, which matters most when you are new and every error feels mysterious. There are heavier professional IDEs such as PyCharm, but you do not need them, and chasing the 'best' editor is a classic way to procrastinate. Pick VS Code, or IDLE for five minutes, and move on - the editor is a comfortable chair, not the work itself.

Editor = a comfortable chair. VS Code is the sensible default. Do not shop for chairs for a week.

Notebooks: Jupyter, where code and results sit together

A Jupyter notebook is a different way of working that suits designers unusually well. Instead of one long script file, a notebook is a sequence of cells you run one at a time, with each cell's output - a number, a table, a chart, an image - appearing directly beneath it, mixed with your notes.

That make it ideal for exploring: loading a schedule and poking at it, trying a calculation, drawing a quick chart, tweaking and re-running just one cell without starting over. It is how most data and analysis work is done, and it pairs naturally with pandas and matplotlib later in the course. The trade-off, worth being honest about, is that notebooks are built for exploration and presentation, not for building reusable tools you run unattended - for that, a plain .py script is cleaner. A good instinct to adopt: notebook to explore and understand; script to automate and repeat. You will use both, and VS Code happens to open notebooks too, so you need not choose a separate app.

One small gotcha worth flagging now, because it confuses every beginner eventually: in a notebook you can run cells in any order, and the notebook remembers whatever you last ran, not what appears top to bottom. Run cell 3, then edit cell 1 without re-running it, and the notebook is now in a state your file no longer describes - a classic source of 'but it worked a minute ago'. The fix is simple discipline: when something behaves strangely, restart and run all cells top to bottom to get a clean, honest state. Notebooks reward exploration but ask for that little bit of tidiness in return.

WHERE YOUR PYTHON RUNSinterpreterruns your codeEditor / IDEVS Code, IDLENotebookJupyter, cellsGrasshopper / RhinoGHPython, rhino3dmDynamo / RevitPython node, APISame language, many front doors. The interpreter is the engine under all of them.
Zoom
One interpreter, many front doors. You can feed code to the same Python engine through an editor or IDE like VS Code, through a Jupyter notebook of cells, or from inside Grasshopper, Rhino, Dynamo and Revit. The language is identical; only the way in changes.

Python inside your design tools

Here is the part that makes all this directly useful: Python does not only run in a terminal - it runs inside the design software you already use, driving real geometry and models. Be clear-eyed about how, because the details differ.

In Rhino and Grasshopper, you write Python in a script component on the canvas (historically 'GHPython'; recent Rhino ships a Python 3 script editor and component). Your code receives inputs from other Grasshopper components, does its work, and passes geometry back out - covered in Module 6. For working with Rhino files outside Rhino, there is a separate library, rhino3dm, that reads and writes .3dm geometry from ordinary Python. In Revit, you rarely script Python directly against the software; instead you use Dynamo, a visual programming tool for Revit, which has a Python Script node where you write Python that calls the Revit API to read and edit model elements (Module 7). Tools like pyRevit let more advanced users run Python against the Revit API more directly. One honest wrinkle worth knowing early: for years the Python inside these tools was an older dialect (IronPython, a version of Python 2) that differed in small ways from the Python you run on your desktop. The tools have been moving to modern Python 3, and recent Rhino and Dynamo releases support it, but you may still meet older setups in practice - so if a snippet behaves oddly inside a design tool, the Python version is a fair first suspect. Do not let that scare you off; it is a footnote, not a barrier.

The reassuring truth is that the language is the same everywhere - the loops, variables and logic you learn in Modules 1 and 2 are exactly what you type into a Grasshopper component or a Dynamo node. Only the way code gets its inputs and hands back results changes from tool to tool, and that plumbing is what Modules 6 and 7 teach once the language itself is second nature.

BATTERIES INCLUDED, PLUS A WORKSHOPSTANDARD LIBRARYships with Python, no installoscsvjsonmathrandom, pathlib, datetimeINSTALL WITH pipfree, one command eachpandasnumpymatplotlibrhino3dmrequests, pillow, openpyxl
Zoom
Two kinds of library. The standard library (os, csv, json, math and more) ships with Python and needs no install. Third-party libraries - pandas, numpy, matplotlib, rhino3dm, requests - are free and added with one pip command each when a task calls for them.

The standard library and the libraries that matter

Python comes 'batteries included': a large standard library of ready modules that ship with the interpreter and need no installation - os for files and folders, csv and json for common data formats, math for calculations, random, datetime, pathlib and more. You reach them with import:

python
import math
print(math.pi)          # 3.141592653589793
print(math.dist([0, 0], [3, 4]))   # 5.0 - straight-line distance

Beyond the standard library sits a vast ecosystem of free third-party libraries you install with one command (pip install ...). Five are worth knowing by name now. pandas handles tabular data - schedules, BOQs, any spreadsheet - and is the backbone of Module 4. numpy does fast numbers and arrays, and underpins most geometry and data maths. matplotlib draws charts. rhino3dm reads and writes Rhino geometry outside Rhino. And requests fetches data from the web. You do not install these yet or memorise them - just recognise the names, because they recur constantly. The map is simple: a standard library that is always there, plus a workshop of installable tools you add as a task demands. That is the whole toolscape - an engine, a few front doors, and a set of toolboxes.

BATTERIES INCLUDED, PLUS A WORKSHOPSTANDARD LIBRARYships with Python, no installoscsvjsonmathrandom, pathlib, datetimeINSTALL WITH pipfree, one command eachpandasnumpymatplotlibrhino3dmrequests, pillow, openpyxl
Zoom
Two kinds of library. The standard library (os, csv, json, math and more) ships with Python and needs no install. Third-party libraries - pandas, numpy, matplotlib, rhino3dm, requests - are free and added with one pip command each when a task calls for them.
Parts of the toolscape, named

interpreter

The program that runs your Python

Install this and you can run code. REPL for live one-liners; python file.py to run a saved script.

IDE / VS Code

An editor loaded with coding help

Colouring, auto-indent, error flags, one-key run. VS Code plus the Python extension is the sensible default.

Jupyter notebook

Cells of code with output shown inline

Ideal for exploring data and making charts. Notebook to explore; plain script to automate.

standard library

Modules that ship with Python

os, csv, json, math, random and more - always there, no install, reached with import.

pandas / numpy / matplotlib / rhino3dm

Key third-party libraries

Tables, fast numbers, charts, Rhino geometry. Free, added with pip when a task needs them.

Hands-on workshop

Workshop - get a working Python home set up

This is the one Module 0 exercise where you touch a keyboard. The goal is a minimal, working setup and the small thrill of the interpreter answering you - nothing elaborate, just proof that the engine runs.

A computer with internet; Python from python.org; optionally VS Code and its Python extension. No paid software.

Given & goal
Goal: a working interpreter plus one first line of code
Inputs: a computer with internet
Time: ~30 minutes
  1. 1Install Python from python.org (or, if you prefer zero local setup, open a free browser notebook such as a hosted Jupyter/Colab environment). On the installer, if offered, tick the option to add Python to your PATH.
  2. 2Open the interpreter interactively - IDLE's shell, or type python in a terminal - until you see the >>> prompt. Type 2 + 2 and press Enter. The interpreter answering 4 is your first conversation with the engine.
  3. 3Install VS Code from code.visualstudio.com and add the official Python extension, so you have a comfortable editor for the coming modules. (Optional today - IDLE is enough to continue.)
  4. 4In your editor, save a two-line file hello.py that prints your name and one room area, then run it. You have now used both front doors: the live REPL and a saved script.
  5. 5Write down, in your own words, the difference between the interpreter, the editor, and a notebook. If you can explain all three plainly, the fog has cleared.

You’ll walk away with
A working Python interpreter you can open, VS Code or IDLE ready to edit files, one hello.py script you ran successfully, and a three-sentence note explaining interpreter vs editor vs notebook in your own words.

The worked example

Three altitudes on the same idea

Read the band that fits you — or all three.

For the architectAutomate busywork & build custom tools

Your toolscape has two halves: general Python and in-model scripting. Start with VS Code or a notebook for file, schedule and data work you can do today. When you are ready to drive geometry and BIM, the same language moves into a Grasshopper script component and a Dynamo Python node against the Revit API (Modules 6 and 7). Knowing rhino3dm exists is handy the day you need to read a .3dm file without opening Rhino.

For the interior designerScripts for data, schedules & layouts

You may never leave the general-Python half of the map, and that is fine. VS Code or a Jupyter notebook plus pandas and matplotlib covers schedules, take-offs, cost breakdowns and quick charts - the bulk of interiors leverage - with no Rhino or Revit in sight. Treat the in-app scripting section as good-to-know context for collaborators, and focus your setup on a notebook and pandas.

For the studentA hireable computational skill

Install the real toolscape now, while you have time to play. Get Python and VS Code, try a Jupyter notebook, and if your studio uses Rhino or Revit, poke at a Grasshopper Python component or a Dynamo Python node early. Being fluent across the map - general scripting plus at least one in-app environment - is exactly what computational-design and BIM roles look for, and it is far easier to build now than under deadline later.

Misconception check

You need a complicated professional setup - the right IDE, environments, the whole toolchain - before you can start learning Python.

This is one of the biggest reasons beginners stall, and it is backwards. To start, you need only the Python interpreter and somewhere to type - even Python's built-in IDLE, or an online notebook, is enough for your first weeks. VS Code plus the Python extension is a comfortable next step, not a prerequisite. Virtual environments, package managers and elaborate configuration solve problems you do not have yet; adopt them when a real need appears, not before. Setup should take minutes, not a weekend. Chasing the perfect toolchain before writing any code is procrastination dressed as diligence - pick the simple path and start.
Try it

Do it yourself

Check your map of the toolscape.

  1. 1What is the interpreter, and what does 'install Python' actually install?
  2. 2Explain the difference between the REPL and running a saved script.
  3. 3When would you reach for a Jupyter notebook rather than a .py script?
  4. 4How does Python run inside Grasshopper versus inside Revit?
  5. 5Name three standard-library modules and three third-party libraries, and what each is for.
Take this with you

The one line to carry out

One interpreter runs all your Python; you feed it through an editor like VS Code, a Jupyter notebook, or from inside Grasshopper, Rhino and Dynamo - and you extend it with a standard library that is always there plus installable libraries like pandas and rhino3dm. The language is the same everywhere; only the front door changes.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Python (programming language)Wikipedia, 2026.
  2. 02Integrated development environmentWikipedia, 2026.
  3. 03Project JupyterJupyter, 2026.
  4. 04Visual Studio CodeMicrosoft, 2026.
  5. 05RhinoPython guidesMcNeel Rhino Developer, 2026.
Related lessons
Recap
The toolscape is simpler than the jargon suggests: an interpreter runs your code, and you feed it either live (the REPL) or as a saved script. You write that code in an editor - VS Code is the sensible default - or in a Jupyter notebook when you want cells and inline results. The same language runs inside Grasshopper, Rhino and Dynamo, driving real geometry and BIM. Python's standard library ships free, and libraries like pandas, numpy, matplotlib and rhino3dm add power on demand.
Carry forward →

You now know what scripting does and where it runs. The last Module 0 lesson turns inward, to the mindset - how to think like a programmer, breaking a plain-English task into precise steps - so that when Module 1's syntax arrives, you already know how to reason your way to a solution.

A

The author

Amogh N P

Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.

More about Amogh →