KonFoo


NameKonFoo JSON
Version 3.0.0 PyPI version JSON
download
home_pagehttps://github.com/JoeVirtual/KonFoo/
SummaryA declarative byte stream mapping engine.
upload_time2022-12-20 04:21:58
maintainer
docs_urlNone
authorJochen Gerhaeusser
requires_python>=3.9
licenseBSD-3-Clause
keywords binary data deserialize serialize parse decode encode unpack pack
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # KonF'00'

[![status](https://img.shields.io/pypi/status/konfoo.svg)](https://pypi.org/project/konfoo)
[![docs](https://readthedocs.org/projects/konfoo/badge/?version=latest)](https://konfoo.readthedocs.io)
[![pypi](https://img.shields.io/pypi/v/konfoo.svg)](https://pypi.org/project/konfoo)
[![python](https://img.shields.io/pypi/pyversions/konfoo.svg)](https://docs.python.org/3/)
[![license](https://img.shields.io/pypi/l/konfoo.svg)](https://github.com/JoeVirtual/KonFoo/blob/master/LICENSE)
[![downloads](https://img.shields.io/pypi/dm/konfoo.svg)](https://pypistats.org/packages/konfoo)
[![binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/joevirtual/konfoo/master?labpath=notebooks)

**KonFoo** is a Python Package for creating byte stream mappers in a declarative
way with as little code as necessary to help fighting the confusion with the
foo of the all well-known memory dumps or hexadecimal views of binary data.

It comes with sensible defaults out of the box.

It aims to make the process of reading, de-serializing, viewing, serializing
and writing binary data from and back to a data provider as easy as possible.

**KonFoo** in points:

* declarative way to describe the mapping of binary data to Python types
* declarative classes to read, deserialize, view, serialize and write binary
  data from and back to a data source
* easy adjustable byte stream provider bridge to any kind of data source
* nesting of classes
* adaptable classes on the fly while reading/de-serializing binary data
* easy syntax for accessing nested fields
* view the mapped binary data as a JSON string
* list the mapped binary data as a flat list or dictionary
* write the mapped binary data to a `.json` file
* write the mapped binary data to a `.csv` file
* save the mapped binary data to an `.ini` file
* load the mapped binary data from an `.ini` file
* easy creatable nested metadata dictionaries of the members of a byte stream
  mapper
* metadata converter to the `flare.json` format to visualise the mapper with
  [d3.js](https://d3js.org).

## Table of Contents
[Back to top]: #table-of-contents

1. [Project Status](#project-status)
2. [Project Structure](#project-structure)
3. [Getting Started](#getting-started)
	- [Dependencies](#dependencies)
	- [Installation](#installation)
	- [Usage](#usage)
4. [Development](#development)
	- [Getting the Source](#getting-the-source)
	- [Building a Distribution](#building-a-distribution)
	- [Building the Documentation](#building-the-documentation)
5. [Release Process](#release-process)
	- [Versioning](#versioning)
6. [Documentation](#documentation)
7. [License](#license)
8. [Authors](#authors)

## Project Status

This [project] is stable and active. Feedback is always welcomed!

**[Back to top](#table-of-contents)**

## Project Structure

The [project] is organized in sub-folders.

- `assets/`: Project assets
- `binder/`: Binder configuration
- `docs/`: [Sphinx] documentation
- `notebooks/`: [Jupyter] notebooks
- `src/konfoo/`: Package sources

**[Back to top](#table-of-contents)**

## Getting Started

### Dependencies

The `KonFoo` package requires at least [Python] 3.6, otherwise no other packages
are required.

### Installation

To install the package from [PyPi] using [pip]

```shell
> pip install konfoo
```

**[Back to top](#table-of-contents)**

### Usage

Read the documentation on "[Read The Docs]".

**[Back to top](#table-of-contents)**

## Development

### Getting the Source

This [project] is hosted on [github].
You can clone the [project]  directly using this command:

```shell
> git clone https://github.com/JoeVirtual/KonFoo.git
```

### Building a Distribution

To build local a distribution of this [project], use this command:

```shell
> make build
```

The generated the distribution artifacts can be found in the `./dist` folder
of the cloned [project] on your machine.

### Building the Documentation

Building the documentation requires [Sphinx], the [Furo] theme, and the
[Sphinx] extension [sphinx-copybutton].

```shell
> pip install sphinx
> pip install furo
> pip install sphinx-copybutton
```

To build local the documentation of this [project], use this command:

```shell
> make docs
```

The generated HTML documentation artifact can be found in the
`./docs/_build/html` folder of the cloned [project] on your machine.

**[Back to top](#table-of-contents)**

## Release Process

### Versioning

This project uses [Semantic Versioning].
For a list of available versions, see the [repository tag list].

**[Back to top](#table-of-contents)**

## Documentation

The documentation for the latest repository build is hosted on the
[GitHub Pages] of the [project].

The documentations of the [project] **releases** are hosted on [Read The Docs].

**[Back to top](#table-of-contents)**

## Contributing

If you are interested to contribute code or documentation to the [project],
please take a look at the [contributing guidelines](CONTRIBUTING.md) for details
on our development process.

**[Back to top](#table-of-contents)**

## License

The [project] is licensed under the revised [3-Clause BSD License].

See [LICENSE](LICENSE).

**[Back to top](#table-of-contents)**

## Authors

* Jochen Gerhaeusser

See also the list of [contributors] who participated in this [project].

**[Back to top](#table-of-contents)**

[Semantic Versioning]: https://semver.org
[3-Clause BSD License]: https://opensource.org/licenses/BSD-3-Clause
[Python]: https://www.python.org
[PyPi]: https://pypi.org
[pip]: https://pip.pypa.io
[Sphinx]: https://pypi.org/project/sphinx
[Furo]: https://pypi.org/project/furo
[sphinx-copybutton]: https://pypi.org/project/sphinx-copybutton
[Jupyter]: https://jupyter.org
[github]: https://github.com
[project]: https://github.com/JoeVirtual/KonFoo
[repository tag list]: https://github.com/JoeVirtual/KonFoo/releases
[contributors]: https://github.com/JoeVirtual/KonFoo/graphs/contributors
[GitHub Pages]: https://joevirtual.github.io/KonFoo/
[Read The Docs]: https://konfoo.readthedocs.io

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/JoeVirtual/KonFoo/",
    "name": "KonFoo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "binary data,deserialize,serialize,parse,decode,encode,unpack,pack",
    "author": "Jochen Gerhaeusser",
    "author_email": "jochen_privat@gmx.de",
    "download_url": "https://files.pythonhosted.org/packages/ad/73/89f07df77bdd7f8610e0fb56d0610cf215fcb98fd552cbcb19422d0c9923/KonFoo-3.0.0.tar.gz",
    "platform": "any",
    "description": "# KonF'00'\r\n\r\n[![status](https://img.shields.io/pypi/status/konfoo.svg)](https://pypi.org/project/konfoo)\r\n[![docs](https://readthedocs.org/projects/konfoo/badge/?version=latest)](https://konfoo.readthedocs.io)\r\n[![pypi](https://img.shields.io/pypi/v/konfoo.svg)](https://pypi.org/project/konfoo)\r\n[![python](https://img.shields.io/pypi/pyversions/konfoo.svg)](https://docs.python.org/3/)\r\n[![license](https://img.shields.io/pypi/l/konfoo.svg)](https://github.com/JoeVirtual/KonFoo/blob/master/LICENSE)\r\n[![downloads](https://img.shields.io/pypi/dm/konfoo.svg)](https://pypistats.org/packages/konfoo)\r\n[![binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/joevirtual/konfoo/master?labpath=notebooks)\r\n\r\n**KonFoo** is a Python Package for creating byte stream mappers in a declarative\r\nway with as little code as necessary to help fighting the confusion with the\r\nfoo of the all well-known memory dumps or hexadecimal views of binary data.\r\n\r\nIt comes with sensible defaults out of the box.\r\n\r\nIt aims to make the process of reading, de-serializing, viewing, serializing\r\nand writing binary data from and back to a data provider as easy as possible.\r\n\r\n**KonFoo** in points:\r\n\r\n* declarative way to describe the mapping of binary data to Python types\r\n* declarative classes to read, deserialize, view, serialize and write binary\r\n  data from and back to a data source\r\n* easy adjustable byte stream provider bridge to any kind of data source\r\n* nesting of classes\r\n* adaptable classes on the fly while reading/de-serializing binary data\r\n* easy syntax for accessing nested fields\r\n* view the mapped binary data as a JSON string\r\n* list the mapped binary data as a flat list or dictionary\r\n* write the mapped binary data to a `.json` file\r\n* write the mapped binary data to a `.csv` file\r\n* save the mapped binary data to an `.ini` file\r\n* load the mapped binary data from an `.ini` file\r\n* easy creatable nested metadata dictionaries of the members of a byte stream\r\n  mapper\r\n* metadata converter to the `flare.json` format to visualise the mapper with\r\n  [d3.js](https://d3js.org).\r\n\r\n## Table of Contents\r\n[Back to top]: #table-of-contents\r\n\r\n1. [Project Status](#project-status)\r\n2. [Project Structure](#project-structure)\r\n3. [Getting Started](#getting-started)\r\n\t- [Dependencies](#dependencies)\r\n\t- [Installation](#installation)\r\n\t- [Usage](#usage)\r\n4. [Development](#development)\r\n\t- [Getting the Source](#getting-the-source)\r\n\t- [Building a Distribution](#building-a-distribution)\r\n\t- [Building the Documentation](#building-the-documentation)\r\n5. [Release Process](#release-process)\r\n\t- [Versioning](#versioning)\r\n6. [Documentation](#documentation)\r\n7. [License](#license)\r\n8. [Authors](#authors)\r\n\r\n## Project Status\r\n\r\nThis [project] is stable and active. Feedback is always welcomed!\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Project Structure\r\n\r\nThe [project] is organized in sub-folders.\r\n\r\n- `assets/`: Project assets\r\n- `binder/`: Binder configuration\r\n- `docs/`: [Sphinx] documentation\r\n- `notebooks/`: [Jupyter] notebooks\r\n- `src/konfoo/`: Package sources\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Getting Started\r\n\r\n### Dependencies\r\n\r\nThe `KonFoo` package requires at least [Python] 3.6, otherwise no other packages\r\nare required.\r\n\r\n### Installation\r\n\r\nTo install the package from [PyPi] using [pip]\r\n\r\n```shell\r\n> pip install konfoo\r\n```\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n### Usage\r\n\r\nRead the documentation on \"[Read The Docs]\".\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Development\r\n\r\n### Getting the Source\r\n\r\nThis [project] is hosted on [github].\r\nYou can clone the [project]  directly using this command:\r\n\r\n```shell\r\n> git clone https://github.com/JoeVirtual/KonFoo.git\r\n```\r\n\r\n### Building a Distribution\r\n\r\nTo build local a distribution of this [project], use this command:\r\n\r\n```shell\r\n> make build\r\n```\r\n\r\nThe generated the distribution artifacts can be found in the `./dist` folder\r\nof the cloned [project] on your machine.\r\n\r\n### Building the Documentation\r\n\r\nBuilding the documentation requires [Sphinx], the [Furo] theme, and the\r\n[Sphinx] extension [sphinx-copybutton].\r\n\r\n```shell\r\n> pip install sphinx\r\n> pip install furo\r\n> pip install sphinx-copybutton\r\n```\r\n\r\nTo build local the documentation of this [project], use this command:\r\n\r\n```shell\r\n> make docs\r\n```\r\n\r\nThe generated HTML documentation artifact can be found in the\r\n`./docs/_build/html` folder of the cloned [project] on your machine.\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Release Process\r\n\r\n### Versioning\r\n\r\nThis project uses [Semantic Versioning].\r\nFor a list of available versions, see the [repository tag list].\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Documentation\r\n\r\nThe documentation for the latest repository build is hosted on the\r\n[GitHub Pages] of the [project].\r\n\r\nThe documentations of the [project] **releases** are hosted on [Read The Docs].\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Contributing\r\n\r\nIf you are interested to contribute code or documentation to the [project],\r\nplease take a look at the [contributing guidelines](CONTRIBUTING.md) for details\r\non our development process.\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## License\r\n\r\nThe [project] is licensed under the revised [3-Clause BSD License].\r\n\r\nSee [LICENSE](LICENSE).\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n## Authors\r\n\r\n* Jochen Gerhaeusser\r\n\r\nSee also the list of [contributors] who participated in this [project].\r\n\r\n**[Back to top](#table-of-contents)**\r\n\r\n[Semantic Versioning]: https://semver.org\r\n[3-Clause BSD License]: https://opensource.org/licenses/BSD-3-Clause\r\n[Python]: https://www.python.org\r\n[PyPi]: https://pypi.org\r\n[pip]: https://pip.pypa.io\r\n[Sphinx]: https://pypi.org/project/sphinx\r\n[Furo]: https://pypi.org/project/furo\r\n[sphinx-copybutton]: https://pypi.org/project/sphinx-copybutton\r\n[Jupyter]: https://jupyter.org\r\n[github]: https://github.com\r\n[project]: https://github.com/JoeVirtual/KonFoo\r\n[repository tag list]: https://github.com/JoeVirtual/KonFoo/releases\r\n[contributors]: https://github.com/JoeVirtual/KonFoo/graphs/contributors\r\n[GitHub Pages]: https://joevirtual.github.io/KonFoo/\r\n[Read The Docs]: https://konfoo.readthedocs.io\r\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "A declarative byte stream mapping engine.",
    "version": "3.0.0",
    "split_keywords": [
        "binary data",
        "deserialize",
        "serialize",
        "parse",
        "decode",
        "encode",
        "unpack",
        "pack"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "92c782d65f58c5b1f3eac3e130d42835",
                "sha256": "b2648dd7d8184d76aa9745ec6f7b0fd22deaf49be13afd961b2f3f7ee32ec4ee"
            },
            "downloads": -1,
            "filename": "KonFoo-3.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "92c782d65f58c5b1f3eac3e130d42835",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 55709,
            "upload_time": "2022-12-20T04:21:56",
            "upload_time_iso_8601": "2022-12-20T04:21:56.531078Z",
            "url": "https://files.pythonhosted.org/packages/94/66/80f06fe34e48f18afc307fe2e0561f4a2707007a0658ac9ce106289dd161/KonFoo-3.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "582340d99f8ef77a09a2dac1239f161d",
                "sha256": "2b03037bbe1fb1b398b54cf72f17e4798c617bee8e437f05b4ce0c824f133dd2"
            },
            "downloads": -1,
            "filename": "KonFoo-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "582340d99f8ef77a09a2dac1239f161d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 139158,
            "upload_time": "2022-12-20T04:21:58",
            "upload_time_iso_8601": "2022-12-20T04:21:58.977117Z",
            "url": "https://files.pythonhosted.org/packages/ad/73/89f07df77bdd7f8610e0fb56d0610cf215fcb98fd552cbcb19422d0c9923/KonFoo-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-20 04:21:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "JoeVirtual",
    "github_project": "KonFoo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "konfoo"
}
        
Elapsed time: 0.02096s