Convert, visualize and iterate over heterogeneous trees.
Project description
Nodule
Convert, visualize and iterate over heterogeneous trees.
Usage
Usage: nodule [OPTIONS] FORMAT PATH
Convert file at PATH to FORMAT. Supported formats are: JSON, TOML, YAML.
MERMAID is also supported as an output format.
Use `import nodule.nod` to build your own conversion, visualization or
iteration tool.
Options:
--help Show this message and exit.
Out of scope
-
Round trips (X -> X, X -> Y -> X) do not preserve whitespace, comments and layout choices.
-
The built-in Mermaid visualizer may fail with duplicate node names, non-alphanumeric characters and other non-trivial data. Use the
nodify
iterator method to build a robust solution for your use-case. Similarly for smarter and more compact visualizations.
Development environment
Install prerequisites
- Python 3.10
- pdm
- make
- pipx (optional, required for
make install-source
)
Instructions
- Fork the upstream repository.
git clone [fork-url]
cd [project-folder]
- Run
make develop
to initialise your development environment.
You can use any text editor or IDE that supports virtualenv / pdm. See the Makefile for toolchain details.
Please make test
and make lint
before submitting changes.
Make targets
USAGE: make [target]
help : Show this message.
develop : Set up Python development environment.
run : Run from source.
clean : Remove all build artefacts.
test : Run tests and generate coverage report.
lint : Fix or warn about linting errors.
build : Clean, test, lint, then generate new build artefacts.
publish : Upload build artefacts to PyPI.
install-source : Install source as a local Python application.
Sharing and contributions
Nodule
https://lofidevops.neocities.org
Copyright 2023 David Seaward and contributors
SPDX-License-Identifier: Apache-2.0
Shared under Apache-2.0. We adhere to the Contributor Covenant 2.1, and certify origin per DCO 1.1 with a signed-off-by line. Contributions under the same terms are welcome.
Submit security and conduct issues as private tickets. Sign commits with
git commit --signoff
. For a software bill of materials run reuse spdx
. For
more details see CONDUCT, COPYING and CONTRIBUTING.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file nodule-0.1.1.tar.gz
.
File metadata
- Download URL: nodule-0.1.1.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.10.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e68784a9b60766e2dd9fbdd65bac99990dc8727aa651a10d7d07c07f9cdde1ef |
|
MD5 | c529ec65f50daf7a30e57a36445ba767 |
|
BLAKE2b-256 | 6a5fd8f5a4b09add1e3d564d29bb5f0b23ceeb377991825be227b09dd10b30bf |
File details
Details for the file nodule-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: nodule-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.10.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be965fd06575208ff1f4e2c1acca3024338a52d0fedb492e81c2afd51d2ca48d |
|
MD5 | c535dcabf0423c9933f7926b346a247a |
|
BLAKE2b-256 | 0a60a0f99d1709a5c9319aa164884750d6236a0570f3c010d1ae2abf785a4b78 |