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.2.3.tar.gz (86.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.2.3-cp313-cp313-win_amd64.whl (201.0 kB view details)

Uploaded CPython 3.13Windows x86-64

sqlce-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlce-0.2.3-cp312-cp312-win_amd64.whl (201.0 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (251.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlce-0.2.3-cp311-cp311-win_amd64.whl (199.5 kB view details)

Uploaded CPython 3.11Windows x86-64

sqlce-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlce-0.2.3-cp310-cp310-win_amd64.whl (197.4 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.2.3-cp39-cp39-win_amd64.whl (197.9 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sqlce-0.2.3-cp38-cp38-win_amd64.whl (197.9 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (251.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3.tar.gz
Algorithm Hash digest
SHA256 5145af3f6df4d4ca6cdaf1470f78d75e82fc567cf312d77cc4b5dcf5cb490b45
MD5 6a06126d5ab8414a92dee0d9bcc5287d
BLAKE2b-256 b250326d5db4b38057359f738e7cf6b6455c6f00b2ac0461f4240d37e13f6230

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bcb3cdf3360b1a9e08ef2abdf5bb9ad4b013f27a5c7df588f60cb66053cdc0be
MD5 dc1baa141b876d20c96d172a793dd753
BLAKE2b-256 91450c5993f5da1c530a07454dd9c40062134ee593beb2352c0b2640c55c949f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08fd9f09ca34a56afb0b03954a0bf290a5b902b79af4995f85e2f6d16493d03d
MD5 e57c62420a6f553aadc1dd469a0fb54f
BLAKE2b-256 aed4c18a1e81d5f6c1df39d487f63fe7b68531f7f8d7c9404132279b8bbbf96a

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 741c9d4974fb375803ca059c5dfc4d10b2d6224ad26ebf0ce4e3fbe0f5d11a28
MD5 287c1de28b30aa8d8f8bf92734cf85ce
BLAKE2b-256 f8ecc46528fc2d2c649fe9c7b2da2ff0751833742466de907857572fae064fb7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7480050d098e8a112fb6f7ecf94756022e7d449ccf68697f6be3a3b9abf5bf65
MD5 b2ea7727fa304403a15dfb943c9c6c28
BLAKE2b-256 0de352f4f0dba0ca472245d98f034b47af041291f6e8f3004655b7b4d7faa51c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a79530138c35ad514a7a94a016e9b1b19ab5df95e3a2bd4a3093fd1b4a5061b
MD5 56098c695013c69e930843991c43a1fe
BLAKE2b-256 a9cfd132cb6ada2328aa7c2b23a6ae4703d6b68399509466a9418cac1959c6a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ecc9a55c9ff05b92f7dfed444eef628151686d1db90c0ff9c43e75a0cfc2db6
MD5 7060be806c9f7280ee1624ac742d8a6d
BLAKE2b-256 9c2751325e5f41a8c9c0c78341b8d49d77a4f7a8047924bfff36d8be7e233433

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9fa63ce609a96d5db05d2c084d6fa6f49cb6e5778bf64ffc5bde576410efd5a0
MD5 a12c3a38bfeb2c39038fbd6497ff3679
BLAKE2b-256 5804b85e03d7d3a6456e2b0d9ad5992c7a0492e8f3bb7141664e664b055151b6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e4d139b2901ea9cebf99b3e3c045919e88954b0a5e16fa16d83d187a0076a4c
MD5 13848ce140100fd377cbe602e0616c5a
BLAKE2b-256 ee5238c97caac7cd4da1c5920856c2bf90ee992faf0b35b81c6a3c6015065c2b

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2e72349ca7569a95cbd08f79c542833a67a024fbfdbf81bd6a24aa6e059be538
MD5 5c33b72ba70adc5f3ac6af70ca874b04
BLAKE2b-256 10a6604b93feb80b396ac90544ab0bf6c6f828f194210e66c44603a2b388919d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3179c4002b69788cbd95310cdb36daba2afaff201a4ec308caeba0ed9e7648c8
MD5 e9fe7a13a335782f066476019fb87961
BLAKE2b-256 1f35e174d449cff0832bbe71eb762ea43cb8b1e67233c509c480c5e1aeb74f9a

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for sqlce-0.2.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e94ffa1987fe04cfc740767922d2f5515441cf22f3a1b886d5a8d3f97b482dca
MD5 325419466926463171889645d89f52ca
BLAKE2b-256 020aea38a3fd5fb7d22a51ab979e9e94781938c58f427b9c168cf85833bcdf33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e29dfe708e98babd07087ed1ff3bf8b2bf1d984c4b4dbacea8deaca57022a920
MD5 8bd3cdb3e98d7f2a363765dce9812764
BLAKE2b-256 cf83ff1fe916278c3780311885da2d5a71dcf6c8386b645de7b13a0e8c574a07

See more details on using hashes here.

Provenance

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

This release

0.2.3 This release

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