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.9.tar.gz (73.1 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.9-cp313-cp313-win_amd64.whl (186.8 kB view details)

Uploaded CPython 3.13Windows x86-64

sqlce-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (236.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlce-0.1.9-cp312-cp312-win_amd64.whl (186.8 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (236.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlce-0.1.9-cp311-cp311-win_amd64.whl (184.9 kB view details)

Uploaded CPython 3.11Windows x86-64

sqlce-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (237.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlce-0.1.9-cp310-cp310-win_amd64.whl (182.4 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (236.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.1.9-cp39-cp39-win_amd64.whl (183.1 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.1.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (236.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sqlce-0.1.9-cp38-cp38-win_amd64.whl (182.9 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: sqlce-0.1.9.tar.gz
  • Upload date:
  • Size: 73.1 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.9.tar.gz
Algorithm Hash digest
SHA256 bdcf0ba52e4d015ff116d18111d71e7764e28303a63e6219b0fd4328d4f271bb
MD5 d2a925800fbb959ea5041cddd1ad95d3
BLAKE2b-256 163d81e81ac69fdb029ce02ad3beeffdc28749f1d72cf1552cb517ee15011e11

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 186.8 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.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 51c878a1e93427189445ee9247314f9ebae0bf30de95cb99d757482f2c8c638c
MD5 6c2cd3aa14453f137486a646b0b3f3a2
BLAKE2b-256 312ca6f02795666e41499710a7515ffbfd0c999b59bd531ae20d21973f4bc572

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c60ebc2b964410043368f41974e61207203bec2a671dd8d13f194c1e19fb00aa
MD5 d6eba1772cf5d9f54398d68aa63e90e0
BLAKE2b-256 1b8ce644e63f836c11b0ee61953aec5be195244fddf62a090c52c73d69f43231

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 186.8 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.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b08f2d6391a4bf9ce754cca62fce3b060f8ed66b9c091cc984d26c33c7b835c1
MD5 c25bb523f8ce43da073e8ffb19676a25
BLAKE2b-256 3bad875d0a6c74cc8c9340d981a4e2a3818490fb7e66c68e67ed57622095d793

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 600969d8a89ca432938beb955f2d5b25c551103ffef3967d3d3e176c57b998bc
MD5 e88f4374bf19de5bc0f7e9286e3d1000
BLAKE2b-256 eb04ccd2208d4c7e8bde025142de2d36e4626fda8a95f867627ebc63315434ad

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 184.9 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.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8ef3f9e5ea4dc3ae3e73a431d7f3a4d49417a0565adbd1598f2a643e25c6efac
MD5 acd8350793914609e990eee5225fbd3e
BLAKE2b-256 0d3e9f8a6b59975560406e8f935fe5401af9278d6c98d5f7eee3f0fb3045e76e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 380027350b710163f9b5636ecdefee3ea70a1d94522ea34a10f049a5b3365cae
MD5 d9044bd05998bad16718d8c5ade0e08b
BLAKE2b-256 6bc20c87076e3ebdbf08ef54619509906b7fa9e1a69def9601129b07b3a439bc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 182.4 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.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e506d7e4e98de9cb164753acbe2e0c563f69df6d7a2fb5894299313cace0a285
MD5 16bc7298cdb167cbfb189f348e3e465c
BLAKE2b-256 0bf5b38c76e2aff21d452fe40c4f10a796f8491b7ee161c0ec1915314d690665

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f92f6889438162529877ff807f1bb4a8b127abd8814b48b01314d81247c93b3c
MD5 752770dd459659ee1050a3f06c2da98c
BLAKE2b-256 482dae07e2338d75cd5eb71662a329c665293d8fe1eaf1cca9c095bcd604a62e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 183.1 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.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2d257066742e631c2f9ee46dd00882e4780ddd2a7a985504824e14d4b9a462ae
MD5 0906b66397482002e2b2515012b98a57
BLAKE2b-256 bcf87bfb27861d68cda1932c6c9af6e92e4b9f8168f90b908b0250e756f721fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d70b40b90f63e5edf7c595a9792a1770fade82d8299ca8222551dcf5287ed7d
MD5 81f6d6189351e5cb391d4414edf69c95
BLAKE2b-256 7d01706e112262731ad8e9b28c3391279124134506cec9ce65cdff2652c8ba1f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.9-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 182.9 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.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 eaef3d39a102c736d981508898c78df475947440da0a1b8042ae13e81f4c171d
MD5 a5fcefc39c7256242133ef43ff892339
BLAKE2b-256 7c6fbc3153ab1fb7631cf569dbb971d3e8312fbf418d4978f87c656fe72f758d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38c1ebe3d9c0c7c08752ed0ac41db0f4de2fabf883b4a17d8f877fac99c08f55
MD5 b5aa5d7de663217ba754dd79c4b0ecc1
BLAKE2b-256 e826ad782e7d18255a3b4a5dcfe961a18896ac5f05bf21f7856e3cf0eb9cdb5c

See more details on using hashes here.

Provenance

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

This release

0.1.9 This release

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