Skip to main content
Help us improve Python packaging – donate today!

Tools to programatically create distribution images from any distribution

Project Description

# appliancekit-ng

Copyright (c) 2012, 2013 TortoiseLabs, LLC.

This software is free but copyrighted, see COPYING.md for more details.

## motive

ApplianceKit has become unmaintainable. In addition, it depends on XML and exposes too much implementation details in the Python-based core.

By using an intermediate representation between the XML and what actually happens, it is possible to:

  • Implement all logic for bringing up a distribution as data, by using a stack machine to interpret the data.
  • Add new distributions by writing specfiles for them instead of entirely new classes of monolithic code in Python.
  • Eventually transition away entirely from using AXML.

## intermediate representation

Most of what the ApplianceKit NG core does is:

  • Translate XML into IR, for example an XML file might be translated into this high-level IR, which will get compiled into lower-level IR.

` {% extends "debian-6.spec" %} {% set packages=['irssi'] %} `

  • Translate high-level IR into low-level IR using translation rules as described in the base specfiles. You can use ak-compile or ak-compile-xml to view what the lowlevel IR parsetree looks like.
  • Compile a parse tree into bytecode and then run the bytecode to create the appliance filesystem.

For more information on the IR language, see [ADL.md](ADL.md).

## known issues

### No configuration support like in classic appliancekit?

This is coming, via the render_template opcall, and configure phase which may be selected. Then you just attach a config object to the state database passed to the bytecode executive.

Release history Release notifications

History Node

0.6.2

History Node

0.6.1

History Node

0.6

History Node

0.5.2

History Node

0.5.1

History Node

0.5.0

History Node

0.4.0

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3

History Node

0.2

This version
History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ApplianceKit-NG-0.1.tar.gz (9.2 kB) Copy SHA256 hash SHA256 Source None Dec 30, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page