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 SdfDatabase

db = SdfDatabase("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.6.tar.gz (69.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.6-cp313-cp313-win_amd64.whl (184.3 kB view details)

Uploaded CPython 3.13Windows x86-64

sqlce-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlce-0.1.6-cp312-cp312-win_amd64.whl (184.3 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlce-0.1.6-cp311-cp311-win_amd64.whl (182.2 kB view details)

Uploaded CPython 3.11Windows x86-64

sqlce-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlce-0.1.6-cp310-cp310-win_amd64.whl (180.1 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.1.6-cp39-cp39-win_amd64.whl (180.7 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sqlce-0.1.6-cp38-cp38-win_amd64.whl (180.6 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: sqlce-0.1.6.tar.gz
  • Upload date:
  • Size: 69.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.6.tar.gz
Algorithm Hash digest
SHA256 e00d08adafb738388a8e7c2baa583e57425bbe1a94e3179e240c046d573006c8
MD5 faa9ed328da812dc9494a15498b327e9
BLAKE2b-256 1ccfa5806cb70fad7a4f15faa7034e445c37c5c2e3f940da93ef8cfe75832f11

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 184.3 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e2e517340593c2b48770c80de8b85fd6bcb3ca56e5f932b76a8736a5b714b30f
MD5 182196b48d38ebe7a336b78094e19336
BLAKE2b-256 bd45b139b4792b488c24fd1dc449699197e589f2f27a2e07e58f046382803003

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a3957035207506faf743875915ae0ac05d40ab86cb71db32e78466749236e24
MD5 82ec4d63a912735e157473f383d8a24d
BLAKE2b-256 f6dd38560efda501d29c0d1d3d1f9f4a68ccc411b66cb041b549208babc359b8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 184.3 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ec22334b88aa5fc2a3b81c6c31999628ea4ccf39e3c5573932b391d9ee819325
MD5 36f07ab78dda9a995ff4d83be31a4072
BLAKE2b-256 4a6d53531e5c9826e13c50f64a78a85a4081bcdc51644eadf9198dce93dc1bc3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73abc896ed029e54cbf44169dc7ffd6ed79e499dbc56ed909acec82e436215a2
MD5 f21398d4896359a9b702e519b7e5e4e8
BLAKE2b-256 fe367865602b77a0cacfb7046a5587f109d4a7d938aed0f05dd720091b931260

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 182.2 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bfe3ac6f091c9672d2957f660a99d2da847eed88dfa2a54408efea776ae878bf
MD5 0082806c93ff221174c6a546916c6d5b
BLAKE2b-256 8be64108f13c69db32e141c88bd672b099883b77c069a779100e2a67cec0013f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15bc562e9badbabea47b7fa94b6a8d6e7737bdc535c4e1584b012f8d9c1b8362
MD5 635633ebe1a5a10dc83ff3504d6a6b3a
BLAKE2b-256 015dae2ef638652297dea8ffea1cd94d69d987ff3c42ceb567d9b278f15a3e8b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 180.1 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a1747a1d5bb9049f8eef3472a76fc101b247419a010b436f1f5e70bd48ebd321
MD5 2602c641412f1adeafeb4c34866aed95
BLAKE2b-256 42ac0bd9ecf6ff6d165fce3707ef48988edd7ee3753724c8c0bebf5531943c07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1c20df9fed2a8b961afaddf47949998cb91e2d9fd63c0205ba17732634e7185
MD5 7568466cd46a5381d107c1bb28bad3de
BLAKE2b-256 2a7bc6f63cf4df8613159b81ac18931a592483e025ea62a2344ebae2f9516e08

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 180.7 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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 74002432a822e15ca0ca443550f20c353f310571a8988ba9f0f585444be1fde8
MD5 4e610265331872dae0eae8192e4a517c
BLAKE2b-256 48bc8612fda0b1b15c076d3461c4d4c870d3899e261edb875aeade779f9ba5bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03f1764cf6df5b7e2b4f877cef96aa715edc71d02108565b09ab16d04428c459
MD5 bf8681910661a075b5f0e2824bbf8459
BLAKE2b-256 4442ea63d510e9eaf7bb1606d7e5638e8c5ea388463198d81f44fab2d041bad0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.1.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 180.6 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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 23f0f27814c5ab7825e961be41c1f3d2120c06f6d024c63e7981485afdbbab8f
MD5 1275e56f1009cba4dae1437b25ef84e7
BLAKE2b-256 2f24d67f6895b5fbc37336593be65882f638a915fef8ee31cc032794dc42d621

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01b2920b61be22d6b089c9f7ba1dd2059aa26bfb2a8cbcc9057f43a20ddf5b4b
MD5 44f00cf3c6a03cb8d165e8e739003373
BLAKE2b-256 89b13925ab656a414fcf8121bd02a3a3cecbcd34af8f2f97ccb09b8a5ca9347d

See more details on using hashes here.

Provenance

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

0.1.7

13 files

This release

0.1.6 This release

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