A bitfield diagram renderer
Project description
A Python3 port of the javascript bit-field library by Aliaksei Chapyzhenka.
This package is also available as an extension for Sphinx: sphinxcontrib-bitfield.
Install
pip install bit_field
To install this package with JSON5 support:
pip install bit_field[JSON5]
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
bit_field [options] input > alpha.svg
options
input : input JSON filename - must be specified always
--input : input JSON filename (kept for compatibility)
--compact : compact rendering mode
--vspace : vertical space - default 80
--hspace : horizontal space - default 640
--lanes : rectangle lanes - default 2
--bits : overall bitwidth - default 32
--fontfamily : - default sans-serif
--fontweight : - default normal
--fontsize : - default 14
--strokewidth: - default 1
--hflip : horizontal flip
--vflip : vertical flip
--trim : horizontal space available for a single character
--uneven: : uneven lanes
--beautify : use xml beautifier
--json5 : force json5 input format (need json5 python module)
--no-json5 : never use json5 input format
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bit_field-1.0.1.tar.gz.
File metadata
- Download URL: bit_field-1.0.1.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dd114661dd6f393771b59478ea0d35f02e985066c1d14e6200c508e60daf900
|
|
| MD5 |
df2301edb7b49d7b094e6a43bba5a9b7
|
|
| BLAKE2b-256 |
10577cd9318081a4e194e972a023aaa4b209c7e580a72341e6b1c4550d44f18f
|
File details
Details for the file bit_field-1.0.1-py3-none-any.whl.
File metadata
- Download URL: bit_field-1.0.1-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dd785c1665d390305288fa5069fdcbbfc4db6ec9e4a82b7376f40739d20cab7
|
|
| MD5 |
45cc59392982e92d46bad63db1589a34
|
|
| BLAKE2b-256 |
0e9912a9895e1d494fa7b4a5be891c5ba633514ef016b64598de77ce778f6ff5
|