Skip to main content

A bitfield diagram renderer

Project description

A Python3 port of the javascript bit-field library by Aliaksei Chapyzhenka.

Install

pip install bit_field

Library usage

from bit_field import render, jsonml_stringify

reg = [
  {'bits': 8, 'name': 'data'}
]

jsonml = render(reg, hspace=888)
html = jsonml_stringify(jsonml)
# <svg...>

CLI Usage

python3 -m bit_field [options] input > alpha.svg

options

input        : input JSON filename - must be specified always
--input      : input JSON filename (kept for compatibility)
--vspace     : vertical space - default 80
--hspace     : horizontal space - default 640
--lanes      : rectangle lanes - default 2
--bits       : overall bitwidth - default 32
--bigendian  : - default false
--fontfamily : - default sans-serif
--fontweight : - default normal
--fontsize   : - default 14

--beautify   : use xml beautifier

alpha.json

[
    { "name": "IPO",   "bits": 8, "attr": "RO" },
    {                  "bits": 7 },
    { "name": "BRK",   "bits": 5, "attr": "RW", "type": 4 },
    { "name": "CPK",   "bits": 1 },
    { "name": "Clear", "bits": 3 },
    { "bits": 8 }
]

alpha.svg

Heat Sink

Licensing

This work is based on original work by Aliaksei Chapyzhenka under the MIT license (see LICENSE-ORIGINAL).

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

bit_field-0.1.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

bit_field-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file bit_field-0.1.0.tar.gz.

File metadata

  • Download URL: bit_field-0.1.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for bit_field-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d4e63189a3feb9cb5020ad633d016add856bbf9150e0409a9ca72885f5107493
MD5 d9565a8cbe1eaad53adf7a24c031ed72
BLAKE2b-256 bcd20ac054eaab06f90b57b4d748705b876a29f5c7041b849979228e6b8eeb97

See more details on using hashes here.

File details

Details for the file bit_field-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bit_field-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for bit_field-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 edb86091de4b7c9a9d823997b4e8110041f175a282361dc8be3ba4850c60f5bf
MD5 0c8390c8015d1aa5e4209d8dfc2063ca
BLAKE2b-256 d44f83f143df7cc44941ee479205a7dbbd39692216e39ace7a01c58efc184b42

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