#!/usr/bin/python3
# -*- mode: python -*-
# virtme-run: The main command-line virtme frontend
# Copyright © 2014 Andy Lutomirski
# Licensed under the GPLv2, which is available in the virtme distribution
# as a file called LICENSE with SHA-256 hash:
# 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643

# This file is not installed; it's just use to run virtme from inside
# a source distribution.

import sys
if sys.version_info < (3,3):
    print('virtme requires Python 3.3 or higher')
    sys.exit(1)

from virtme.commands import run
exit(run.main())
