I'm pleased to announce the first release of my new library, dmath. It is
available under the MIT/X11 license.
Cheese Shop: http://cheeseshop.python.org/pypi/dmath/0.9
Google Code: http://code.google.com/p/dmath/
What is dmath?
dmath provides the standard math routines for Python's arbitrary-precision
Decimal type. These include acos, asin, atan, atan2, ceil, cos, cosh,
degrees, e, exp, floor, golden_ratio, hypot, log, log10, pi, pow, radians,
sign, sin, sinh, sqrt, tan, and tanh.
How is it different from decimalfuncs?
dmath has the complete set of math routines (not just a
subset), it's faster (from what I can tell), doesn't require its own
precision-setting method, and is MIT instead of GPL licensed.
About this release:
This is the first release and I'm calling this release 0.9 because it just
needs some testing and maybe some speed improvements, otherwise it's ready
to use. There is currently some work being done in Python sandbox/trunk to
convert the decimal module to C, and maybe they'll include fast versions of
all these routines.
You can follow development details and announcements on my blog here:
How do I use it?
Use it just like math and cmath, but make sure you give it Decimals:
>>> from dmath import *
>>> from decimal import Decimal as D, getcontext
>>> getcontext().prec = 50
Adventurer of the First Order
'tperimeter' Version 1.110 is released and available at:
This is the initial public release of 'tperimeter'
What Is 'tperimeter'?
Have you ever been away from the office and needed, say, ssh access to
your system? Ooops - you can't do that because in your zealous pursuit
of security, you set your tcp wrappers to prevent outside access to all
but a select group of hosts. Worse still, everywhere you go, your local
IP address changes so there is no practical way to open up the wrappers
for this situation.
'tperimeter' is a dynamic tcp wrapper control system that gives you
(limited) remote control of your tcp wrapper configuration. It does this
via a web interface that you've (hopefully) secured with https/SSL. You
just log in, specify your current IP address and one of the services you
want to access. 'tperimeter' will then briefly open a hole in your
wrappers long enough to let you in. It then automatically closes the
hole again. Voila! Remote access to your system, wherever you are. You
get much of the facility of a VPN or so-called "port knocking" without
most of the aggravation. As a side benefit, 'tperimeter' will also
simplify management of your standard /etc/hosts.allow tcp wrapper
'tperimeter' is written in python, shell script, and html. It is very
small and easy to maintain. It was developed and tested on FreeBSD 4.x,
and apache 1.3, but should run with very minor (or no) modification on
most Unix-like systems like Linux or Mac OS X hosts. It comes complete
with documentation in html, pdf, dvi, and Postscript formats. There is
no licensing cost for individual non-commercial use.
Tim Daneliuk tundra(a)tundraware.com
PGP Key: http://www.tundraware.com/PGP/
I'm pleased to announce the 0.7.1 release of SQLObject.
What is SQLObject
SQLObject is an object-relational mapper. Your database tables are described
as classes, and rows are instances of those classes. SQLObject is meant to be
easy to use and quick to get started with.
SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, and
Firebird. It also has newly added support for Sybase, MSSQL and MaxDB (also
known as SAPDB).
Where is SQLObject
News and changes:
Features & Interface
* Added support for psycopg2 and MSSQL.
* Added TimeCol.
* RelatedJoin and SQLRelatedJoin objects have a
createRelatedTable keyword argument.
* Implemented RLIKE (regular expression LIKE).
* Select over RelatedJoin.
* SQLite foreign keys.
* Postgres DB URIs with a non-default path to unix socket.
* Allow the use of foreign keys in selects.
* Implemented addColumn() for SQLite.
* Fixed a longstanding problem with UnicodeCol - at last you can use unicode
strings in .select() and .selectBy() queries. There are some limitations,
* Cull patch (clear cache).
* Synchronize main connection cache during transaction commit.
* Ordering joins with NULLs.
* Fixed bugs with plain/non-plain setters.
For a more complete list, please see the news:
Oleg Broytmann http://phd.pp.ru/ phd(a)phd.pp.ru
Programmers don't die, they just GOSUB without RETURN.
Announcing Templayer 1.4
Templayer home page:
About this release:
This release improves integration with the Django web framework by
reducing the amount of code required in Django views and by allowing use
of Django forms in Templayer templates. Also, two new HTML Markup tags
were added and it is now possible for flat template files (files with no
layers) to be used.
New in this release:
- Added a django_form convenience function for using Templayer
with the Django web framework's FormWrapper objects.
- Added an allow_degenerate parameter to Template.__init__. If
set to True then a template file that is missing a contents
block will be accepted and not cause an exception to be raised.
- Added a special layer name '*' that treats the entire contents
of a template file as a layer.
- Added two new HTML Markup elements:
- ('pluralize',count,singular_markup,plural_markup) inserts
singular_markup if count equals one, and plural_markup
- ('&',entity) inserts the given HTML entity where valid
entity values include "gt", "#161" and "#xA9".
- FileLayer.close now returns the file object to which it wrote.
This simplifies the code required to use Templayer in Django
- Fixed a really obvious bug in the html_href function.
Templayer was created to offer an alternative to the more common ways of
generating dynamic HTML: embedding code within the HTML or embedding
HTML within code. Instead of mixing HTML and Python, two rich and
extremely expressive languages, Templayer adds a small amount of syntax
to each and keeps the two separate and coherent.
Templayer is released under the GNU LGPL.
itools is a Python library, it groups a number of packages into a single
meta-package for easier development and deployment:
itools.catalog itools.http itools.uri
itools.cms itools.i18n itools.vfs
itools.csv itools.ical itools.web
itools.datatypes itools.rss itools.workflow
itools.gettext itools.schemas itools.xhtml
itools.handlers itools.stl itools.xliff
itools.html itools.tmx itools.xml
This is mostly a bug-fix release:
- A new datatype for time objects has been added to itools.datatypes
- Now there is some support for the HTTP layer in itools.vfs, the methods
"exists", "get_mimetype", "get_mtime", "is_file" and "is_folder" and
- An important bug in itools.catalog has been fixed, now indexing of
stored fields when the value is a list of byte strings works fine.
- Now the method "context.come_back" (from itools.web) accepts a URI
object for the "goto" parameter, not just a string.
- There have been many improvements to the calendar code, both in
itools.ical and itools.cms: #82, #246, #496, #507 and #509.
- Fix renaming of a non-empty folder. The external editor (itools.cms)
works again. Text handlers have a view to change their workflow state.
Some templates (e.g. image preview) are not broken anymore in other
languages than english (#502, #511). And anonymous users can reach the
- Hervé Cauwelier helped with the calendar code;
- Nicolas Deram kept working on the calendar and calendar related code;
- J. David Ibáñez fixed bugs here and there.
J. David Ibáñez
Itaapy <http://www.itaapy.com> Tel +33 (0)1 42 23 67 45
9 rue Darwin, 75018 Paris Fax +33 (0)1 53 28 27 88
The csv mailing list originally hosted on mojam.com has been moved intact to
a new home on mail.python.org. Thanks to Brad Knowles for turning the
necessary knobs on mail.python.org. The list info page is at:
For a fairly short period of time the old list address and web pages will
redirect to the new location.
The csv mailing list was originally created to support the development of a
csv module for Python (available since 2.3). It now serves mostly as a
low-volume place to discuss extensions to the module, offer assistance to
users, and as a place to report problems.
Skip Montanaro - skip(a)pobox.com - http://www.mojam.com/
"In China today, Bill Gates is Britney Spears. In America today, Britney
Spears is Britney Spears - and that is our problem." Thomas L. Friedman in
"The World is Flat"
A note to Washington DC-area Python people: the Arlington sprint will
be held tomorrow, Saturday the 23rd, at the Arlington Career Center.
Directions are in the wiki at <http://wiki.python.org/moin/ArlingtonSprint>.