Skip to main content

A lightweight CLI + lib that allows you to perform basic IO tasks and display your content as rich trees and tables.

Project description

A many-in-one tool for managing your Markup Language files.

What is it?

iotree is a tool for managing your Markup Language files. It is capable to write and read files in the following formats:

  • JSON
  • YAML
  • TOML
  • XML
  • And soon more... :wink:

The basic goal was to have a small package anyone could add to their project and use it to manage their files. It is also possible to use it as a CLI tool.

Installation

You cannot install the CLI tool separately for now. You can install it with the following command:

pip install iotree

Usage

As a CLI tool

To see what the display function can do, you can use the following command:

iotree demo

For example, the following JSON file (displayed in VSCode)

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossTerm": "Standard Generalized Markup Language",
                    "Acronym": "SGML",
                    "Abbrev": "ISO 8879:1986",
                    "GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
                        "GlossSeeAlso": [
                            "GML",
                            "XML"
                        ]
                    },
                    "GlossSee": "markup"
                }
            }
        }
    }
}

will be displayed like this:

JSON file displayed

While the following YAML file (displayed in VSCode)

---
 doe: "a deer, a female deer"
 ray: "a drop of golden sun"
 pi: 3.14159
 xmas: true
 french-hens: 3
 calling-birds:
   - huey
   - dewey
   - louie
   - fred
 xmas-fifth-day:
   calling-birds: four
   french-hens: 3
   golden-rings: 5
   partridges:
     count: 1
     location: "a pear tree"
   turtle-doves: two

will be displayed like this:

YAML file displayed

Note: The CLI tool is not yet finished. It is still in development.
If this just looks like a wrapper around rich trees) to you, it almost because it is. :wink:

As a CLI tool, the key difference I want to bring is the ability to configure themes and styles.

Just run the following command to interactively create a theme:

iotree config init

But if you're lazy, just use a file:

iotree config init from-json my_theme.json

For example, the following JSON file

{   
    "name": "My super pseudonym",
    "username": "my.username",
    "symbol": "lgpoint",
    "theme": "bright-blue-green"
}

will result in the following theme: ...

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

iotree-0.1.4.tar.gz (12.3 kB view hashes)

Uploaded Source

Built Distribution

iotree-0.1.4-py3-none-any.whl (16.1 kB view hashes)

Uploaded Python 3

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