Skip to main content

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


Download files

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

Source Distribution

nodule-0.1.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

nodule-0.1.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

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

Hashes for nodule-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e68784a9b60766e2dd9fbdd65bac99990dc8727aa651a10d7d07c07f9cdde1ef
MD5 c529ec65f50daf7a30e57a36445ba767
BLAKE2b-256 6a5fd8f5a4b09add1e3d564d29bb5f0b23ceeb377991825be227b09dd10b30bf

See more details on using hashes here.

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

Hashes for nodule-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be965fd06575208ff1f4e2c1acca3024338a52d0fedb492e81c2afd51d2ca48d
MD5 c535dcabf0423c9933f7926b346a247a
BLAKE2b-256 0a60a0f99d1709a5c9319aa164884750d6236a0570f3c010d1ae2abf785a4b78

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