protobuf/python
temporal 779f61c6a3 Integrate recent changes from google3.
protoc
- New flags --encode and --decode can be used to convert between protobuf text
  format and binary format from the command-line.
- New flag --descriptor_set_out can be used to write FileDescriptorProtos for
  all parsed files directly into a single output file.  This is particularly
  useful if you wish to parse .proto files from programs written in languages
  other than C++: just run protoc as a background process and have it output
  a FileDescriptorList, then parse that natively.

C++
- Reflection objects are now per-class rather than per-instance.  To make this
  possible, the Reflection interface had to be changed such that all methods
  take the Message instance as a parameter.  This change improves performance
  significantly in memory-bandwidth-limited use cases, since it makes the
  message objects smaller.  Note that source-incompatible interface changes
  like this will not be made again after the library leaves beta.

Python
- MergeFrom(message) and CopyFrom(message) are now implemented.
- SerializeToString() raises an exception if the message is missing required
  fields.
- Code organization improvements.
- Fixed doc comments for RpcController and RpcChannel, which had somehow been
  swapped.
2008-08-13 03:15:00 +00:00
..
google Integrate recent changes from google3. 2008-08-13 03:15:00 +00:00
ez_setup.py Initial checkin. 2008-07-10 02:12:20 +00:00
mox.py Initial checkin. 2008-07-10 02:12:20 +00:00
README.txt misc. stuff: 2008-07-21 20:28:30 +00:00
setup.py Initial checkin. 2008-07-10 02:12:20 +00:00
stubout.py Initial checkin. 2008-07-10 02:12:20 +00:00

Protocol Buffers - Google's data interchange format
Copyright 2008 Google Inc.

This directory contains the Python Protocol Buffers runtime library.

Normally, this directory comes as part of the protobuf package, available
from:

  http://code.google.com/p/protobuf

The complete package includes the C++ source code, which includes the
Protocol Compiler (protoc).  If you downloaded this package from PyPI
or some other Python-specific source, you may have received only the
Python part of the code.  In this case, you will need to obtain the
Protocol Compiler from some other source before you can use this
package.

Installation
============

1) Make sure you have Python 2.4 or newer.  If in doubt, run:

     $ python -V

2) If you do not have setuptools installed, note that it will be
   downloaded and installed automatically as soon as you run setup.py.
   If you would rather install it manually, you may do so by following
   the instructions on this page:

     http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions

3) Build the C++ code, or install a binary distribution of protoc.  If
   you install a binary distribution, make sure that it is the same
   version as this package.  If in doubt, run:

     $ protoc --version

4) Run the tests:

     $ python setup.py test

   If some tests fail, this library may not work correctly on your
   system.  Continue at your own risk.

   Please note that there is a known problem with some versions of
   Python on Cygwin which causes the tests to fail after printing the
   error:  "sem_init: Resource temporarily unavailable".  This appears
   to be a bug either in Cygwin or in Python:
     http://www.cygwin.com/ml/cygwin/2005-07/msg01378.html
   We do not know if or when it might me fixed.  We also do not know
   how likely it is that this bug will affect users in practice.

5) Install:

     $ python setup.py install

   This step may require superuser privileges.

Usage
=====

The complete documentation for Protocol Buffers is available via the
web at:

  http://code.google.com/apis/protocolbuffers/