This is example of using Conquer to develop python software.
Lets develop application which will create vCarts (electronic business cards).
$ conquer my_vcard.py

Conquer ver. 0.02
Copyright - COFOH - www.cofoh.com

>>
print "Welcome in VCard creator! Please feel in your data:"
Welcome in VCard creator! Please feel in your data:
Just type program code in and execute line by line
>>
me = {}
# dictionary of my personal data
>>
get = raw_input
# we will use shorter name for this function
>>
me['first'] = get("First name: ")
First name:
Tom
>>
me['second'] = get("Middle name (optional): ")
Middle name (optional):
>>
me['last'] = get("Last name: ")
Last name:
Wyderka
>>
me['org'] = get("Company/Organization: ")
Company/Organization:
cofoh.com
>>
me['position'] = get("Position: ")
Position:
Software Engineer
>>
me['tel'] = get("Work phone: ")
Work phone:
(111) 555-1212
>>
me['email'] = get("Email: ")
Email:
donotspamme@cofoh.com
>>
vcard = create_vcard(me)
,,f
When you need new function, use special char sequence ,,f and function will be created. You are inside it now!
>>..
d = arg1
# 'd' like data
In current version arguments have such fixed names...
>>..
print d
,,t
The sequence ,,t will execute code but only for testing purposes. It will be included in the source code as a comment.
{'tel': '(111) 555-1212', 'last': 'Wyderka', 'second': '', 'position': 'Software Engineer', 'org': 'cofoh.com', 'email': 'donotspamme@cofoh.com', 'first': 'Tom'}
>>..
out = ""
# result vcard text
>>..
out += "BEGIN:VCARD\nVERSION:3.0\n"
# header of vcard
>>..
out += "N:%s;%s\n" % (d['last'], d['first'])
>>..
out += "FN:%s" % d['first']
# formatted name
>>..
if d['second'] != "":
(IF condition not True)
So now we are inside if statement. But because if condition is false the code is not executed. You can just type stub.
ss::::
out += " %s" % d['second']
# please note space char
ss::::
,,
The sequence ,, finishes block of code. I should probably change it to empty line, like in standart python interpreter.
>>..
out += " %s\n" % d['last']
>>..
out += "ORG:%s\nTITLE:%s\n" % (d['org'],d['position'])
>>..
print out
,,t
BEGIN:VCARD
VERSION:3.0
N:Wyderka;Tom
FN:Tom Wyderka
ORG:cofoh.com
TITLE:Software Engineer

>>..
out += "TEL;TYPE=WORK,VOICE:%s\n" % d['tel']
>>..
out += "EMAIL;TYPE=PREF,INTERNET:%s\n" % d['email']
>>..
out += "END:VCARD\n"
>>..
print out
,,t
BEGIN:VCARD
VERSION:3.0
N:Wyderka;Tom
FN:Tom Wyderka
ORG:cofoh.com
TITLE:Software Engineer
TEL;TYPE=WORK,VOICE:(111) 555-1212
EMAIL;TYPE=PREF,INTERNET:donotspamme@cofoh.com
END:VCARD

>>..
return out
>>
print vcard
,,t
BEGIN:VCARD
VERSION:3.0
N:Wyderka;Tom
FN:Tom Wyderka
ORG:cofoh.com
TITLE:Software Engineer
TEL;TYPE=WORK,VOICE:(111) 555-1212
EMAIL;TYPE=PREF,INTERNET:donotspamme@cofoh.com
END:VCARD

>>
f = file( me['first'] + ".vcf", "w" )
>>
f.write(vcard)
>>
f.close()
>>
print "Thank you. Your vcard is ready!"
Thank you. Your vcard is ready!
>>
,,
The End. But except created vCard file, we have also software file. Please notice that we already test it once!
$ ls -l *vcf my_vcard.py
-rwxr-xr-x 1 tom tom 1281 Jul 12 14:03 my_vcard.py
-rw-r--r-- 1 tom tom 183 Jul 12 14:03 Tom.vcf
$ cat Tom.vcf
BEGIN:VCARD
VERSION:3.0
N:Wyderka;Tom
FN:Tom Wyderka
ORG:cofoh.com
TITLE:Software Engineer
TEL;TYPE=WORK,VOICE:(111) 555-1212
EMAIL;TYPE=PREF,INTERNET:donotspamme@cofoh.com
END:VCARD

$ ./my_vcard.py
So we can run our software like normal program, even we haven't use any code editor... The test commands are skipped.
Welcome in VCard creator! Please feel in your data:
First name: John
Middle name (optional): Peter
Last name: Deer
Company/Organization: cofoh.com
Position: Tester
Work phone: 12345678
Email: john.deer@cofoh.com
Thank you. Your vcard is ready!
$ ls -l *vcf my_vcard.py
-rw-r--r-- 1 tom tom 166 Jul 12 14:05 John.vcf
-rwxr-xr-x 1 tom tom 1281 Jul 12 14:03 my_vcard.py
-rw-r--r-- 1 tom tom 183 Jul 12 14:03 Tom.vcf
$ cat John.vcf
BEGIN:VCARD
VERSION:3.0
N:Deer;John
FN:John Peter Deer
ORG:cofoh.com
TITLE:Tester
TEL;TYPE=WORK,VOICE:12345678
EMAIL;TYPE=PREF,INTERNET:john.deer@cofoh.com
END:VCARD