PyAMF 0.5 released

PyAMF is a lightweight library that allows Flash Player and Python applications to communicate via Adobe's ActionScript Message Format.

PyAMF 0.5 is a cleanup of the internals of 0.4 and it provides some performance optimisations. In accomplishing this, a number of features were added.

  • A new way to handle attribute en/decoding. New features include excluding attributes, read-only attributes, and proxied attributes. If you use external classes, this one is also for you. Check the wiki for more details.
  • The lazy loading module (pyamf.util.imports) that powers the adapter modules has been completely revamped. There were too many edge cases that would cause problems in the import mechanism. We now supply a module finder/loader in sys.meta_path so we can intercept the import calls. This has completely cleared up the problems we were seeing and it has the added benefit of halving the time it took to run the 650+ unit tests in the suite!
  • The cPyAMF extension has been completely revamped and no longer uses cStringIO to handle the byte packing. The extension has also been extended to cover more of the library. This has given a nice speed-up but we are by no ...

PyAMF 0.4.2 released

The team is proud to announce the release of PyAMF 0.4.2!

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

This is a bugfix release, see the changelog for the complete list of changes. A brief overview of the changes:

  • Support for decoding the 'source' property on ArrayCollection (Ticket:488)
  • Fixed an issue in the GAE adapter where dynamic properties would be missing on referenced objects (Ticket:511)
  • Fixed a critical issue with AMF0 reference counting when encoding remoting responses (Ticket:510)
  • Strengthened HTTP header handling in the client (Ticket:492)
  • Support for Django i18n ugettext_lazy (Ticket:496)
  • Support for microseconds for datetime objects (Ticket:490)
  • Support for property types on SQLAlchemy mapped classes (Ticket:491)
  • Support for property types for Google AppEngine db.Model and db.Expando. (Ticket:487)

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.

PyAMF 0.4.1 released

The team is proud to announce the release of PyAMF 0.4.1!

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

This is a bugfix release, see the changelog for the complete list of changes. A brief overview of the changes:

  • amf0.Encoder.use_amf3 has been extended to cover all object types (Ticket:453, Ticket:467)
  • Encoding {0:0, '0':1} will now raise an AttributeError (Ticket:458)
  • Improvements to the Google App Engine adapter - see ticket for details (Ticket:479)
  • Unicode handling in __repr__ functions has been improved (Ticket:455)
  • Django models.TimeField, models.DateField will now be converted to the correct type (datetime.time and datetime.date respectively). fields.NOT_PROVIDED is also checked for by converting to pyamf.Undefined and back again. (Ticket:457)

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.

PyAMF 0.4 released

The team is proud to announce the release of PyAMF 0.4 final!

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

This release fixes over a 100 tickets, see the changelog for the complete list of changes. We now consider the library to be stable and ready for production! A brief overview of the changes:

  • A new C extension to pyamf.util and pyamf.amf3. This is a work in progress, created using Cython, and more sections of the library will be moved to C as they are identified. Thanks to Gerard Escalante.
  • An adapter for SQLAlchemy 0.4/0.5 is available, allowing object graphs to be easily encoded. See the wiki for more information. Thanks to Dave Thompson and Michael Van Tellingen.
  • Improvements to the Google App Engine adapter to allow datastore objects to be easily encoded/decoded.

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.

PyAMF 0.4rc2 released

The PyAMF team is proud to announce a new release of PyAMF, a lightweight library that allows Flash and Python applications to communicate via Adobe’s ActionScript Message Format.

Lots of changes for this one, a brief overview:

  • A new C extension to pyamf.util and pyamf.amf3. This is a work in progress and using Cython more sections of the library will be moved to C as they are identified. Thanks to Gerard Escalante.
  • An adapter for SQLAlchemy is available, allowing object graphs to be easily encoded. See the wiki for more information. Thanks to Dave Thompson and Michael Van Tellingen.
  • Improvements to the Google App Engine adapter to allow datastore objects to be easily encoded/decoded.

For a detailed list of changes, see the change log.

To download this release either grab a compressed file, use 'easy_install -U pyamf' or grab the Subversion tag.

This is a release candidate so depending on feedback, 0.4 final will be available in a few days.

Happy New Year,

The PyAMF team

PyAMF 0.3.1 Released

We're pleased to announce a new release of PyAMF, a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

This release improves support for Google App Engine and introduces a new AMF gateway for GAE web applications. Aral Balkan announced he's using PyAMF in his GAESWF project, which will be used to power the website of the online Singularity conference later this year.

You can try some of the PyAMF examples for GAE on our appspot like the Interactive Python shell example and the PUnit tool to run the PyAMF test suite on GAE using a web interface. We also added an Ohloh API example.

The dependency on the fpconst module was removed for Python >= 2.5 to make it easier to deploy PyAMF applications on GAE and devices like smart phones. Unfortunately we had to keep it around for the Windows platform due to a float issue with that version of Python 2.5.

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.

PyAMF 0.3 Released

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

AMF3 and RemoteObject are supported in all the implemented Remoting gateways, currently compatible with Django, Twisted, TurboGears 2, Web2Py and other WSGI supported web frameworks.

This release provides compatibility with Google App Engine and comes with the following changes and fixes:

  • Make util.BufferedByteStream endian aware (Ticket:231)
  • Issue with Twisted threads (Ticket:233)
  • Fix interpretation of integers in AMF3 (Ticket:241)
  • Support for Google App Engine deployment (Ticket:237)
  • Classic class decoding throws an error (Ticket:248)
  • Make adapter framework load sub-modules (Ticket:246)
  • Added an adapter module for google.appengine.ext.db so that Model classes can be serialised easily (Ticket:247)
  • Problems with Importing and reloading files (Ticket:250)

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.

PyAMF 0.2 Released

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

AMF3 and RemoteObject are supported in all the implemented Remoting gateways, currently compatible with Django, Twisted, TurboGears 2, Web2Py and WSGI.

PyAMF 0.1.1 Released

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

This is a bugfix release with the following changes:

  • AMF3 encoder reported incorrect byte length header for non-ASCII string data. Patch supplied by akaihola. (Ticket:194)
  • Decoder context not cleared between reading the remoting header and body. Reported by gerard. (Ticket:192)

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.

PyAMF 0.1 Released

After more than a 1000 commits, 190 tickets and 375 unit tests, we release PyAMF 0.1. Enjoy!

PyAMF is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format.

A summary of updates and changes in this release:

  • expose_request per service control vastly improved (Ticket:169)
  • Authentication per service control vastly improved (Ticket:166)
  • uuid is no longer installed when using Python 2.5 or newer (Ticket:182)
  • The inheritance tree was not consulted when encoding attributes (Ticket:172)
  • TypedObjects didn't work with old style classes (Ticket:171)
  • BaseFault now prints details (Ticket:168)
  • Added expose_request to TwistedGateway (Ticket:165)
  • TwistedGateway now expects deferred from service functions (Ticket:164)
  • New error handling API useful for registering custom exception classes (Ticket:185)
  • When a client receives a remoting error, an exception is generated (Ticket:167)

Check out the download page, installation instructions.

Got questions? First stop is the mailing list or IRC.