ftputil 2.2.3 is now available from
http://ftputil.sschwarzer.net/download .
Changes since version 2.2.2
---------------------------
This release fixes a bug in the ``makedirs`` call (report and fix by
Julian, whose last name I don't know ;-) ). Upgrading is recommended.
What is ftputil?
----------------
ftputil is a high-level FTP client library for the Python programming
language. ftputil implements a virtual file system for accessing FTP
servers, that is, it can generate file-like objects for remote files.
The library supports many functions similar to those in the os,
os.path and shutil modules. ftputil has convenience functions for
conditional uploads and downloads, and handles FTP clients and servers
in different timezones.
Read the documentation at
http://ftputil.sschwarzer.net/documentation .
License
-------
ftputil is Open Source software, released under the revised BSD
license (see http://www.opensource.org/licenses/bsd-license.php ).
Stefan
--
Dr.-Ing. Stefan Schwarzer
SSchwarzer.com - Softwareentwicklung für Technik und Wissenschaft
http://sschwarzer.com
I just uploaded the latest release (v1.4.7) of pyparsing, and I'm
happy to say, it is not a very big release - this module is getting
to be quite stable. A few bug-fixes, and one significant notation
enhancement: setResultsNames gains a big shortcut in this release
(see below). No new examples in this release, sorry.
Here are the notes:
- NEW NOTATION SHORTCUT: ParserElement now accepts results names
using a notational shortcut, following the expression with the
results name in parentheses. So this:
stats = "AVE:" + realNum.setResultsName("average") + \
"MIN:" + realNum.setResultsName("min") + \
"MAX:" + realNum.setResultsName("max")
can now be written as this:
stats = "AVE:" + realNum("average") + \
"MIN:" + realNum("min") + \
"MAX:" + realNum("max")
The intent behind this change is to make it simpler to define
results names for significant fields within the expression, while
keeping the grammar syntax clean and uncluttered.
- Fixed bug when packrat parsing is enabled, with cached ParseResults
being updated by subsequent parsing. Reported on the pyparsing
wiki by Kambiz, thanks!
- Fixed bug in operatorPrecedence for unary operators with left
associativity, if multiple operators were given for the same term.
- Fixed bug in example simpleBool.py, corrected precedence of "and"
vs. "or" operations.
- Fixed bug in Dict class, in which keys were converted to strings
whether they needed to be or not. Have narrowed this logic to
convert keys to strings only if the keys are ints (which would
confuse __getitem__ behavior for list indexing vs. key lookup).
- Added ParserElement method setBreak(), which will invoke the pdb
module's set_trace() function when this expression is about to be
parsed.
- Fixed bug in StringEnd in which reading off the end of the input
string raises an exception - should match. Resolved while
answering a question for Shawn on the pyparsing wiki.
Download pyparsing 1.4.7 at http://sourceforge.net/projects/pyparsing/.
The pyparsing Wiki is at http://pyparsing.wikispaces.com
-- Paul
========================================
Pyparsing is a pure-Python class library for quickly developing
recursive-descent parsers. Parser grammars are assembled directly in
the calling Python code, using classes such as Literal, Word,
OneOrMore, Optional, etc., combined with operators '+', '|', and '^'
for And, MatchFirst, and Or. No separate code-generation or external
files are required. Pyparsing can be used in many cases in place of
regular expressions, with shorter learning curve and greater
readability and maintainability. Pyparsing comes with a number of
parsing examples, including:
- "Hello, World!" (English, Korean, Greek, and Spanish(new))
- chemical formulas
- configuration file parser
- web page URL extractor
- 5-function arithmetic expression parser
- subset of CORBA IDL
- chess portable game notation
- simple SQL parser
- Mozilla calendar file parser
- EBNF parser/compiler
- Python value string parser (lists, dicts, tuples, with nesting)
(safe alternative to eval)
- HTML tag stripper
- S-expression parser
- macro substitution preprocessor
Dex Tracker beta .019 has been released... Dex Tracker is a tracker
style front end for csound (and possibly other sound programs in the
future). It features things like help files and loading of
csound .orc files as well as templates and a number of utilities.
Also included is csound routines a library to deal with various csound
files.
release beta .019 has fixed a number of bugs and now allows the
loading or orc files into csd files.
Dex Tracker currently requires python 2.5 , pywin, csound, gvim (com
object) and . wxpython (tested with 2.6)
The download is available at https://sourceforge.net/project/showfiles.php?group_id=156455&package_id=17…
and the homepage is at http://www.stormpages.com/edexter/csound.html
Release Announcement: PARLEY version 0.3
PARLEY is a library for writing Python programs that implement the Actor
model of distributed systems, in which lightweight concurrent processes
communicate through asynchronous message-passing. Actor systems typically
are easier to write and debug than traditional concurrent programs that
use locks and shared memory.
With version 0.3, PARLEY now supports the Greenlet execution model
(http://codespeak.net/py/dist/greenlet.html). Greenlets are lightweight
threads, similar to the tasklets supported by Stackless Python; unlike
tasklets, they do not require a special version of Python. PARLEY also
supports tasklets and traditional native threads, and it provides the
ability to switch between these modes of execution without substantial
code changes.
Version 0.3 also includes various bug fixes, additional features, and
documentation improvements.
Code samples, documentation, and source code can be found at the PARLEY
home page: http://osl.cs.uiuc.edu/parley/
PARLEY is licensed under the LGPL.
--
Jacob Lee
<artdent(a)freeshell.org>
Aahz wrote:
> So adding
> SNOBOL patterns to another library would be a wonderful gift to the
> Python community...
I wrote a module for Snobol-style pattern matching a
while back, but didn't get around to releasing it.
I've just put it on my web page:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Snobol.tar.gz
There's no manual yet, but there's a fairly complete
set of docstrings and some test cases to figure it
out from.
--
Greg
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Bazaar[1] is a distributed version control system that provides many
useful features over second generation vcs's like Subversion, and
it's written in Python.
setuptoolsbzr is a plugin enabling Bazaar support for the also
awesome setuptools[2] enhancements to Python's distutils. With this
plugin, you can manage your projects under Bazaar and setuptools will
be able to find version controlled files when it creates packages of
your project.
To use, all you need to do is add the following to your setup()
function:
setup(
# ...
entry_points = {
'setuptools.file_finders': [
'bzr = setuptoolsbzr:find_files_for_bzr',
],
},
setup_requires = [
'setuptoolsbzr',
],
)
setuptools will do the rest. You can of course grab the
setuptoolsbzr package separately from the Python Cheeseshop[3].
One caveat: setuptoolsbzr requires that either the command line
program bzr(1) be available on your $PATH or that the bzrlib package
be installed in your Python's site-packages. setuptoolsbzr has a
dependency on the 'bzr' package but this dependency is disabled due
to a minor bug in the bzr Cheeseshop tarball[4]. This may not affect
you because why would you want to use setuptoolsbzr if you didn't
already have bzr installed? For now though, just install Bazaar
manually via the tarball available on the bazaar-vcs.org site, or
your OS's package manager and you should be good to go. When the bug
is fixed, I'll update setuptoolsbzr accordingly.
Enjoy,
- -Barry
[1] http://bazaar-vcs.org
[2] http://peak.telecommunity.com/DevCenter/setuptools
[3] http://cheeseshop.python.org/pypi/setuptoolsbzr
[4] https://bugs.launchpad.net/launchpad/+bug/125521
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
iQCVAwUBRqIY1HEjvBPtnXfVAQIj/gP+KbeH95d3kLaQK+1EgT2TvjNrBzhyBOfp
rmBGtnzIxmOm2mreo4OzFF1VHrnDDhSonfLKKlCRrfT08B2bxUp6Jybvjv57vAa2
0O4E6uBkmjeNKMTCbUmHVwBaucubQWAggW6C7N3oOUHfP5jl5yOMk1x3FUQFjMyI
emCxSm2ql2c=
=XQHM
-----END PGP SIGNATURE-----
Dear fellow Pythonistas,
as you may have heard, Python is going to get a new documentation system
soon [1]. As part of that effort, and in order to maintain the excellent
quality of the docs, we are looking for members of the maintainers team.
This is your chance to get involved with Python development!
There will be two main objectives of the group, or maybe two subgroups can
be formed:
* Maintaining the documentation contents:
- processing user submitted comments, bugs and patches
- helping out developers with docs-related matters, keeping an eye
on commits to ensure quality
- keeping the docs up-to-date, e.g. write new sections for new
Python 3000 features
The docs source will be in reStructuredText, which is already known to a
relatively high percentage of Python developers.
The new online version of the docs will contain features to add comments
and suggest changes, so it is expected that there will be some amount
of user involvement.
* Development of the toolset:
- fixing bugs in the package
- adding new output formats, e.g. info or pdf
- adding new features to the web application
- adapting it to new docutils features
The software is written in pure Python. It is currently located in the
docutils Subversion repository, at
http://svn.berlios.de/viewcvs/docutils/trunk/sandbox/py-rest-doc/
The README file gives you a rough idea what you find there and how to
get started, all other questions can be directed to georg(a)python.org,
I'll answer them gladly.
An additional objective in the near future will, of course, be handling the
switch to the new system.
Okay, so you've read until here? And you're interested in joining the team?
Wow! Write to the docs(a)python.org and become a documentation maintainer!
cheers,
Georg
[1] see http://pyside.blogspot.com/2007/06/introducing-py-rest-doc.html
for some details, and http://pydoc.gbrandl.de:3000/ [2] for a demo.
(Commenting doesn't work yet, but it's worked upon fiercely...)
[2] the demo server is a small vserver with the application served by a
single wsgiref instance, and as such not fit to handle large amounts
of requests, so it may well be that you don't get good reponse times.
Hi,
I would like to announce the immediate availability of eric 4.0.1. This
is a bug fix release. As usual it is available via
http://www.die-offenbachs.de/eric/index.html
Just follow the eric4 download link.
What is eric
------------
eric is a Python IDE with all batteries included. For details see the
a.m. link.
Regards,
Detlev
--
Detlev Offenbach
detlev(a)die-offenbachs.de
All,
I am really pleased to announce version 0.5.1 of amplee, a Python
implementation of the Atom Publishing protocol as per draft-17 [1].
This version is a major release for amplee and will (unfortunately) break
existing applications using it due to some changes in its API, although
those modifications are minor and the design stays pretty much the same
allowing for an easier upgrade.
== What's new? ==
* Changed the member resource API to make it more robust and useful,
handling many common tasks for the application developer.
* Added support for a distinction of collection and public feed providing
a very simple mechanism to create and handle both types of feeds.
* Extended the collection API and fixed numerous bugs within.
* Added a tarfile storage that permits to store data in a tarball in a
transparent fashion (handy for multipart/form-data storage for instance).
* Added a memcache storage that can as a proxy storage to cache
resources in memcached server using either cmemcache or python-memcache.
* Made the storage API more robust and resilient to unicode vs byte string.
* Improved and enhanced the indexer module which can now also use
memcached to store indexes.
* Added a working (finally) example of amplee demonstrating its main
features [2].
* Made the unit tests more useful
* Added support for Etag in the HTTP handlers
* Added a contrib directory containing a schematron schema for Atom
related documents as well as a crawler.py module that can browse or test
your AtomPub service and reports a set of details about it (simple but
useful).
* Support for entry points has been extended and allows to support any
number of collections via the loader module.
* Gazillions of bugs have been fixed and hopefully carefully tested to
perish as they deserved.
* Fixed memcached indexer defect.
* Documentation added.
== Download ==
* easy_install -U amplee
* Tarballs http://www.defuze.org/oss/amplee/
* svn co https://svn.defuze.org/oss/amplee/
== Documentation ==
http://trac.defuze.org/wiki/amplee/http://trac.defuze.org/wiki/amplee/Tutorialhttp://www.defuze.org/oss/amplee/api/
== TODO ==
* Support for collection paging
* Improve documentation
Have fun,
-- Sylvain Hellegouarch
http://www.defuze.org
[1] http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html
[2] http://atompub.defuze.org/