👩💻Supported languages and libraries
Python version and libraries in Kita and how to request something new.
Kita runs Python 3 through Skulpt, a Python interpreter written in JavaScript rather than CPython, at roughly the Python 3.7 feature level. JavaScript is also supported.
Students import from a fixed set of libraries and cannot install their own. This page lists exactly what is available.
Runtime
Student code runs in the browser through Skulpt, not CPython. sys.version reports Python 3, at roughly the 3.7 feature level.
Newer Python syntax may not run. Because the feature level is around 3.7, code written against a later version can fail even though it is valid Python. If you are moving a lesson from a platform that runs full CPython, test it in Kita before you rely on it. See Migrating from Trinket.
Available libraries
These import and run today.
base64
Encoding and decoding
csv
Reading and writing CSV files
datetime
Supports basic date and time types
hashlib
Hashing
json
JSON encoder and decoder
math
Provides mathematical functions and constants
matplotlib
Create static, animated, and interactive visualisations in Python
numpy
Scientific computing with Python
pandas
Data analysis and manipulation with Python
pgzero (pgzrun)
Pygame Zero, a simplified games framework
pygame
Games and interactive graphics
random
Implements pseudo-random number generators
re
Regular expression operations
tkinter
Used for interface design using Python (request from Kita support).
turtle
Turtle graphics
This list is not exhaustive. Kita runs on Skulpt rather than CPython, so some modules that are part of Python elsewhere are not available here, and the reverse is not something we can predict from the module name alone. If a lesson depends on a module not listed on this page, test the import directly, or email support@getkita.com to check before you build a lesson around it.
Installing your own packages
Students cannot install packages. There is no pip or micropip step in a lesson. They import from the set above, and nothing outside it is available.
This is deliberate. A lesson behaves the same for every student in the class, and nothing a student installs can break their workspace mid-lesson.
Working with files
Students can read, write and upload files in their workspace. This is separate from the library list above. A lesson using csv to parse a file requires that the file has been created and is made visible or editable to students - using the student template option.

Network access
Student code cannot currently make network requests, such as calling an API. If your lesson depends on this, email support@getkita.com before you build it, and we will confirm directly.
Limits
We have not yet published execution time, memory or file size limits. If your lesson is doing something intensive, such as a long-running loop or a large data file, email support@getkita.com and we can tell you whether it will run within Kita's limits.
Requesting a language or library
If your lesson needs a library or programming language that isn’t currently available, email support@getkita.com or fill out the form below:
Last updated
Was this helpful?

