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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlce-0.3.1.tar.gz (120.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sqlce-0.3.1-cp313-cp313-win_amd64.whl (215.0 kB view details)

Uploaded CPython 3.13Windows x86-64

sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (274.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlce-0.3.1-cp312-cp312-win_amd64.whl (214.9 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (274.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlce-0.3.1-cp311-cp311-win_amd64.whl (212.8 kB view details)

Uploaded CPython 3.11Windows x86-64

sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (276.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlce-0.3.1-cp310-cp310-win_amd64.whl (210.7 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (275.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.3.1-cp39-cp39-win_amd64.whl (211.0 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (275.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sqlce-0.3.1-cp38-cp38-win_amd64.whl (213.1 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (270.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file sqlce-0.3.1.tar.gz.

File metadata

  • Download URL: sqlce-0.3.1.tar.gz
  • Upload date:
  • Size: 120.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1.tar.gz
Algorithm Hash digest
SHA256 04edac340e70c67180e4501def0d709c217ecb4f88fa10d758971cb7164086b2
MD5 e07b75b5f2c6b69dcfba0a3dd8ee5488
BLAKE2b-256 e954f84c582077556b63b882155339fec83582b9b91f3bae5233b34a43a57f3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1.tar.gz:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 215.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 91cb91fa15eeafcc60ad516ed3096db06d27bee64983834294183056e470795c
MD5 da90b38c3fe9d4620e70dcd54e048b62
BLAKE2b-256 72110b581dad5d54531c4882b77ae9ec61533d889548f4b87e2b2e34e44cc60e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ecfab90f31b0cb488b6e5d8b7e22a30ece370d408cf93c501357ae972efd7667
MD5 d8074ac02d6fc4e9e45b48a2db58aa33
BLAKE2b-256 e960da382b8e38bbaca97b43608d148071ca4962d6647eaeb7520a7b8da5b52d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 214.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 76ec434ce6e71bd4cec6ca085c4b1421a09bffb4356af662281bbccf1ec6c953
MD5 22891cb1ef2dbeeea1078edaf9a4d925
BLAKE2b-256 f88bda5d0f3deec2cf036e4a652aca6cdd6ee93384e5ee0afd4a0556f4670a4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae2a24edde9e053b2a070c48ad45c10f0740964f28f5add70f97d1d74062ff1d
MD5 0f8bee893d578b186ad588067a250125
BLAKE2b-256 284248c792f79b7565dd1cc24659d7614b5f0689527280c1d6b596f0067853e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 212.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a06d2fc1d8da1d8219512e9e9142f1eb8452baabc22b2e34066eee84c37d4123
MD5 58e12e15bfe5eb238a21743d3acefa14
BLAKE2b-256 e325732d94c9be9e644c202fc0c14ed2f357a7ae5e53cdb4f79da2692499cc7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 556b42e7fe14005e4dfc5af3498402c5822e47ae0607c44534500f58f5791e37
MD5 cf72a2603e9436069879913040274f20
BLAKE2b-256 2ab6d2cc1558f27b60e20c28f0c7754c767e563ae630fe6c27a414113f133f61

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 210.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f915a0e3b69fe4fecc156167888d58851aab970ea8db564b69de767da95f3bd5
MD5 94e89e8b49f124440f9fcd72996ccb0a
BLAKE2b-256 63a95aeb082550beeec153ffbb15c5f0fb5b22c0da82a613c3ff29506a6d3fc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4482b0f25c4162fdf1ec3bf0575e5f2fc39fe5a935a74ebd604ce764e395068
MD5 e530a1e463f2a899f16b1824c2c32809
BLAKE2b-256 953659af0668f3b5964cd01bf56c48a4fb2d69a853eca597324a50fbc24a949f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 211.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 330e36f0f66839b8f820ff1e103bc752955801d13b2cdf582636259baa1cb778
MD5 c4abec18371d1e128ba0a9b55196b27e
BLAKE2b-256 e606e0e5a144e4ac156de03dbd8566e2b1d39a7ce20bb93e1082cb6796852379

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp39-cp39-win_amd64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e79a4b2c9cd266d68389cece7114792fa12a487cb38781566652e2ae283e5ea
MD5 103cdb3158c78e41a6a9195056de150e
BLAKE2b-256 87297e587c852ae25c95b4f2137ea5dab50883205ecbe41c46a0536a3e30d9e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.3.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 213.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sqlce-0.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 070ec175cdc9a7041bfaf0cb68e4793d289461d788913a066e6066e566425011
MD5 3613566b949abf1bc4f70c59a02bb160
BLAKE2b-256 9b5e7592037091e23cc06710ff3ed2ba8c3bacb341a5a85246a94f50802c5637

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp38-cp38-win_amd64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 217615854e685b4eb5f230327c2000162c1af51ad5f3df1c8fad45c06ed8d2a1
MD5 4dfa539056a190177f6c910424535c59
BLAKE2b-256 831828ade4fa4a6108f8ded2d54b145a6c8f9d4175af3a2536b758411f6176cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on boykopovar/sqlce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.1 This release

13 files

0.3.0

13 files

0.2.9

13 files

0.2.8

13 files

0.2.7

13 files

0.2.6

13 files

0.2.5

13 files

0.2.4

13 files

0.2.3

13 files

0.2.2

13 files

0.2.1

13 files

0.2.0

13 files

0.1.9

13 files

0.1.8

13 files

0.1.7

13 files

0.1.6

13 files

0.1.5

13 files

0.1.4

13 files

0.1.3

13 files

0.1.2

13 files

0.1.1

8 files

0.1.0

3 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