Metadata-Version: 2.2
Name: sqlce
Version: 0.1.2
Summary: Cross-platform lib for reading SQL Server CE (.sdf)
Author-Email: boykopovar <boykopovar@gmail.com>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: C++
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Project-URL: Homepage, https://github.com/boykopovar/sqlce
Project-URL: Issues, https://github.com/boykopovar/sqlce/issues
Requires-Python: >=3.8
Provides-Extra: dev
Requires-Dist: scikit-build-core>=0.10; extra == "dev"
Requires-Dist: pybind11>=2.12; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Description-Content-Type: text/markdown

# sqlce

Реверс-инжиниринг бинарного формата `.sdf` (SQL Server Compact Edition 4.0).
 
Анализ внутреннего устройства формата по декомпилированным компонентам SQL CE. Цель - предоставить кроссплатформенную и независимую от рантайма реализацию чтения `.sdf` и документацию формата.


- `core/` - реализация парсера на C++
- `bindings/` - Биндинги для C++ библиотеки к другим языкам
- `python/sqlce/` - Python API
- `research/` - Экспериментальные скрипты


```bash
pip install sqlce
```

```python
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)
```

Текущая [реализация](main.py) поддерживает чтение (поддерживается передача пароля) списка таблиц, структуры таблиц, содержимого записей. Использует c++.

[Документация](docs/ru/python.md)

[Documentation](docs/en/python.md)

[Соглашения по написанию кода](docs/CONVENTIONS.md) (PR приветствуются)

> Исключительно для интероперабельности с существующими файлами `.sdf` формата. Не содержит оригинальный код продукта.
