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

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

Built distributions (wheels)

Table of built distributions (wheels) for symbian-platform 0.1.7
File
symbian_platform-0.1.7-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.7-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.7-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
symbian_platform-0.1.7-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
symbian_platform-0.1.7-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.7-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.7-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
symbian_platform-0.1.7-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
symbian_platform-0.1.7-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.7-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.7-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
symbian_platform-0.1.7-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
symbian_platform-0.1.7-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.7-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.7-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
symbian_platform-0.1.7-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.7.tar.gz

Download URL symbian_platform-0.1.7.tar.gz
Size 9.1 MB
Tags Source
SHA-256 checksum
How to use checksums
4444785de45ff65b2cab6813da873ea165ad2967f62983e520d2193492f0bd47
BLAKE2b-256 checksum
How to use checksums
21d89c40870175dc4608c159b9297667d23884fbe08205122ef2980dc7b7f7e1
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.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.7-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
a10ab4e305a93ee82e872f9bca1dcbff92968bc34ebf63226bbcb3be1ad58b74
BLAKE2b-256 checksum
How to use checksums
096b54e0c5842da6c84bb86ff5ddb87303c8ba753f013b6a79fddd10ee1bae05
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.7-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.7-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
c79dd7686168a5cace94980b928c7b59c8dc0f7afc752439ca2a5c105a15b7c7
BLAKE2b-256 checksum
How to use checksums
82804b0570128ec1920cd353b85db0e281c7138bef2d4a175e2990e0d83ef00b
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.7-cp314-cp314-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.7-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
a2266985945e93d14560dc4f405bdb769913ab250333a34f332f455d7387b190
BLAKE2b-256 checksum
How to use checksums
a9587880420c77ac37e467fb50c2e6019b7dde7479c8bf2954670683df816835
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.7-cp314-cp314-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.7-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
6878d991aceb9ef48af04af5d18aa53860258b915d7b78819a662182e099f2f7
BLAKE2b-256 checksum
How to use checksums
02735af3eea58a80c726d14f7ae4ddd55765a2172bd732c8a507543b57c217bd
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.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.7-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
81ed3a789beb078fb87900415e8bfb5c9f9c998699d6a93bdd8d26fd10cc219d
BLAKE2b-256 checksum
How to use checksums
cbefef4df8ee8ac81ee6ccbaed779c5eb182077c4e266af0073f37a30328ed5f
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.7-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.7-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
93fdea7d8cc01f004532363efc0149baf8310af34fbc5a14e1d072fcdc13143d
BLAKE2b-256 checksum
How to use checksums
ea0ca932f8d79e3e2aadb66770c3f5823ff0e77c47ed2d163ee63ce63fc52101
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.7-cp313-cp313-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.7-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
abbe96157e3a06339210001af80d33b4ff58d4d4b0a64734caddd098527da8db
BLAKE2b-256 checksum
How to use checksums
560a033f35c1ecef43e98add290af5f7f7d4040d116049f93ae61b39e06c02c7
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.7-cp313-cp313-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.7-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
d38acbdd7e5bd1b8005dcb50faba0011ab6029bc5616c876727c96051e792ccc
BLAKE2b-256 checksum
How to use checksums
086498c4b58ab0a5d1f1197348be13df013ce58350952c5bd76565201a82b900
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.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.7-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
4225006f4fe2887207e67c103d8c14d6c19693f1f8264190dc0992b4b2129c02
BLAKE2b-256 checksum
How to use checksums
067d3af45410c92c3b3d82c7cffcaa55a06df20fcae9e299368bf2c56dacdc71
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.7-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.7-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
c0278ab6da2b4fc3a99101efd2d01beb00ddad2e8a3b5f0e92fdc63bdef2d2af
BLAKE2b-256 checksum
How to use checksums
3c8f9d4de8ff4d443589babf5ac00aedb4d07da5a858833863cd3ca6e99d630f
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.7-cp312-cp312-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.7-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
b8195de198262b2aba25895b9b8c960e5dc8d54c32769e709c33d1586d087caa
BLAKE2b-256 checksum
How to use checksums
e598a519bc88c94b092eaff58e75f31396d2dca345728b25d6d36b39e0e21d7b
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.7-cp312-cp312-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.7-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
5ae78c877c3fb55195cafdcc94cb8035f259dd76a838e834a985b8a8ec47ef1f
BLAKE2b-256 checksum
How to use checksums
cd487d0dc6e4182b07eec02afe5b28f29dc502982df28962d185140500f6ad9d
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.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL symbian_platform-0.1.7-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
2dea774f9284ab0ec28ccb887863ef780259d845e2f9eb5c524d0c4fb51eba8f
BLAKE2b-256 checksum
How to use checksums
005f85c01667a650af5dad97b5f8854996a913b3058630440b04b818f9cece41
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.7-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL symbian_platform-0.1.7-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
ea9b940e779318fef3427bb7e56a5b3e6712fda54b5fd7dc1a632127f0532ae9
BLAKE2b-256 checksum
How to use checksums
bd323c7b4c34656c0cdc77022cf706bbfc92895ca31e7a2764bf55790a9db640
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.7-cp311-cp311-macosx_15_0_x86_64.whl

Download URL symbian_platform-0.1.7-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
df726959e11539152c6f2caa6d25f47baed70e11022d729de8cd32cad9c1d1df
BLAKE2b-256 checksum
How to use checksums
b618aa9e1e91a71601a66e4116931eb10b29f15ac2bac1eb1231482dbfb2f4f1
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.7-cp311-cp311-macosx_15_0_arm64.whl

Download URL symbian_platform-0.1.7-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
5ea98cfa50883a03940b755113bbd8fc329497061322ab8c5fce9388a8d731b2
BLAKE2b-256 checksum
How to use checksums
acdb1103ce46949755664a2392512c92bdac1492b4788992f53945fa85c67bb0
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.7 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