Skip to main content

Symbian platform

Build Symbian ARMv5T and ARMv6 applications with modern C++20, CMake and Ninja on macOS or Linux. The SDK provides native libraries, Python tools, E32/SIS conversion, emulator controls and guest debugging.

Documentation · Create a project · C++ API · Original Symbian headers

What you can build

Area Available facilities
Toolchain Clang/LLD ARM builds, native ELF-to-E32 conversion, frozen-ordinal import proxies, EXEs and DLLs
C++ runtime libc++ containers, smart pointers, clocks, allocation and compiler-rt helpers; Abseil Status/StatusOr and maps
Concurrency Futures, Tasks, channels, fibers, native timers, property watches and event/worker executors following A11
Device APIs Counters, power/display snapshots, streaming files and directories, camera discovery and native TCP
HTTP Streaming HTTP/1.1 and HTTP/2 clients and servers with bounded buffers and absolute deadlines
WebSockets RFC 8441 WebSockets using shared HTTP/2 and stream primitives
TLS Application-linked Mbed TLS 3.4.1, TLS 1.2/1.3 streams, explicit CA roots and certificate/hostname verification
Packaging SIS creation, registration, translated menu captions, SVG icons and RSA/X.509 signatures
Host tools Python CLI, desktop console, USB inspection, package staging and disposable emulator sessions
EKA1 Separate ARMv5T legacy process profile with selected original GNU2 EUSER imports

The modern runtime, GUI and networking APIs require EKA2. EKA1 does not yet provide those libraries or legacy SIS packaging. TLS requires a secure entropy source for the actual target; the supplied emulator adapter is specific to its patched firmware profile. Camera capture, modern sensor/media APIs, general C++ TLS and thrown C++ exceptions are unsupported. See the capability guide for component requirements.

Firmware and original OS DLL implementations are supplied separately and are not redistributed. An import library describes a system DLL's exports; it does not replace that DLL. Test your application's services and installation policy on its target device before deployment.

Install the host tools

Use Python 3.11–3.14 on macOS 15+ or Linux with glibc 2.28+, on x86_64 or arm64:

python3 -m venv ~/.venvs/symbian
source ~/.venvs/symbian/bin/activate
pip install symbian-platform
symbian doctor

For application builds, also select a native target SDK. The Getting started guide covers that step and keeps a separate path for working from a source checkout.

Work from a source checkout

Use the macOS/Linux prerequisites and host build guide to prepare dependencies. From the checkout:

uv sync
uv run symbian doctor
uv run symbian toolchain probe
uv run symbian sdk install ~/dev/symbian-sdk --workspace "$PWD"
uv run symbian init ~/dev/hello_time --name hello_time --non-interactive
uv run symbian app build --project ~/dev/hello_time

SDK export needs the prepared platform and runtime sources described in the source walkthrough. Once the tools are installed in your environment, invoke symbian directly. To run an application, first import local firmware, then use symbian app run --project ~/dev/hello_time.

The project version comes from VERSION. Release packaging is being prepared for macOS/Linux on x86_64 and arm64, Python 3.11–3.14 wheels, a Python sdist, a source archive and standalone SDK distributions. Full EKA1 library coverage and complete native distribution packaging are still in progress; they are not implied by the current host wheel build.

Examples and guides

Task Guide
Create an IDE-ready application Standalone projects
Build, inspect and package an application Building, packaging
Fetch a web page, set a header or serve a response Native HTTP client and server
Open a WebSocket connection Native WebSockets
Load CA roots and use TLS 1.2/1.3 TLS client/server examples
Use native TCP Connectivity API
Understand the guest runtime and threading Runtime, concurrency
Build a Window Server GUI and debug the guest Build a real GUI app, CLion
Build a legacy EKA1 executable EKA1 process profile
Prepare a Linux development machine Linux host guide
Inspect USB or stage a package on a phone Device guide
Run the authenticated read-only development agent Agent guide

Application examples live in examples/; focused ABI, runtime and network diagnostics live in probes/. The probes are runnable examples for checking specific platform contracts, rather than user-oriented apps. The native reference covers SDK symbols and eleven original Symbian headers; symbol descriptions are being expanded with links to hosted platform documentation. New generated descriptions use attribution markers in the reference. Local builds, firmware, private device data, external source checkouts and emulator state stay outside version control.

Community foundations and licensing

This project builds on EKA2L1, SymbianSource, SymbianRevive, A11, LLVM, Abseil and mbedtls-symbian. See community credits for their contributions.

For separately supplied ROMs and firmware, see EKA2L1's Important Links and Delight, the community firmware project. Symbian World collects applications and resources; NNProject develops mobile applications and utilities; the Symbian World Telegram community hosts discussion and support. The curated hstsethi and gauravssnl Awesome Symbian lists link to software, tools and development resources.

Project code is licensed under Apache 2.0. Third-party sources and adaptations retain their original licenses and notices, including the separate GPL-licensed emulator integration and EPL-licensed platform material.

Metadata

Release files for symbian-platform 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for symbian-platform 0.1.0
File Size Uploaded
symbian_platform-0.1.0.tar.gz 8.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for symbian-platform 0.1.0
File
symbian_platform-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
symbian_platform-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
symbian_platform-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
symbian_platform-0.1.0-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
symbian_platform-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
symbian_platform-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
symbian_platform-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
symbian_platform-0.1.0-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
symbian_platform-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
symbian_platform-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
symbian_platform-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
symbian_platform-0.1.0-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
symbian_platform-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
symbian_platform-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
symbian_platform-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
symbian_platform-0.1.0-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details

