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. Applications start at ordinary main() and link CMake library targets; the SDK supplies startup, executable image layout and OS import libraries.

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. PyPI provides Python 3.11–3.14 wheels for macOS/Linux on x86_64 and arm64, plus a Python sdist. SDK releases also provide source archives and standalone compiled C++ host SDKs. The host archives contain their static library dependencies and CMake configuration. Native SDK archives also include the compiled ARMv5T/ARMv6 EKA2 libraries, LLVM, resource tools, CMake and Ninja, with a relocatable installed file tree. Install a native distribution to build applications without a source checkout. Native Linux archives require glibc 2.39 or later; firmware and emulator setup remain separate.

Install the compatible emulator separately with symbian emulator install and check it with symbian emulator doctor. Emulator releases have their own versions and can remain installed across compatible SDK upgrades. See emulator installation for offline archives, selection and rollback. Its bundled desktop Qt is separate from the Symbian Qt runtime needed by guest Qt applications.

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 include the native Window Server counter and a guest Symbian Qt button using Qt 4.8.1 supplied by your firmware. They 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.3.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.3.0
File Size Uploaded
symbian_platform-0.3.0.tar.gz 9.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for symbian-platform 0.3.0
File
symbian_platform-0.3.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.3.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.3.0-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
symbian_platform-0.3.0-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
symbian_platform-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
symbian_platform-0.3.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.3.0-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
symbian_platform-0.3.0-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
symbian_platform-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
symbian_platform-0.3.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.3.0-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
symbian_platform-0.3.0-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
symbian_platform-0.3.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.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
symbian_platform-0.3.0-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
symbian_platform-0.3.0-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details

Total release size: 73.2 MB

Release files / symbian_platform-0.3.0.tar.gz

Download URL symbian_platform-0.3.0.tar.gz
Size 9.9 MB
Tags Source
SHA-256 checksum
How to use checksums
ccb4aca7b0b9b0a1c54c1f6c9ee00ce8c5f0923c66eceebafcd3893e96d8de72
BLAKE2b-256 checksum
How to use checksums
e46ce8edc32ab5703d8013365cb71c8c133c1b2b49cce208ddce339c33faa95a
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.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.3.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
339609ca6bb57dda55d2683a01bf589bb436cad6e81724fe806d386662a0c5ca
BLAKE2b-256 checksum
How to use checksums
74a356ef216cd274d7e0f724e7692f46daa00a865b15bf0bc333e46ac4e21506
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.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.5 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
61b0c8b3073fe1c1315e43094893e5bd3da0818a4ab3cb6a803faef1be1e9d84
BLAKE2b-256 checksum
How to use checksums
f7392a132b7de278425554eb9293a559be7267eac3d3a1cab5bb3426611718f1
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.3.0-cp314-cp314-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.3.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
8bc0d95fae09bf562a1e9e399a8158ecb2139d62e1803a135afc8ac3f2406134
BLAKE2b-256 checksum
How to use checksums
2c3e71221ba9802148a6b095d1904b16886253a7d15ee0ec85c8eeb4d07f2bc2
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.3.0-cp314-cp314-macosx_15_0_arm64.whl

Download URL symbian_platform-0.3.0-cp314-cp314-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
2e67cd4ac24bc625aaaa26958bdb48980c37e1060663324e6e64095dd69b0f39
BLAKE2b-256 checksum
How to use checksums
2bc6d79f8477b75668ee34d0df3e629e99caa6b6c7673d6faa904ea061caf9bb
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.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.3.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
4ee59c94ac208fb559d35bbc249cc34ed3028bd67d7bd8c1d6c1a75fb35e3661
BLAKE2b-256 checksum
How to use checksums
5842129e9f056150bdf86bc31410731fbda9657b1b09a194e5d96d02ffdd95a6
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.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.5 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d2d627674b453b784f456e508c6930d4428a3eeb0aafb2ad690398d3daf78341
BLAKE2b-256 checksum
How to use checksums
b6bfa5182c00b8c8f3b4741b4208878b593e45320a5cbd986c4be56f04dd66a7
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.3.0-cp313-cp313-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.3.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
69ccb6f1979b2d90b12d09cbfbaa70140761134fa98dd03cea4f80da0cf977cf
BLAKE2b-256 checksum
How to use checksums
08eb311822aa306b26ad028c4077a675ea7db94f86a9688f881771af0baac0d6
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.3.0-cp313-cp313-macosx_15_0_arm64.whl

Download URL symbian_platform-0.3.0-cp313-cp313-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
00005214deef2d8708859e4df4dda0db411b329dd5e5cb56387b815b289158ca
BLAKE2b-256 checksum
How to use checksums
0c08e2e081d6c1710625386a92fc9878b7fc54370888e8d18dbbd32deed54b45
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.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.3.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
cba1b4a4da594569906ed7fd81c0577d3af284657a646daff83dd0d73e7d014e
BLAKE2b-256 checksum
How to use checksums
11e13b9a401417bed3d6f09ded2161c21c7f298cd2bf20e5117ae0d61398e682
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.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.5 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9f8256b8ceb20d4bb961dba5cd6038f0e818f2c43855e09b5e12eb106905a93e
BLAKE2b-256 checksum
How to use checksums
e7c2f98704ab78b43f4036624635ee4f6ad0d9302660d59920275d62057679e6
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.3.0-cp312-cp312-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.3.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
de37ce59e1f0d12e7a206b88365f43382f3abfb87ec0c5cb6a7ef8ffc89eb222
BLAKE2b-256 checksum
How to use checksums
38f231eb6414a85b940f40b9a6509da6a70943bf2e0cbccb211b5286db683d31
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.3.0-cp312-cp312-macosx_15_0_arm64.whl

Download URL symbian_platform-0.3.0-cp312-cp312-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
60b98e950081ca77d0e3f3c9ed8dc62ea6c62bb212e222fd4469851284046cdb
BLAKE2b-256 checksum
How to use checksums
8e350979b5c2b3d9f0f6f015d06c44f090c146a4e3a7f4ea9174d5f8500de647
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.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.3.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
415e5f337f0832ab047c3ca02338c287c0226c4a0a94219a7a329db3a6a12ed4
BLAKE2b-256 checksum
How to use checksums
b84400a2050505efc93decce42ab0aeb85066ff87d92fe89f5e71093df9c219d
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.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 4.5 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d23f6605df368afe38d658b07875f90cf005b1187d1551e50b690fbcddc002a4
BLAKE2b-256 checksum
How to use checksums
ae88cd27cfd7517154424d9c297810c766137a35128372003c9c63d88fa5e6d2
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.3.0-cp311-cp311-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.3.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
3454b79bbf5eed459e0cf9302a2077c2ad057447cba2974636c3216023538fb0
BLAKE2b-256 checksum
How to use checksums
2680d6bc79e453d2e994ae04bef78e27238421e69ec1ea694fc7bc72e7fc40bd
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.3.0-cp311-cp311-macosx_15_0_arm64.whl

Download URL symbian_platform-0.3.0-cp311-cp311-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
30f67f4799681ddd409442070cf6d35134d3e3857fedf878faafc205101250f8
BLAKE2b-256 checksum
How to use checksums
aea49d1ef4929857119aa1154ff089e99ba8593f90257184fa7a02a45a3ab5cc
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.3.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