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

Uploaded CPython 3.13Windows x86-64

sqlce-0.2.2-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.2-cp312-cp312-win_amd64.whl (198.1 kB view details)

Uploaded CPython 3.12Windows x86-64

sqlce-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11Windows x86-64

sqlce-0.2.2-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.2-cp310-cp310-win_amd64.whl (194.3 kB view details)

Uploaded CPython 3.10Windows x86-64

sqlce-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlce-0.2.2-cp39-cp39-win_amd64.whl (194.9 kB view details)

Uploaded CPython 3.9Windows x86-64

sqlce-0.2.2-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.2-cp38-cp38-win_amd64.whl (194.9 kB view details)

Uploaded CPython 3.8Windows x86-64

sqlce-0.2.2-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.2.tar.gz.

File metadata

  • Download URL: sqlce-0.2.2.tar.gz
  • Upload date:
  • Size: 84.3 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.2.tar.gz
Algorithm Hash digest
SHA256 234335dfc7767d8f288fb0076facdd1277d4da4f94aa0aaab1833626cf5065e0
MD5 43ee5ec52f372459f8a880a4acfeb0c1
BLAKE2b-256 b4386a52fd9dd12036dc13003e956d6cb123a47826f44407dc0e52966d445b80

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.2-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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1cb4839160c8975240387b5d53dbfdf7372777333b11fe361f7811621473eda4
MD5 688fbbd10118ad7499cadfbc598d7ce1
BLAKE2b-256 1b1f953df5cbd043eaeb809109dd3a6c76712f7b9d41e792aa142b34c5840b02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9158e60ae41b8ce2b0bce15d4b57d9cc069f7c436d8b6bec8c6ceba6c938abc2
MD5 2784db88ab90cb1fc271501e4eb81c8f
BLAKE2b-256 c31b4913b9544d922654e9276bbc20fc971868aa62a0d94c21efb2a35f1c2562

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.2-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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 551843176c5e5b6af04c1b1aaff8ebcd887da19c3b5a2a87b2f917578139aa47
MD5 8bbc3f876019dc5aea2520cc73163f7f
BLAKE2b-256 4760deace10dbd8c37137d769e1e8776977e534e1d51ccaad2c78c1e145c398e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee89509b7b1a215cadbe7a712d9b626905d1ea6a29183d1a9215f5e42765eed5
MD5 0d94208543adaeae6103ffe88d3ae932
BLAKE2b-256 7f912b0b2699b74a81cf1a254d1c4c126e125b2fd55c3bbd76d3555c147c0b96

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a224a792e8b0dc4887d0bf6a719961b74216782d5c5eb580bf2ba3d18e18d499
MD5 f0d072eee3c1bfcd8d26b2d7580e774a
BLAKE2b-256 c131cac0db18767b4b60901b79d2b91668f7dcc890c7ec4317f03997efba4a00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9487c15bca4dfc9d8a1e321c2eb4a8611f4532981f8fdf2dad2b78668305a23
MD5 e742d159f6b392858a80009d35a2d06d
BLAKE2b-256 5f7e37d6d9ea75883a96ac2244972a89f6465b4fd10c08db2706b91b269dafd0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.2-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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 46a3909a6b529008a60343fcdce87064e0720c7b63c597ee1d053a580b936252
MD5 3bbe1d6d22b76ef4e6576d5d7185dfa6
BLAKE2b-256 143e6a84120dbf86b3ffce2d080a4070a9e7910538f4f6faf87479c19ac844a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fb264f81735cf750e2b3cd0d7e2ffbab59960824ec718d631a0d48527b3135c
MD5 803dbebf4ed473fdf7e2bb2666b9fffe
BLAKE2b-256 e85e664a5c28731a6841064a981b6fbb2bb5550ee501e0218a9077566fc815fa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 194.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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2a616bc23a315135733058ece1182fb4221a4c101dbcb80ad026f07f1efcdceb
MD5 14daba337cf688e21a5d38102c7a5577
BLAKE2b-256 8261049f55599a1467ccc8ee1a0e29c5f1ea276e2f24be980a69aed2039c5336

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b76a8422487555946d847e4139c25639c0fb4588227cb69e4da785cc69a853b
MD5 0aa49f95db289b5e0b407db927fdf563
BLAKE2b-256 cfcb81c05bf8306e4d2e9b09d81197fac831cff38d68961bb6fc9af896b09993

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sqlce-0.2.2-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.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 85e96440f37c1727831d4ef452700606ebff7e9cc4bcb8a4d11efc469b759d76
MD5 ddc17be2dd688937cfe56c5d9a831393
BLAKE2b-256 0c3e1bd37a36aede62a739f8c7d3613a3108395f75d08e58e4f5e226054e9e9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sqlce-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a9c4ea898ec018a59e280216ce18b94da27924dadd5850cf9e52ed420087044e
MD5 d87b21205e7bd167aa66c791f0406a85
BLAKE2b-256 4a17ee5012032c1c0f32f6cbed2095c40d87230d06cc8bce2f43a2ff795b917a

See more details on using hashes here.

Provenance

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

This release

0.2.2 This release

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