#
# Copyright (C) 2009 The Android Open Source Project
#
# 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
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# 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.
#

PREREQUISITES

JetCreator was created and tested with:

Python Version 2.5.4
wxPython Version 2.8.7.1

These can be downloaded here:

PC

http://www.python.org/download/releases/2.5.4/
http://www.wxpython.org/download.php

MAC

http://wiki.python.org/moin/MacPython/Leopard
http://www.wxpython.org/download.php



INSTALLING

1. Install Python 
2. Install wxPython 
3. Unzip or copy the JetCreator directory
4. Execute JetCreator.py
5. Use Import to import simple example project off Demos directory
