head	1.9;
access;
symbols
	start:1.1.1.1 vendor:1.1.1;
locks; strict;
comment	@# @;


1.9
date	2001.10.11.12.23.35;	author kiko_async;	state Exp;
branches;
next	1.8;

1.8
date	2001.08.14.01.04.23;	author tack;	state Exp;
branches;
next	1.7;

1.7
date	2001.04.02.03.31.41;	author tack;	state Exp;
branches;
next	1.6;

1.6
date	2001.04.02.01.07.31;	author tack;	state Exp;
branches;
next	1.5;

1.5
date	2001.03.29.04.13.44;	author tack;	state Exp;
branches;
next	1.4;

1.4
date	2000.03.19.23.18.51;	author tack;	state Exp;
branches;
next	1.3;

1.3
date	2000.03.18.22.22.17;	author tack;	state Exp;
branches;
next	1.2;

1.2
date	2000.03.16.23.49.48;	author tack;	state Exp;
branches;
next	1.1;

1.1
date	2000.03.14.21.13.19;	author tack;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2000.03.14.21.13.19;	author tack;	state Exp;
branches;
next	;


desc
@@


1.9
log
@Updates for 0.3.1
@
text
@- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Python bindings for ORBit                                ORBit-Python 0.3.1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Author: Jason Tackaberry <tack@@linux.com> 
Project Website: http://orbit-python.sault.org/


Installation
------------

Read the INSTALL file for a complete explanation, but the quick summary is:

   ./configure && make && make install

Overview
--------

Python is an object-oriented, dynamically typed language.  These two
features make it quite ideal for seamless CORBA bindings.  Following in
CORBA::ORBit (the Perl bindings), ORBit-Python does away with the need for
an IDL compiler.  Throw away your stubs and skeletons!  ORBit-Python also
takes the dynamic approach one step further by automatically discovering
available IDL modules and transparently loading them when the corresponding
modules get imported.  When the IDL files are loaded, the appropriate
objects and classes are created dynamically.  This makes rapid prototyping
with CORBA a reality.

Most of the ORBit types are implemented, with the exception of the fixed
and long double types.  (Wide types are partially supported and currently
experimental.)  Also, only a fairly small subset of the POA is implemented.
Even in its current state, however, it is already being used successfully
in several commercial systems.

Considerable effort has been taken to adhere to the Python Language Mapping
Specification and remain compatible with other Python ORBs, but because of
its dynamic nature, certain extensions have been made that are specific to
ORBit-Python.  Still, if portability is important to you, code that uses
ORBit-Python can be moved to and from different ORBs with little or no
modification.

ORBit-Python began as the thesis project for my undergraduate degree at
Algoma University (www.auc.ca) in Ontario Canada, who now happens to be my
employer.  And although they don't exactly know it yet, some of the current
work is even funded by them. :)

If you have any feedback about ORBit-Python, feel free to email me, or
subscribe to the mailing list.


Documentation
-------------

See http://orbit-python.sault.org/ for documentation.


License
-------

This project is licensed under the LGPL.  See COPYING for details.
@


1.8
log
@Updates for pending 0.3.0 release
@
text
@d2 1
a2 1
Python bindings for ORBit                                ORBit-Python 0.3.0
@


1.7
log
@Updated README and removed DOCS
@
text
@d2 1
a2 1
Python bindings for ORBit                                ORBit-Python 0.2.0
d14 1
a14 1
   ./configure && make && make check && make install
@


1.6
log
@Delegation fixes, code cleaning
@
text
@d6 1
a6 1
Project Website: http://projects.sault.org/orbit-python
a34 1

d42 9
d54 1
a54 1
See the DOCS file.
@


1.5
log
@Working on documentation.  Ugh
@
text
@d32 3
a34 1
Still, even in its current state, it should be usable for most projects.
@


1.4
log
@
Union discriminators are now stored properly.
@
text
@d1 3
a3 7
ORBit-Python 0.1.3 - Python bindings for ORBit
http://projects.sault.org/orbit-python
Sourceforge.net Project page: http://sourceforge.net/project/?group_id=3561
---
Jason Tackaberry <tack@@linux.com> 
(Personal homepage: http://orion.dok.org)
=========
d5 2
d8 2
a9 1
INSTALLATION
a15 1

d19 21
a39 37
ORBit-Python is a project to develop Python bindings for ORBit.  I have chosen
this project as a topic for my undergraduate thesis for my computer science
degree.  I figured if I'm going to spend any significant amount of time on a
project, I should pick a topic that I can give back to the community.

For those of you who are wondering: yes, I have heard of the PyORBit project.
There are a number of reasons why I didn't simply contribute to PyORBit, but
the biggest reason for starting from scratch was the learning experience.  This
notwithstanding, I did borrow some code from them.  Also, plenty of cool ideas
and well-written code have been borrowed from Owen Taylor's Perl bindings.
Credit is certainly given here: buy Owen a keg of beer for his work.  :)

My final presentation for this project will be given in mid-April.  I'm
releasing this now in the hopes that I will get constructive feedback from the
development community.  Please email me at tack@@linux.com with any comments,
suggestions, bug reports, or patches.


Features
--------

Python is an object-oriented, dynamically typed language.  These two features
make it quite ideal for seamless CORBA bindings.  Following in CORBA::ORBit (the
Perl bindings), ORBit-Python does away with the need for an IDL compiler.  Throw
away your stubs and skeletons! You simply call a function to load the IDL file
directly, and the appropriate objects and classes are created dynamically.

Most of the ORBit types are implemented, with the exception wide characters and
strings, fixed, and long double types.  Also, only a fairly small subset of the
POA is implemented.  Still, even in its current state, it should be usable for
most projects.

Many of the guidelines in the Python Language Mapping Specification have been
followed, while some have not.  I hope to eventually be compatible with this
specification.  Still, if there are mappings in ORBit-Python that you feel are
badly chosen, I will want to hear about it.  :)

d44 1
a44 27
This project lacks any kind of documentation at the moment.  There is a test
suite in the src directory (test-suite.idl, test-client, and test-server) that
should show you have to do most things.

Documentation is forthcoming.  Stay tuned.


TODO
----

There are still a number of things that need to be done.  Please feel free to
submit patches for any of these.  If there's something I'm missing from this
list, do let me know.  

   - Go through the TODOs and FIXMEs in the source
   - Fixed type
   - Long Double type
   - Wide types (char and string)
   - Handle internal errors more gracefully (raise appropriate exceptions)
   - Better TypeCode support
   - Interface Repository support
   - Add classes/objects to import caller's namespace instead of __main__
     (I need help on this!)
   - Fix structs and exceptions so that they don't require keywords
   - More thorough testing
   - Documentation

a45 2
---
This project is licensed under the LGPL (see COPYING for details).
d47 2
a48 2
March 18, 2000
Jason Tackaberry <tack@@linux.com>
d50 1
@


1.3
log
@*** empty log message ***
@
text
@d3 2
a4 1

a6 1

@


1.2
log
@
pass IDL_parse_filename IDLF_CODEFRAGS
@
text
@d1 1
a1 1
ORBit-Python 0.1.0 - Python bindings for ORBit
d93 1
a93 1
March 16, 2000
@


1.1
log
@Initial revision
@
text
@d85 1
d93 1
a93 1
March 14, 2000
@


1.1.1.1
log
@
Initial project import.
@
text
@@
