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. PyPI provides Python 3.11–3.14 wheels for macOS/Linux on x86_64 and arm64, plus a Python sdist. GitHub 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 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.2

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.2
File Size Uploaded
symbian_platform-0.1.2.tar.gz 9.1 MB Details

Built distributions (wheels)

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

Total release size: 71.4 MB

Release files / symbian_platform-0.1.2.tar.gz

Download URL symbian_platform-0.1.2.tar.gz
Size 9.1 MB
Tags Source
SHA-256 checksum
How to use checksums
d43b0b081d63af3a40b6625873237f9c8bc7a8395553b10758a5ffa591ac73b9
BLAKE2b-256 checksum
How to use checksums
5615e579edc51e18a7fcb3d533f0dfd8b54b01b2ca400e1b9d7f6f083d07e8f8
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.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.2-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
d776c23ea1add9686f5da73476c192574a789624470ea3572320cb198fe429c5
BLAKE2b-256 checksum
How to use checksums
44038e059d0e5c1a941c1d4386ebea9feb381d175c3a6161ab09576a96e43699
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.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.2-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
fabb4562a89ae8909e10676e8946c512edbd00a532cd3bc3d4759e30f7ccad8a
BLAKE2b-256 checksum
How to use checksums
c0a3dac0beebdafaea4445c9b87cdf987a7d9e06acfec32c870974fcf308a77f
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.2-cp314-cp314-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.2-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
a3f33a9536b5bec8647c89c0fe343069d54e4b393de6d5e0216bbf09b9c6b04e
BLAKE2b-256 checksum
How to use checksums
22af270e1e116f3da28a963d61c9a6ed236d3816b4d5d6c33bb4b82d468a9e17
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.2-cp314-cp314-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.2-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
24368c0df7c2fefde79ae99c51985fbb968943a524b9288fd3b7ecb554f710b3
BLAKE2b-256 checksum
How to use checksums
5c968f590ab6b43b2e5a7cbf53a9de0e2f9b7ef7cd76f42a8dd1c0866a17e84e
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.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.2-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
56c042bd5f5bedf69aa06261785421a64c55627fc8f74c10919a42d068e7b58b
BLAKE2b-256 checksum
How to use checksums
f203131f42b467f995880d339bfbff8f654c94e10e667fe18452b46ef0c83877
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.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.2-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
0cb68afb55e59340f10e96809e0ddfa97cb8a77c21e1fc66812f259e71785659
BLAKE2b-256 checksum
How to use checksums
836153fc3a71ade3e4e6663efb1f5c4de177a9381b8b054ae6cdb0e86e24a761
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.2-cp313-cp313-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.2-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
c8e6e251b421c94c31b4aacf3c990110c1e7c8b1f496185ae64450d863f9eac0
BLAKE2b-256 checksum
How to use checksums
c99694f6af0636ece2216b194ef15435c8e36ffcccfa0e563db55cac4fafa775
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.2-cp313-cp313-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.2-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
f28520c539e486a4840878ab9f83ccdb51b2b5f5e200ca1e1b951d6e34432cb8
BLAKE2b-256 checksum
How to use checksums
d0a008ec751c4ee7aa64f08dc5dc8b694a4343537b5b384289523c1bda132eea
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.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.2-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
3f37f0a5bde47051cbbf6431c8bd5809623513855eb23762f747b70960bc72ba
BLAKE2b-256 checksum
How to use checksums
83ee3f58db803b433be02784f3003379591b5f905b0daae47dac8fa25fe2ca7b
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.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.2-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
083514b9845125242ba5a2c2674d1590e8c62c0bc1230af5a1683345aec79b41
BLAKE2b-256 checksum
How to use checksums
084dac081f56e0bb5744a8b542b8f48ea6d22042ae65ca83a9a64156eca8af1e
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.2-cp312-cp312-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.2-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
3973339dca8bd331fc01993fa055485e4cf0bf5d0507aec2b01b480ce107d9ef
BLAKE2b-256 checksum
How to use checksums
41c262319c7ebf278fe3e6f8a2d938977c843bd9fd3ca9c7bbd42c1b6682a3de
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.2-cp312-cp312-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.2-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
b2467c5445d16d887b2b881215655d9b93258b68389b16c98b2035ee55ef6b23
BLAKE2b-256 checksum
How to use checksums
7141911d202aa5041508827c3fa63cac69071db2b6b49966813d97f199efe26c
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.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.2-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
a04d0f2897bb35cd44f63af9629b5da7dcab3b1751a2410f1e54a2f422fec0d7
BLAKE2b-256 checksum
How to use checksums
5c7bfcd3e8e8e93eeb9dc140f8af9c589dfb4e07f24e37056bac536fc4abc6cf
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.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.2-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
2afdbe499ac0f4a62550884cca172f53d414a7d5ff6c8974fc05c61e06c0f598
BLAKE2b-256 checksum
How to use checksums
d14af361d9c6a446ba308c57ee63da83f635e12510085b6b0095aa08bc840f6b
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.2-cp311-cp311-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.2-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
70cfdcb557d75bf94f402831aacf30126a8ba9e9bbe1c627467df69601245152
BLAKE2b-256 checksum
How to use checksums
af794464d0cfabd961aed69f2cfa78ef1a6d0bc9718c19df1d6db90e50efe0f7
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.2-cp311-cp311-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.2-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
0de2f51f644e6b5c0176e03ad55a10991f5714bd9bb0497f22a962a8d9977e08
BLAKE2b-256 checksum
How to use checksums
347d87ff22fe8160d0ab7a2c7e1c1570acaf1f1d681fce110df19d746fdd359d
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.2 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