Total release size: 70.9 MB

Release files / symbian_platform-0.1.0.tar.gz

Download URL symbian_platform-0.1.0.tar.gz
Size 8.7 MB
Tags Source
SHA-256 checksum
How to use checksums
8360ab2332ff5787748cff330b5ec24796cb660f8b76e145f4eca373375dd157
BLAKE2b-256 checksum
How to use checksums
b8e216526c08ef7cd269f44d1926ea3fd3bdd97bb3abcdff7fbb65e93cd31e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a320b8195c1114b03c37c4a79853887acabc87b7c1bad0b8eb41a51f89c5609
BLAKE2b-256 checksum
How to use checksums
3f3f4dd9cc6b0a7d98e4632869af5561e3a11c0cc1a39ce8b3baa57bdfbfac01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.4 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f619aaf17aef784edd19c659fdbc39a69c3b7f6047a867525a0df876807d0922
BLAKE2b-256 checksum
How to use checksums
de280f6719abf80d5854aeb422774f1c51300c13066e7e95b136d6b7c25736bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
a232b01a71c09a422d773c029f8e27cc33a12e574eea0c745ea370554c42e1d3
BLAKE2b-256 checksum
How to use checksums
1bfcb710ac4a4301b52fb3f1c6275c65925ab4d1f1c92f800c3166c89945798a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp314-cp314-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.0-cp314-cp314-macosx_15_0_arm64.whl
Size 3.6 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
1219e54e637d141022b68eded8e2c3c508b1176471b2b67645627259e6dd87c3
BLAKE2b-256 checksum
How to use checksums
7f0096fc7d4bd246fa7299474b55f167996bb1e43f7f569766ea97f5479fdca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
14691147494128efd6f556961b1c51de8db8d32152564e18b70a697bcdaa0b7b
BLAKE2b-256 checksum
How to use checksums
aad4d88941aaddb37b449fcc8332d0164b66cd5be830099b9feac388c7eb6f16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.4 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
32b481f7668f54c00f1cac5ef9ce5380d690f76674e0c62f9cd1dee94a57bf63
BLAKE2b-256 checksum
How to use checksums
347ac0c4eaf82049f1554ba252d5f08c5c3a8b0722ca1d93ff1c4d016723ae95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
c812c038d9c3145259e231751f7c2ba9d53ef127601fbe356e44b07faca3ccd5
BLAKE2b-256 checksum
How to use checksums
83dc030119c7a2b25d915621c5d2197d8e16eb9a7593157aa4366c9a0e2757e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp313-cp313-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.0-cp313-cp313-macosx_15_0_arm64.whl
Size 3.6 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b8b88b2cc66b5a54d1e6b8a8afbd5a7a66274d0e156e8cc828bac50879994bfa
BLAKE2b-256 checksum
How to use checksums
d71c346f48fb218d479fbdffe5f2de9afd0b3907f3ed18ddafb4bb1fdf129709
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8b17b31e97d871a8a18fdd8d26ad39432abc2d74fe6f9e760d25e69d8af8a7ad
BLAKE2b-256 checksum
How to use checksums
7204ea9cba63551e11eb05a54f9c660e4d4a0784d082796a48e5e6bcb8450429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.4 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7109b5a78bb4b9d2163e1a092f54e58687e60795c382d58fa9b9b9973fc89766
BLAKE2b-256 checksum
How to use checksums
758f1fb46329fd7d5f7804a61d000159a70c3c98726a2938a6696a1639fc1d23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
39217824ba04fd61a3550769568b54295383fd91ad35756797053edadcaa89ce
BLAKE2b-256 checksum
How to use checksums
c9b5856553b4d0f5796ef9fd0e38ad37b85c81bb2bf1ed14f4d4aaccb769d703
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp312-cp312-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.0-cp312-cp312-macosx_15_0_arm64.whl
Size 3.6 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e2f857c7ad6497f540a912177399aaa11b350a8bfea11a1848cc07d8ba4aaf6d
BLAKE2b-256 checksum
How to use checksums
d46c49be30ec3391d85523bf232ecd49d1316a910964131cdf8612169af1510f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
86bcfdd8d9e78fcc4c4311d0255af8084c7c93d755358b55d5c6ffc9da468588
BLAKE2b-256 checksum
How to use checksums
021e508f451dce45f47d2feaae793da7a087aac8010a2a21f43f4af02b5e9f53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.4 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
76905abd98f097bfb5bc8d21d8487d63703b4ecc942d2a972762fe166075838d
BLAKE2b-256 checksum
How to use checksums
9cbe38e326bfda3c9de68d8039e770792e93e4936dc164396c0503a3abb220d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
68b72cb49eb463a5f567c9e8b5731b36a15cc8a5a2ac02de5b6622b1149dcb7e
BLAKE2b-256 checksum
How to use checksums
e225b8270d8c8eb21282c66a483b5ed6d434588befc70c79a8951d647b072147
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / symbian_platform-0.1.0-cp311-cp311-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.0-cp311-cp311-macosx_15_0_arm64.whl
Size 3.6 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
8ebb35048302d75f2c3edd4ca24f8d25398924a7c87ecce714a9fff08eb591da
BLAKE2b-256 checksum
How to use checksums
91547c1e846e8a6df2bd22607f50afa853a4ffbca010bbfc09e521d6c43f2c73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

17 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page