Metadata-Version: 2.4
Name: dnbflib
Version: 1.1.1
Summary: Read, edit, export, and rebuild .NET BinaryFormatter / NRBF streams.
Project-URL: Documentation, https://github.com/yntha/dnbflib#readme
Project-URL: Issues, https://github.com/yntha/dnbflib/issues
Project-URL: Source, https://github.com/yntha/dnbflib
Author-email: yntha <126660548+yntha@users.noreply.github.com>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.11
Requires-Dist: pydatastreams
Description-Content-Type: text/markdown

# dnbflib

`dnbflib` reads, indexes, edits, exports, and rebuilds .NET BinaryFormatter / NRBF
binary streams in Python.

## Warning

BinaryFormatter is unsafe for untrusted data. Use this library for inspection,
migration, recovery, and editing of files you already trust. Do not accept arbitrary
BinaryFormatter payloads from users or the network.

## Features

- Memory-conscious object graph traversal with `DNBFDocument`.
- Editing of supported primitive, string, reference, object, and array values.
- Creation of new class instances from existing object templates.
- Creation and mutation of typed one-dimensional arrays.
- Lossless YAML export and rebuild with raw binary sidecars.
- SQLite-backed record storage through `DNBFRecordStore`.
- Stream rebuilding through `DNBFWriter`.

## Requirements

- Python 3.11 or newer.
- `pydatastreams`

## Installation

From PyPI, once published:

```console
pip install dnbflib
```

From a local checkout:

```console
python -m pip install -e .
```

## Documentation

Full usage documentation and tutorials are available in [docs/index.html](docs/index.html).

## License

`dnbflib` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
