:sparkles: Pure python implementation library provides JSON <- convert -> Libconfig
Project description
JSONLibconfig
:sparkles: Pure python implementation library provides JSON <- convert -> Libconfig
Install
pip install jsonlibconfig
CLI Usage
λ ~/jsonlibconfig -h
usage: jsonlibconfig [-h] [--target {json,libconfig}] [--pretty] [--hextoint]
[--file FILE]
Pure python library provides JSON <- convert --> Libconfig
optional arguments:
-h, --help show this help message and exit
--target {json,libconfig}
specify output format: json, libconfig (default:
libconfig)
--pretty Pretty print
--hextoint Convert HEX string to integer (only for json)
--file FILE Input file
JSON to Libconfig
cat example.cfg | jsonlibconfig --target json
{"hours": {"mon": {"close": 18, "open": 9}, "wed": {"close": 18, "open": 9}, "sun": {"close": 16, "open": 11}, "fri": {"close": 20, "open": 9}, "sat": {"close": 20, "open": 9}, "thu": {"close": 18, "open": 9}, "tue": {"close": 18, "open": 9}}, "name": "Books, Movies & More", "inventory": {"movies": [{"media": "DVD", "price": 19.99, "qty": 11, "title": "Brazil"}, {"media": "DVD", "price": 18.99, "qty": 5, "title": "The City of Lost Children"}, {"media": "Blu-Ray", "price": 24.99, "qty": 20, "title": "Memento"}, {"title": "Howard the Duck"}], "books": [{"price": 29.99, "author": "Robert Louis Stevenson", "qty": 5, "title": "Treasure Island"}, {"price": 9.99, "author": "Neal Stephenson", "qty": 8, "title": "Snow Crash"}]}}
Libconfig to JSON
cat example.json | jsonlibconfig --pretty
hours = {
wed = {
close = 18;
open = 9;
};
sun = {
close = 16;
open = 11;
};
fri = {
close = 20;
open = 9;
};
tue = {
close = 18;
open = 9;
};
mon = {
close = 18;
open = 9;
};
thu = {
close = 18;
open = 9;
};
sat = {
close = 20;
open = 9;
};
};
name = "Books, Movies & More";
inventory = {
movies = (
{
media = "DVD";
price = 19.99;
title = "Brazil";
qty = 11;
},
{
media = "DVD";
price = 18.99;
title = "The City of Lost Children";
qty = 5;
},
{
media = "Blu-Ray";
price = 24.99;
title = "Memento";
qty = 20;
},
{
title = "Howard the Duck";
}
);
books = (
{
title = "Treasure Island";
price = 29.99;
qty = 5;
author = "Robert Louis Stevenson";
},
{
title = "Snow Crash";
price = 9.99;
qty = 8;
author = "Neal Stephenson";
}
);
};
API
from jsonlibconfig import encoder
from jsonlibconfig import decoder
from json to libconfig
encoder.dumps(json.loads(inputs))
from libconfig to json
decoder.loads(inputs))
License
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
jsonlibconfig-0.1.0.tar.gz
(9.9 kB
view details)
Built Distribution
File details
Details for the file jsonlibconfig-0.1.0.tar.gz
.
File metadata
- Download URL: jsonlibconfig-0.1.0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f677ce4913841509a2860f1c101413738f1067cd74d11ae8bd771d7f775dc634 |
|
MD5 | 84567ec9fb7720b880f787c318edcb03 |
|
BLAKE2b-256 | b129cc50726e89e16c51b58631835e634bf3bdd867b903d8311e8c1619689df8 |
File details
Details for the file jsonlibconfig-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: jsonlibconfig-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86bc682db8c7074cb655c6eb4cf2c4181e94a6b595903a6cae68fbf2f402c2a3 |
|
MD5 | 4fadb73b1ab456e725900b56b45999eb |
|
BLAKE2b-256 | 046dc829f84ddc2c9a36a4ba7266570faad13f8de2c61928bd039a5dc8ad25f6 |