Metadata-Version: 2.4
Name: json2capella
Version: 0.2.0
Summary: Importing JSON into Capella Data package
Author: DB InfraGO AG
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/DSD-DBS/json2capella
Project-URL: Documentation, https://dsd-dbs.github.io/json2capella
Platform: any
Classifier: Development Status :: 1 - Planning
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: <3.14,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSES/Apache-2.0.txt
License-File: LICENSES/CC0-1.0.txt
Requires-Dist: capellambse<0.7,>=0.6.6
Requires-Dist: click
Requires-Dist: pydantic<3,>=2.10.6
Requires-Dist: typing_extensions<5,>=4.12.2
Provides-Extra: docs
Requires-Dist: furo; extra == "docs"
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: tomli; python_version < "3.11" and extra == "docs"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Dynamic: license-file

<!--
 ~ Copyright DB InfraGO AG and contributors
 ~ SPDX-License-Identifier: Apache-2.0
 -->

# JSON2Capella

![image](https://github.com/DSD-DBS/json2capella/actions/workflows/build-test-publish.yml/badge.svg)
![image](https://github.com/DSD-DBS/json2capella/actions/workflows/lint.yml/badge.svg)

Command-line tool for importing package definitions from JSON files into a Capella model's data package.

![Showcase](https://i.imgur.com/Qwzm0In.gif)

# Documentation

Read the [full documentation on Github pages](https://dsd-dbs.github.io/json2capella).

# Examples

Apply package definition from .json file to Capella model layer's root data package:

```sh
python -m json2capella \
-i tests/data/example_jsons/package1.json \
-m tests/data/empty_project_60 \
-l la \
```

Import package definitions from folder with .json files to Capella model layer's root data package:

```sh
python -m json2capella \
-i tests/data/example_jsons \
-m tests/data/empty_project_60 \
-l la
```

# Installation

You can install the latest released version directly from PyPI.

```sh
pip install json2capella
```

To set up a development environment, clone the project and install it into a
virtual environment.

```sh
git clone https://github.com/DSD-DBS/json2capella
cd json2capella
python -m venv .venv

source .venv/bin/activate.sh  # for Linux / Mac
.venv\Scripts\activate  # for Windows

pip install -U pip pre-commit
pip install -e '.[docs,test]'
pre-commit install
```

# Contributing

We'd love to see your bug reports and improvement suggestions! Please take a
look at our [guidelines for contributors](CONTRIBUTING.md) for details.

# Licenses

This project is compliant with the
[REUSE Specification Version 3.0](https://git.fsfe.org/reuse/docs/src/commit/d173a27231a36e1a2a3af07421f5e557ae0fec46/spec.md).

Copyright DB InfraGO AG, licensed under Apache 2.0 (see full text in
[LICENSES/Apache-2.0.txt](LICENSES/Apache-2.0.txt))

Dot-files are licensed under CC0-1.0 (see full text in
[LICENSES/CC0-1.0.txt](LICENSES/CC0-1.0.txt))
