Skip to main content

DictDumper: comprehensive network packet analysis library

Project description

DictDumper

  The dictdumper project is an open source Python program works as a stream formatted output dumper for dict.

  • About
    • dictdumper.Dumper
    • dictdumper.JSON
    • dictdumper.PLIST
    • dictdumper.Tree
    • dictdumper.XML
    • dictdumper.HTML
  • Installation
  • Usage

About

  Currently, it supports following formats --

  • dictdumper.Dumper -- abstract base class of all dumpers
  • dictdumper.JSON -- dump JavaScript object notation (JSON) format file
  • dictdumper.PLIST -- dump Apple property list (PLIST) format file
  • dictdumper.Tree -- dump tree-view text (TXT) format file
  • dictdumper.XML -- dump extensible markup language (XML) file (base class)
  • dictdumper.HTML -- dump JavaScript file under Vue.js framework (DEPRECATED)

 

Installation:

Note that dictdumper supports Python versions 2.7 and all versions since 3.0

pip install dictdumper

 

Usage

dictdumper is quite easy to use. After installation, importation, and initialisation, you can simple call the instance to dump contents.

Take dictdumper.Tree for example

import dictdumper
dumper = dictdumper.Tree('out.txt')
test_1 = dict(
    foo=-1,
    bar='Hello, world!',
    boo=dict(
        foo_again=True,
        bar_again=memoryview(b'bytes'),
        boo_again=None,
    ),
)
dumper(test_1, name='test_1')
$ cat out.txt
test_1
  |-- foo -> -1
  |-- bar -> Hello, world!
  |-- boo
        |-- foo_again -> True
        |-- bar_again
        |     |-- type -> memoryview
        |     |-- value -> 62 79 74 65 73
        |     |-- text -> bytes
        |-- boo_again -> NIL
import datetime
test_2 = dict(
    foo=[1, 2.0, 3],
    bar=(1.0, bytearray(b'a long long bytes'), 3.0),
    boo=dict(
        foo_again=b'bytestring',
        bar_again=datetime.datetime(2020, 1, 31, 20, 15, 10, 163010),
        boo_again=float('-inf'),
    ),
)
dumper(test_2, name='test_2')
$ cat out.txt
test_1
  |-- foo -> -1
  |-- bar -> Hello, world!
  |-- boo
        |-- foo_again -> True
        |-- bar_again
        |     |-- type -> memoryview
        |     |-- value -> 62 79 74 65 73
        |     |-- text -> bytes
        |-- boo_again -> NIL

test_2
  |-- foo
  |     |--> 1
  |     |--> 2.0
  |     |--> 3
  |-- bar
  |     |-- type -> tuple
  |     |-- value
  |           |--> 1.0
  |           |--> --
  |           |     |-- type -> bytearray
  |           |     |-- value
  |           |     |     |--> 61 20 6c 6f 6e 67 20 6c 6f 6e 67 20 62 79 74 65
  |           |     |          73
  |           |     |-- text -> a long long bytes
  |           |--> 3.0
  |-- boo
        |-- foo_again -> 62 79 74 65 73 74 72 69 6e 67
        |-- bar_again -> 2020-01-31T20:15:10.163010
        |-- boo_again -> -Infinity
test_3 = dict(
    foo="stringstringstringstringstringstringstringstringstringstring",
    bar=[
        "s1", False, "s3",
    ],
    boo=[
        "s4", dict(s="5", j="5"), "s6"
    ],
    far=dict(
        far_foo=["s1", "s2", "s3"],
        far_var="s4",
    ),
    biu=float('nan'),
)
dumper(test_3, name='test_3')
$ cat out.txt
test_1
  |-- foo -> -1
  |-- bar -> Hello, world!
  |-- boo
        |-- foo_again -> True
        |-- bar_again
        |     |-- type -> memoryview
        |     |-- value -> 62 79 74 65 73
        |     |-- text -> bytes
        |-- boo_again -> NIL

test_2
  |-- foo
  |     |--> 1
  |     |--> 2.0
  |     |--> 3
  |-- bar
  |     |-- type -> tuple
  |     |-- value
  |           |--> 1.0
  |           |--> --
  |           |     |-- type -> bytearray
  |           |     |-- value
  |           |     |     |--> 61 20 6c 6f 6e 67 20 6c 6f 6e 67 20 62 79 74 65
  |           |     |          73
  |           |     |-- text -> a long long bytes
  |           |--> 3.0
  |-- boo
        |-- foo_again -> 62 79 74 65 73 74 72 69 6e 67
        |-- bar_again -> 2020-01-31T20:15:10.163010
        |-- boo_again -> -Infinity

test_3
  |-- foo
  |     |--> stringstringstringstringstringstringstri
  |          ngstringstringstring
  |-- bar
  |     |--> s1
  |     |--> False
  |     |--> s3
  |-- boo
  |     |--> s4
  |     |--> --
  |     |     |-- s -> 5
  |     |     |-- j -> 5
  |     |--> s6
  |-- far
  |     |-- far_foo
  |     |     |--> s1
  |     |     |--> s2
  |     |     |--> s3
  |     |-- far_var -> s4
  |-- biu -> NaN

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dictdumper-0.8.4.post6.tar.gz (76.2 kB view details)

