The JsonPreprocessor is a Python3 package which allows programmers to handle additional features in JSON files such as
- add comments
- import other json files
- overwrite already existing parameters with new values
These JSON files will be handled by the JsonPreprocessor which returns as result a dictionary object of the deserialized data.
The JsonPreprocessor can be installed in two different ways.
-
Installation via PyPi (recommended for users)
pip install JsonPreprocessor
-
Installation via GitHub (recommended for developers)
-
Clone the JsonPreprocessor repository to your machine.
git clone https://github.com/test-fullautomation/python-jsonpreprocessor.git
-
Install dependencies
JsonPreprocessor requires some additional Python libraries. Before you install the cloned repository sources you have to install the dependencies manually. The names of all related packages you can find in the file
requirements.txt
in the repository root folder. Use pip to install them:pip install -r ./requirements.txt
Additionally install LaTeX (recommended: TeX Live). This is used to render the documentation.
-
Configure dependencies
The installation of JsonPreprocessor includes to generate the documentation in PDF format. This is done by an application called GenPackageDoc, that is part of the installation dependencies (see
requirements.txt
).GenPackageDoc uses LaTeX to generate the documentation in PDF format. Therefore GenPackageDoc needs to know where to find LaTeX. This is defined in the GenPackageDoc configuration file
packagedoc\packagedoc_config.json
Before you start the installation you have to introduce the following environment variable, that is used in
packagedoc_config.json
:GENDOC_LATEXPATH
: path topdflatex
executable
-
Use the following command to install JsonPreprocessor:
setup.py install
-
A detailed documentation of the Json Preprocessor's package can be found here: JsonPreprocessor.pdf
To give us a feedback, you can send an email to Thomas Pollerspöck
In case you want to report a bug or request any interesting feature, please don't hesitate to raise a ticket.
Copyright 2020-2023 Robert Bosch GmbH
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.