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.1.tar.gz (81.9 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.1-cp313-cp313-win_amd64.whl (198.1 kB view details)

Uploaded CPython 3.13Windows x86-64

sqlce-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlce-0.2.1-cp312-cp312-win_amd64.whl (198.1 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlce-0.2.1-cp311-cp311-win_amd64.whl (196.5 kB view details)

Uploaded CPython 3.11Windows x86-64

sqlce-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (250.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlce-0.2.1-cp310-cp310-win_amd64.whl (194.3 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.2.1-cp39-cp39-win_amd64.whl (194.8 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sqlce-0.2.1-cp38-cp38-win_amd64.whl (194.9 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (248.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: sqlce-0.2.1.tar.gz
  • Upload date:
  • Size: 81.9 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.1.tar.gz
Algorithm Hash digest
SHA256 6a8d68fe079143baa14962780a76d546de9897b9eed36fdfab55205e7f602eef
MD5 e0a116c155fea28256a37501fc470540
BLAKE2b-256 ac944f1a46f70164d0e9cd8f0322ef603bc688d175c935f0998bc13a6811173f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 198.1 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a73f332fff6eb968f8f0df3a615882e6cdd6a0902df89918f41aa75a342b6404
MD5 72b7b8b68f7f2b95d54449f8e4aa671a
BLAKE2b-256 6a0c3c9f61e35c2c575b0118abc7698bae1f3b911c9207472b44b212cc4df71f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5138faffab949161735add6fdc07c701f6c677737d202c2fefc9411c0e28649
MD5 aac1bc17767aa3cc7f37f013f1d95f0f
BLAKE2b-256 096e539ae522ae7705d5c1e97d9487133688f3cf012e9e1b3952a3b761f6a9bd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 198.1 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1a9a15ae5697b890c6401f58aca551ca549e733ab0daea3580df3fad8264e078
MD5 befa03ba1758964f0c17a75bd5ef1a51
BLAKE2b-256 2f58f3eec1e909b67216e7a331746548c334eae153dd5f5156cc66468f0bd3f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd86436704376a75254d46310e34d88f7a32ade56e5909866457887796f3fdfc
MD5 39405eb35570811cb2d0cb7c83c88cf0
BLAKE2b-256 3f6a0ae754e5954e5e8554d162514543001ef16439b4ac1f2d661253b2279d47

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 196.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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c7ec324ae7031787d15972a0df9771077e8ebc0d48219018dbb0014580dd629
MD5 062a410afdca39d8d74932cd6eafe2a2
BLAKE2b-256 c44622880281bf4cd47abc813d3fe7283a5321f90d2cca8a328cec8bcc09edce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52ba591b55dc988d4fc6545edca14807c54fe84bcb23e073cda0ad90734a6ce2
MD5 b9b1d468a31f31df7741c35806c812b5
BLAKE2b-256 8203fe53eb37dae1ba9cff80cd94cb3effa398dea26c32f32722be3c7a3a21ff

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 194.3 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c7aa43f82001ea7871d254257c706f73af24e50ebb29aee3bb4d2a4696b9f3da
MD5 6fd2f132daa6866cc336eb4e4633bef7
BLAKE2b-256 2852a461dbdd06a54be5dbab67176b1d61dfa2c1b7f13d3568370c17aeadc7ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efa4e896de130a44da976311c7b0a6a96822222be8e2eb796857fe2da036b799
MD5 eead677fa994c26e3a19f58f5a248e53
BLAKE2b-256 9e888e00b1e53b88e1bd121cbad70e7222802d64fbe5910fd968ff42019ffc48

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 194.8 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9b5adea726f4daaf98280376a62be0d919757ad8b62df978d8e4202a8548de6b
MD5 cdb6032999bf7c56094f5efc40f5b360
BLAKE2b-256 ff3caa85d574c41a36db4a66fff101f1c0cbefc6747ace4de9b03628a720e250

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a3e84b05554702b1d5382f650bd1e522deb73f1781b25026f0e8db19b66d168
MD5 e6eb6a21617f969f2b96b29f2d0771fd
BLAKE2b-256 71b352bc68973fa3b20b44b7d1f865a55807ac96e58d6df4ee3ac71a4c218823

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 194.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.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 de14b1db27370f67afbc06659591e0589ae8c21abe3ad9f4ee54ce8b91321cbc
MD5 baa69a5f68fddd88ceae514cd323c3a1
BLAKE2b-256 597f0ab52f2918e2d8784cf69147cbe633d03c7fad735f1f26bbdfd29ec8736c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ccd1b51faacf216ad3bf4188bd4892bd2a6db22e908940e08685eb0a587e21a
MD5 202756f9ceb573736cda3ccd15e9117f
BLAKE2b-256 cb54ef369d2d12b13f6b3e9d30719cd0a41f5e4fa9cb7c5bfbb604d98b7d1ceb

See more details on using hashes here.

Provenance

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

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

This release

0.2.1 This release

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