Releasing Amara 2.x
This is just an area for gathering notes. Will be updated upon approach to first actual release.
Prep
Update README, CHANGES.
Update version at the top of amara/init.py :
Update version in amara/setup.py (version='2.0...')
Check
./setup.py sdist --formats=zip unzip -v dist/amara-*.zip
Build
python setup.py sdist --formats=bztar,gztar,zip upload
Once we can better test eggs, we'll add the following:
python setup.py bdist --formats=wininst,egg upload
setuptools is required for the bdist_egg command.
But for now only source dists. We're likely to only support eggs on Windows.
This uploads to pypi. Check the update there: http://pypi.python.org/pypi/Amara/
Upload
FTP dist/amara-* and CHANGES to ftp:/root@ftp.4suite.org:pub/Amara/
Tag
e.g.
hg tag 2.0a1
You'll want to hg push after this
Create Windows .exes
Notes from Amara 1.x: http://livingpyxml.python-hosting.com/wiki/AmaraWindowsInstallTips . Still nailing down the 2.x approach.
Prep for next dev cycle
Bump version, e.g. to 2.0a.
Update version at the top of amara/init.py and amara/setup.py .
See also
PyInstaller - "PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux and Irix. Its main advantages over similar tools are that PyInstaller works with any version of Python since 1.5, it builds smaller executables thanks to transparent compression, it is multi-platform (so you can build one-file binaries also under Linux), and use the OS support to load the dynamic libraries, thus ensuring full compatibility. "
Reactions to the distutils/setuptools mess:
http://tarekziade.wordpress.com/2008/09/26/distribute-end-of-the-fork/
"pyinstall: A New Hope" (see also: pip)
- [[|]]
Announcements archive
Amara 2.0a4
4suite@4suite.org
4suite-ann@4suite.org
xml-sig@python.org
python-announce-list@python.org
xml-dev@lists.xml.org
schematron-love-in@eccnet.eccnet.com
ANN: Amara XML Toolkit 2.0a4
* http://wiki.xml3k.org/Amara2/
* http://hg.4suite.org/amara/trunk
* http://cheeseshop.python.org/pypi/Amara/
* ftp://ftp.4suite.org/pub/Amara/
What is Amara? Amara XML Toolkit is a collection of Python tools and libraries
for XML processing, designed to balance the native idioms of Python with the
native character of XML. It is the successor to both the XML components of the
4Suite project, and the Amara 1.x project, which used to build on 4Suite.
Amara is a component of the Akara project, which is a system for building
data services and processing for the Web.
* http://wiki.xml3k.org/Akara/
Amara 2.x is discussed on the Akara mailing list:
* http://groups.google.com/group/akara
For those familiar with 4Suite and Amara 1.x, the best way to get a sense of the
new version is by reading the comprehensive "What's new" document:
* http://wiki.xml3k.org/Amara2/Whatsnew
The biggest change, besides folding 4Suite into Amara, is a performance boost.
Amara has been re-engineered from the ground up to boost performance. For a
comparison with 4Suite and earlier Amara versions, see:
* http://wiki.xml3k.org/Amara2/Performance
Also, the Amara API, which has always won generous praise, has been improved
even more. There are far too many changes to detail in this announcement, but
for a flavor of Amara 2.x, including for those who have never used older versions,
follow the tutorial.
* http://wiki.xml3k.org/Amara2/Tutorial
Some quick highlights:
* Includes a module for reading "tag soup" HTML (requires install of html5lib)
* Includes an XML modeling system that allows you to declare rules for
even simpler and more natural processing
* Includes a very friendly and flexible XML output module
* Heavy use of Python iterators and "lazy" operations
* A Python iterator-based dispatcher system, much like XSLT, but for those who
insist on loathing XSLT
Amara Bindery: XML as easy as py
--------------------------------
A core concept of Amara is the bindery, which turns XML into a data structure of
Python objects corresponding to the vocabulary used in the XML document,
for maximum clarity.
Bindery turns the document
<monty>
<python spam="eggs">What do you mean "bleh"</python>
<python ministry="abuse">But I was looking for argument</python>
</monty>
Into a set of objects such that you can write
binding.monty.python.spam
In order to get the value "eggs" (as a Python Unicode object) or
binding.monty.python[1]
In order to get the element object with the contents "But I was looking for argument".
License
-------
Amara is open source, provided under the the Apache 2.0 license. See the bundled files
LICENSE and NOTICE for details.
Installation
------------
Amara 2.x requires Python 2.5 or 2.6. It supports distibute (http://pypi.python.org/pypi/distribute) or pip (http://pypi.python.org/pypi/distribute), as well as setuptools so the following work:
easy_install amara
pip install amara
Amara 2.0a1
4suite@4suite.org
4suite-ann@4suite.org
xml-sig@python.org
python-announce-list@python.org
xml-dev@lists.xml.org
schematron-love-in@eccnet.eccnet.com
ANN: Amara XML Toolkit 2.0a1
* http://wiki.xml3k.org/Amara2/
* http://hg.4suite.org/amara/trunk
* http://cheeseshop.python.org/pypi/Amara/
* ftp://ftp.4suite.org/pub/Amara/
What is Amara? Amara XML Toolkit is a collection of Python tools and libraries
for XML processing, designed to balance the native idioms of Python with the
native character of XML. It is the successor to both the XML components of the
4Suite project, and the Amara 1.x project, which used to build on 4Suite.
Amara is a component of the Akara project, which is a system for building
data services and processing for the Web.
* http://wiki.xml3k.org/Akara/
Amara 2.x is discussed on the Akara mailing list:
* http://groups.google.com/group/akara
For those familiar with 4Suite and Amara 1.x, the best way to get a sense of the
new version is by reading the comprehensive "What's new" document:
* http://wiki.xml3k.org/Amara2/Whatsnew
The biggest change, besides folding 4Suite into Amara, is a performance boost.
Amara has been re-engineered from the ground up to boost performance. For a
comparison with 4Suite and earlier Amara versions, see:
* http://wiki.xml3k.org/Amara2/Performance
Also, the Amara API, which has always won generous praise, has been improved
even more. There are far too many changes to detail in this announcement, but
for a flavor of Amara 2.x, including for those who have never used older versions,
see the "Seven days of Amara 2.x" series.
* http://wiki.xml3k.org/Amara2/Seven_days
Some quick highlights:
* Includes a module for reading "tag soup" HTML (requires install of html5lib)
* Includes an XML modeling system that allows you to declare rules for
even simpler and more natural processing
* Includes a very friendly XML output module
* Heavy use of Python iterators and "lazy" operations
* A Python iterator-based dispatcher system, much like XSLT, but for those who
insist on loathing XSLT
Amara Bindery: XML as easy as py
--------------------------------
A core concept of Amara is the bindery, which turns XML into a data structure of
Python objects corresponding to the vocabulary used in the XML document,
for maximum clarity.
Bindery turns the document
<monty>
<python spam="eggs">What do you mean "bleh"</python>
<python ministry="abuse">But I was looking for argument</python>
</monty>
Into a set of objects such that you can write
binding.monty.python.spam
In order to get the value "eggs" (as a Python Unicode object) or
binding.monty.python[1]
In order to get the element object with the contents "But I was looking for argument".
License
-------
Amara is open source, provided under the the Apache 2.0 license. See the bundled files
LICENSE and NOTICE for details.
Installation
------------
Amara 2.x requires Python 2.5 or more recent. It supports setuptools, so the following
works:
easy_install amara
For more information, see:
http://peak.telecommunity.com/DevCenter/EasyInstall