Uploaded Source

Built Distributions

dictdumper-0.8.4.post6-pp310-none-any.whl (18.5 kB view details)

Uploaded PyPy

dictdumper-0.8.4.post6-pp39-none-any.whl (18.5 kB view details)

Uploaded PyPy

dictdumper-0.8.4.post6-pp38-none-any.whl (18.5 kB view details)

Uploaded PyPy

dictdumper-0.8.4.post6-cp313-none-any.whl (18.5 kB view details)

Uploaded CPython 3.13

dictdumper-0.8.4.post6-cp312-none-any.whl (18.5 kB view details)

Uploaded CPython 3.12

dictdumper-0.8.4.post6-cp311-none-any.whl (18.5 kB view details)

Uploaded CPython 3.11

dictdumper-0.8.4.post6-cp310-none-any.whl (18.5 kB view details)

Uploaded CPython 3.10

dictdumper-0.8.4.post6-cp39-none-any.whl (18.5 kB view details)

Uploaded CPython 3.9

File details

Details for the file dictdumper-0.8.4.post6.tar.gz.

File metadata

  • Download URL: dictdumper-0.8.4.post6.tar.gz
  • Upload date:
  • Size: 76.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for dictdumper-0.8.4.post6.tar.gz
Algorithm Hash digest
SHA256 7826615acb3db3e9bbd493a950d7a06edc033a091ce9da8b65c69fa940f495b0
MD5 02f735d4f91329b89f6952517ad0d7d0
BLAKE2b-256 9d79516e17cb2445d79daa4f7f4dd6330cc014e997a4bf0e0d8b2817f2c150a5

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-pp310-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-pp310-none-any.whl
Algorithm Hash digest
SHA256 5e095e023e91cbd161e7f939f842364e68a91629d01c7f957997c3b81c83c3b5
MD5 db1739acd4ed96f96ea88e6198fa2c47
BLAKE2b-256 81b75635e41482007f1f93913d40431c4f4e3c2f5ab8118fc5005862cfcd284d

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-pp39-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-pp39-none-any.whl
Algorithm Hash digest
SHA256 c111c1d1d2c17e593086996598912c26915eb70e569d06b70cad83c2b2d5a250
MD5 bf8d2d6debad686f3c8eebd990c8c770
BLAKE2b-256 7efc65a0055346ab39048b964334f6f02f033a9bf537da1e3466532a8fed6dc9

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-pp38-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-pp38-none-any.whl
Algorithm Hash digest
SHA256 1e194e7eb9a3cbbdf8c0ddeb6573366ae3961a2f3199e04dbe515b698b0d316c
MD5 6f66424d3ca2784a66d2c8b6ba8df8c7
BLAKE2b-256 3c5b37a72530551357f785690a879e2eaa34cb18de7853b6f6acd9e146e15e3c

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-cp313-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-cp313-none-any.whl
Algorithm Hash digest
SHA256 fcdca7909cdd142ec21d18bcbe5162aceaf00e4bfe502747b12676cf3b77d391
MD5 cbbd58c0260f50bd826376f8141530d3
BLAKE2b-256 9d80a117306c161eeedd669a56de1d84fe32981ea9a64272443dedd8c9377bb8

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-cp312-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-cp312-none-any.whl
Algorithm Hash digest
SHA256 1b04a2e7c989f059ce99b9a9cf614403b311e48efe26b5100dec326a472da088
MD5 a39236a99e8ba253ba5146edc00bf703
BLAKE2b-256 fedb74224dc7f5092a43c376da3f76f1d82744b7ab5b16998ccb46aaaea221d4

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-cp311-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-cp311-none-any.whl
Algorithm Hash digest
SHA256 5dba83de43c3ec12e4694c339f5da2092edce974963ea90be664936c58f9d4a9
MD5 f600f7e642b418daf8ba8f334e2aeaf1
BLAKE2b-256 10e4c9656063cb97ee6c213f63070a0c18bb1f4cdae77dc84f4d2e062f137756

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-cp310-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-cp310-none-any.whl
Algorithm Hash digest
SHA256 6640248eacfcd2490cf7d7197c6edcd322c5c4e81b357d07279f80daa958639a
MD5 3e724260d63c822ba360c226baac6179
BLAKE2b-256 d90e794d308340a9fdfcdd5efcff5020a230e6948daee8c3066e3c64a5e91c9e

See more details on using hashes here.

File details

Details for the file dictdumper-0.8.4.post6-cp39-none-any.whl.

File metadata

File hashes

Hashes for dictdumper-0.8.4.post6-cp39-none-any.whl
Algorithm Hash digest
SHA256 4cf28f67e186076c4d8ee806979e5e412b4bf1d319826be50d0c9c19f5829f83
MD5 379ce8e043c44798d4997f5b578291cb
BLAKE2b-256 8e39e300b7024bdb98b4667dbe397974b58e6246666c1b90491784efbf3cd0ed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page