Skip to main content

sqlce

C++ Python Platform License Reverse engineered

Ru README

Reverse engineering of the .sdf (SQL Server Compact Edition) binary file format.

Analysis of the format's internal structure based on decompiled SQL CE components. The goal is to provide a cross-platform, runtime-independent implementation for reading .sdf files.

Intended solely for interoperability with existing .sdf files. Does not contain any original product source code.

Browser version (WebAssembly, runs locally - the file never leaves your tab): boykopovar.github.io/sqlce

  • core/ - C++ parser implementation
  • bindings/ - Bindings for the C++ library to python and wasm
  • python/sqlce/ - Python API
  • research/ - Experimental scripts

Example

pip install sqlce
from sqlce import SqlceDatabase

db = SqlceDatabase("example.sdf", password="secret123")

for table_name in db.list_tables():
    print(table_name, db.table_schema(table_name))
    for row in db.read_table(table_name):
        print(row)

The current implementation supports reading the list of tables, table schemas, and table contents (including password-protected databases). Supports removing file encryption (using a password).

Testing

pytest

The tests use a locally installed SQL CE engine (via ODBC) to generate .sdf files containing predefined data and verify that the parser produces identical results. Therefore, the test suite can only be run on Windows with SQL Server Compact 4.0 installed. Test files are created in tests/sdf/ and are automatically removed before and after each test run.

Documentation

Documentation

There are examples (see docs), golden tests and stubs with docstrings.

Code Style Conventions (Pull requests are welcome.)

Metadata

Release files for sqlce 0.3.1

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

Source distribution (sdist)

Source distribution for sqlce 0.3.1
File Size Uploaded Provenance Actions
sqlce-0.3.1.tar.gz 120.6 kB With provenance Details for sqlce-0.3.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for sqlce 0.3.1
File Actions
sqlce-0.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for sqlce-0.3.1-cp313-cp313-win_amd64.whl
sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sqlce-0.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for sqlce-0.3.1-cp312-cp312-win_amd64.whl
sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sqlce-0.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for sqlce-0.3.1-cp311-cp311-win_amd64.whl
sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sqlce-0.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for sqlce-0.3.1-cp310-cp310-win_amd64.whl
sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sqlce-0.3.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for sqlce-0.3.1-cp39-cp39-win_amd64.whl
sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sqlce-0.3.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for sqlce-0.3.1-cp38-cp38-win_amd64.whl
sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details for sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Total release size: 3.0 MB

Release files / sqlce-0.3.1.tar.gz

Download URL sqlce-0.3.1.tar.gz
Size 120.6 kB
Tags Source
SHA-256 checksum
How to use checksums
04edac340e70c67180e4501def0d709c217ecb4f88fa10d758971cb7164086b2
BLAKE2b-256 checksum
How to use checksums
e954f84c582077556b63b882155339fec83582b9b91f3bae5233b34a43a57f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp313-cp313-win_amd64.whl

Download URL sqlce-0.3.1-cp313-cp313-win_amd64.whl
Size 215.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
91cb91fa15eeafcc60ad516ed3096db06d27bee64983834294183056e470795c
BLAKE2b-256 checksum
How to use checksums
72110b581dad5d54531c4882b77ae9ec61533d889548f4b87e2b2e34e44cc60e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 274.7 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ecfab90f31b0cb488b6e5d8b7e22a30ece370d408cf93c501357ae972efd7667
BLAKE2b-256 checksum
How to use checksums
e960da382b8e38bbaca97b43608d148071ca4962d6647eaeb7520a7b8da5b52d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp312-cp312-win_amd64.whl

Download URL sqlce-0.3.1-cp312-cp312-win_amd64.whl
Size 214.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
76ec434ce6e71bd4cec6ca085c4b1421a09bffb4356af662281bbccf1ec6c953
BLAKE2b-256 checksum
How to use checksums
f88bda5d0f3deec2cf036e4a652aca6cdd6ee93384e5ee0afd4a0556f4670a4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 274.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ae2a24edde9e053b2a070c48ad45c10f0740964f28f5add70f97d1d74062ff1d
BLAKE2b-256 checksum
How to use checksums
284248c792f79b7565dd1cc24659d7614b5f0689527280c1d6b596f0067853e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp311-cp311-win_amd64.whl

Download URL sqlce-0.3.1-cp311-cp311-win_amd64.whl
Size 212.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a06d2fc1d8da1d8219512e9e9142f1eb8452baabc22b2e34066eee84c37d4123
BLAKE2b-256 checksum
How to use checksums
e325732d94c9be9e644c202fc0c14ed2f357a7ae5e53cdb4f79da2692499cc7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 276.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
556b42e7fe14005e4dfc5af3498402c5822e47ae0607c44534500f58f5791e37
BLAKE2b-256 checksum
How to use checksums
2ab6d2cc1558f27b60e20c28f0c7754c767e563ae630fe6c27a414113f133f61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp310-cp310-win_amd64.whl

Download URL sqlce-0.3.1-cp310-cp310-win_amd64.whl
Size 210.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f915a0e3b69fe4fecc156167888d58851aab970ea8db564b69de767da95f3bd5
BLAKE2b-256 checksum
How to use checksums
63a95aeb082550beeec153ffbb15c5f0fb5b22c0da82a613c3ff29506a6d3fc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 275.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a4482b0f25c4162fdf1ec3bf0575e5f2fc39fe5a935a74ebd604ce764e395068
BLAKE2b-256 checksum
How to use checksums
953659af0668f3b5964cd01bf56c48a4fb2d69a853eca597324a50fbc24a949f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp39-cp39-win_amd64.whl

Download URL sqlce-0.3.1-cp39-cp39-win_amd64.whl
Size 211.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
330e36f0f66839b8f820ff1e103bc752955801d13b2cdf582636259baa1cb778
BLAKE2b-256 checksum
How to use checksums
e606e0e5a144e4ac156de03dbd8566e2b1d39a7ce20bb93e1082cb6796852379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 275.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6e79a4b2c9cd266d68389cece7114792fa12a487cb38781566652e2ae283e5ea
BLAKE2b-256 checksum
How to use checksums
87297e587c852ae25c95b4f2137ea5dab50883205ecbe41c46a0536a3e30d9e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp38-cp38-win_amd64.whl

Download URL sqlce-0.3.1-cp38-cp38-win_amd64.whl
Size 213.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
070ec175cdc9a7041bfaf0cb68e4793d289461d788913a066e6066e566425011
BLAKE2b-256 checksum
How to use checksums
9b5e7592037091e23cc06710ff3ed2ba8c3bacb341a5a85246a94f50802c5637
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 270.5 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
217615854e685b4eb5f230327c2000162c1af51ad5f3df1c8fad45c06ed8d2a1
BLAKE2b-256 checksum
How to use checksums
831828ade4fa4a6108f8ded2d54b145a6c8f9d4175af3a2536b758411f6176cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Security for sqlce 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for sqlce-0.3.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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