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.1.6

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

Built distributions (wheels)

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

Total release size: 71.7 MB

Release files / symbian_platform-0.1.6.tar.gz

Download URL symbian_platform-0.1.6.tar.gz
Size 9.1 MB
Tags Source
SHA-256 checksum
How to use checksums
c083acd0cbc0d33cdac610dd9a476595db1953c57ec59f72387dcb574590bf99
BLAKE2b-256 checksum
How to use checksums
d89825806b40ee8247cbd12dd2c59197dadf19130cb3fb10c320890f3a371994
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.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.6-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
41557d831f5e454800b19b7395078698fb32a4e9f622ebf2f8d066e48a34d645
BLAKE2b-256 checksum
How to use checksums
a2ddb812d12b497291fb3fc7243ff099d1e9a9c7ee9b5337011052bf3352d73c
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.6-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.6-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
4c778e5d55006ca4d40e2634d2ab9f549ecde23e7d84634128a126c3be6930e5
BLAKE2b-256 checksum
How to use checksums
b4855cd4460b931cbb8ae53ed6a1561113ffae0ff8debfeb49650576a3810320
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.6-cp314-cp314-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.6-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
73233121e25a668873e5afef642a13147766090734214c773288fcfa62020f8a
BLAKE2b-256 checksum
How to use checksums
ddec47aa27013369e41b0514dba6d1234de5db5e52555b943b234644b1f9aca2
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.6-cp314-cp314-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.6-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
ba262b62509cc1de3b97a281333b036a1154efba553383538eb2ee8459a6f83b
BLAKE2b-256 checksum
How to use checksums
1c9d29e9e88bec339076f5ed6a1c64bc76256b06f4391987905cb2400e0146ae
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.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.6-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
95993855ad715173ecc4e66909eba6d720816af210f69c54aebe32e5f966c39c
BLAKE2b-256 checksum
How to use checksums
abba0142dc63ea106744a24582ff9f15d5ff5113b1b52a71c2f14facc9ea2e90
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.6-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.6-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
df0624ce8fdfc2a9d7824869b6a8882efdb2da6d64729a4be79a24deecf0d926
BLAKE2b-256 checksum
How to use checksums
e4d60f40ba39057160d381bd539fb0c2455d00e0e9fc5e6e8e3d6ff7ec833ad0
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.6-cp313-cp313-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.6-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
45d88548ee78b231621ff79257c9549d4c83d047cf5977a5278fd828b9cc98e6
BLAKE2b-256 checksum
How to use checksums
7a8fa049b2eb0b2b348dd7c96afac09f97743d0200a279fc39edb0f81b67b78a
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.6-cp313-cp313-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.6-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
296de8a4fe2ea943dff453bbcbc5315b5cb26042aa48843f90550c6949f46fc9
BLAKE2b-256 checksum
How to use checksums
67b330f8ea8fa347ecda8e11ee7a14ce253c8323a09656d30cec4ce9b124b63e
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.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.6-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
217d8e9aff042206f52012cb174fcfdc2b8f18d8ef816c7c3a5cf3485785f085
BLAKE2b-256 checksum
How to use checksums
5fa7629ab42ab68b0159a2d9d213c62540193fe0647933402df8e40d3ae215ec
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.6-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.6-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
d4a5af1ff27c0720f8afd2619ef4af52eb85ee58d6c86a6560d554f3c7082e7d
BLAKE2b-256 checksum
How to use checksums
666728102fc2d26be096de77b6100740410ab8301dc0057d41f1839b034c0da6
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.6-cp312-cp312-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.6-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
73842fef89b2fbf546f3bf1be88efa990c1546c77ede2f090bb499a6032ca414
BLAKE2b-256 checksum
How to use checksums
3d67214deadf20cfcfcad06ba594f90dc849bfa1704f08e65195d0aaf8b7a248
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.6-cp312-cp312-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.6-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
170ab0cd6ff72eda3ddc0d98c9ca9df01b0ec0f76ddfc5be7dde8de58565a320
BLAKE2b-256 checksum
How to use checksums
bcd126fde213c40c2c750decea7a0bc43193662ab575e2638e735e2d0e730fac
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.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.6-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
3cbd875a1742bfb3a5438af4a4372c6778e9c66d10356f257248cdfff6edd268
BLAKE2b-256 checksum
How to use checksums
57e5ae41225438017395df8b0110a9b6f3d183dc5a5e9b0b404a6377ca6ea79e
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.6-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.6-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
c9190ca1f10ded8922f3e0b0f11e273a7b5d8368bae6a0f6e51e5296190e0b45
BLAKE2b-256 checksum
How to use checksums
488c433cce0f017820dc99c591ef3613ee565428bd80f7710830dd53c23ad707
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.6-cp311-cp311-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.6-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
f883f819ed7e0048061da8b556b8448e154c0bcc83859483809e2fd922e06190
BLAKE2b-256 checksum
How to use checksums
d10c9d64fdff95ea37eca898d17ef970294159b47f1d110983cf57eb41038196
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.6-cp311-cp311-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.6-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
f7fabebca73ae3e65ad9f54d411bb8ae51ce5c44f3175a7c10524e417466176b
BLAKE2b-256 checksum
How to use checksums
2136b21703487302e6d75f3ce5a6b28e8e7dc7882767a041e14f36d03489c202
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.6 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