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 other languages
  • 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). It is implemented in C++.

Reading encrypted .sdf version 3.5 files is not currently supported (unencrypted files are supported).

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

The documentation is currently concise but includes usage examples and tests.

Documentation

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.1.7.tar.gz (70.7 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.1.7-cp313-cp313-win_amd64.whl (185.9 kB view details)

Uploaded CPython 3.13Windows x86-64

sqlce-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlce-0.1.7-cp312-cp312-win_amd64.whl (185.9 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlce-0.1.7-cp311-cp311-win_amd64.whl (184.0 kB view details)

Uploaded CPython 3.11Windows x86-64

sqlce-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (233.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlce-0.1.7-cp310-cp310-win_amd64.whl (181.5 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.1.7-cp39-cp39-win_amd64.whl (182.2 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sqlce-0.1.7-cp38-cp38-win_amd64.whl (182.0 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: sqlce-0.1.7.tar.gz
  • Upload date:
  • Size: 70.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7.tar.gz
Algorithm Hash digest
SHA256 0f4db10802db5141b2808f41c851652cef29b1411651959ddc05a4b19d4bc19c
MD5 048dcb1814a44f7e9d770adbd8109cd1
BLAKE2b-256 b52a454cdf171a3367b0d0671653ab1375c195e6b98ccfecda5f695b2a9543f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7.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.1.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.1.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 185.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 18bbf34be9d24bde4dbce5c7b89c51513cfd7ae6647a2cf775e515f86ea3c744
MD5 c1dcfd88f64bee46027dd1bce22d358a
BLAKE2b-256 014cb1bb5ba622d8e4d8362c1264f5668e462c5f8d185be3c5e1455e91f739a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8f61b433447b7313e727f26d64c0d8894d10da0b6614956a114d1234ee653f1
MD5 f4d82b5b7ace7cdf21637da852a88386
BLAKE2b-256 a7b9c9be384b209f56617a02e55612b87a4ba7a7039703a2c7a47c195bce5615

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.1.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 185.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87890499e0c0105cea886ae67aa5ef237496e7e9763efe61588687c942f151c5
MD5 06721de7605cc1a4ca796dcaa350a7a2
BLAKE2b-256 217f75f0bcf21d98f5c6a5c2ad29efc214d6c531a6b174a96bd0ff3e2b0c78de

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a76f22ee9c85fa7d25a5a30ede77cf30dd963cf4fd742d800343eb5f1877436
MD5 dc8ba3b10de72b409681c9e18a2bff3e
BLAKE2b-256 d4c39dfb9e24ca29f91107f25e1be5fc95bcf5104a86751fce8537d68a978db4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.1.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 184.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9a226a1e82c8dab745be9652468cce3b714173f5b7eb4fee09fe7dd74cd286df
MD5 192be7c1b2ef9d565bcd31bcc51d6a55
BLAKE2b-256 881133e3547536a0f3852c2678555add241bc7ab8fd4c7a931f37c0faf86a136

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 887b87f8770ce6fe1e2c87d3ffab0800aa13465c0d6bfb62e59f77ddeb1371e4
MD5 34d3763f2072e28e5afc8371473a4ea7
BLAKE2b-256 20859cb32de546077c7dc6c956a3a4d38c38c1c82a3c94147974b3f82d0fb295

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.1.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 181.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 328b6a23161eb1c84e1983ea3fe4e03a07f67d211e283bfdf694906f267134df
MD5 c6ebdea0102257323a7b3a8b8467b6d5
BLAKE2b-256 71bf4161ae49c524248b4bb3ab740031cba33c9004def95ad7b2988a0ccc932c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d049dcbc33d6ef0bc27a2b7b90bc33327b2c6ac3a1d6584b4eae877f707d2ae0
MD5 70a64d511d4ab01122b7a2f627509429
BLAKE2b-256 052f0dd4c382c73b340fac3b5243cf26cf5d168a8b37d716538ef055ee483433

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.1.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 182.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 59e9c42e0b370d84f8c0c0ad64f99235174d59627ca68527bd589bb3e0af1b2d
MD5 f93de8e154743eb363e5467a700bf7c3
BLAKE2b-256 5e51473e87544cc32e079d97dcf6d0d0e83b7db563c5d5fef26d43c9fde558ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f51bd0793281b1463f3de1b54e51d35eca9d4dd47406ec87f5ad0eb0af86a46b
MD5 de2f35444543b98377eacd21b00de191
BLAKE2b-256 884612e3b2b91c8f8a3818aa450f32817a33894ca2b6fb951a9dc5d7df01cba1

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sqlce-0.1.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 182.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sqlce-0.1.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4fc598206e3cb38fcda30f1ea6c8057bd487a941f2d4859ff7985f10ec0a8729
MD5 073b0c9da24ddad4cb6810f0f6b513ec
BLAKE2b-256 628ab92b51bbe88eb20471af34e119a86a89b89ef998152b62b70af0fc89b939

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlce-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cb855dbb766c3ec6f36680ffa0137927a70cdf657ca2c6baed0b3709c0e7a74
MD5 4b3d4e3e5e8062d53d705bfc02cb52f5
BLAKE2b-256 ef9bca0dc574c3d69e33187b0ff8b9fe2b5187c1ce99525288a0a7427eb97da7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sqlce-0.1.7-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

0.3.1

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

This release

0.1.7 This release

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