Metadata-Version: 2.4
Name: kiwi_keg
Version: 2.2.1
Summary: KEG - Image Composition Tool
Home-page: https://github.com/SUSE-Enceladus/keg
Download-URL: https://download.opensuse.org
Author: Public Cloud Team
Author-email: public-cloud-dev@susecloud.net
License: GPLv3+
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Operating System
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: docopt
Requires-Dist: Jinja2
Requires-Dist: kiwi>=9.21.21
Requires-Dist: PyYAML
Requires-Dist: schema
Requires-Dist: iso8601; python_version < "3.7.0"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: download-url
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

KEG - Image Composition Tool
===========================

.. |GitHub CI Action| image:: https://github.com/SUSE-Enceladus/keg/workflows/CILint/badge.svg?branch=main
   :target: https://github.com/SUSE-Enceladus/keg/actions

|GitHub CI Action|

keg is a command line tool that creates a
`kiwi <https://github.com/OSInside/kiwi>`_ image description based on
description snippets in a given GIT repository.

`User documentation <https://documentation.suse.com/appliance/keg-2/html/keg/index.html>`_.

Contributing
------------

keg is written in Python, it uses `tox <https://tox.readthedocs.io/en/latest/>`_
to setup a development environment for the desired Python version. Make
sure the Python development headers are installed (e.g. `python313-devel`).
KIWI uses `jing` for detailed error reporting in case schema validation fails.
This cannot be installed by pip, so you may want also make sure this is
installed on your system.

There are the following targets for tox:

- **check**: for code quality and integrity
- **devel**: for development
- **doc**: for building man pages
- **unit_py31x**: to run unit tests with Python 3.1x version (with x being 0-3)
- **functional**: to run functional tests with default Python version

The following procedure describes how to create the development environment:

1. Let tox create the virtual environment(s):

   .. code:: bash

       $ tox -e devel

2. Activate the virtual environment

   .. code:: bash

       $ source .tox/3/bin/activate

3. Install requirements inside the virtual environment:

   .. code:: bash

       $ pip install -U pip setuptools
       $ pip install -r .virtualenv.dev-requirements.txt

4. Let setuptools create/update your entrypoints

   .. code:: bash

       $ ./setup.py develop

Once the development environment is activated and initialized with
the project required Python modules, you are ready to work.

In order to leave the development mode just call:

.. code:: bash

   $ deactivate

To resume your work, change into your local Git repository and
run `source .tox/3/bin/activate` again. Skip step 3 and 4 as
the requirements are already installed.
