Write expressive Python code and bring it to the full Elements toolchain, with native access to the platforms and frameworks your project targets.
Python Meets Elements
Promethium is the Python language frontend for the Elements compiler. It brings Python's approachable, readable syntax into the same compiler and project system used by Oxygene, C#, Swift, Java, Go, and Mercury.
That means Python can be a first-class choice for Elements projects: use the language you enjoy while working with the APIs, SDKs, and native capabilities of your target platform.
A Familiar Language, a Bigger Reach
Promethium combines Python's clarity with the cross-platform reach and development experience of Elements.
Readable by Design
Use clean, concise Python syntax for application code, shared libraries, tools, and services.
Native APIs
Work directly with the frameworks and SDKs of the platform you are building for.
One Toolchain
Build Python projects alongside the other Elements languages with the same project model and developer tools.
Choose Your Platform
Promethium is part of Elements, so your Python code can target the platform that fits the project rather than being tied to a single runtime.
.NET for Windows applications, cross-platform services, command-line tools, and web projects. Read More
Apple platforms for native macOS, iOS, iPadOS, tvOS, and watchOS development. Read More
Android for mobile apps using the Java-based SDK and native NDK APIs. Read More
Java for Java bytecode projects targeting Java SE, Java EE, OpenJDK, and other JVM environments. Read More
WebAssembly for browser modules that interact with JavaScript and the HTML DOM. Read More
Windows for CPU-native applications using Win32 APIs on 64-bit and 32-bit Windows. Read More
Linux for CPU-native applications using Linux and POSIX APIs on Intel and ARM. Read More
Fuchsia for CPU-native applications targeting Google's Fuchsia OS. Read More
Promethium Base Library
Promethium ships with an optional and open-source Promethium Base Library, available for all platforms, that brings a large set of common CPython APIs over to Elements.
This way, you can explore the new platforms in the Python language, without giving up your creature comforts and the core Python types and functions you are used to.
Of course, PBL is also – optionally – available to all other Elements languages. For example, Python’s familiar collections.Counter makes it easy to count occurrences and find the most common items in a collection — just as useful for analyzing sales or application logs in Oxygene, C#, or Myth as it is in Python.