We are proud to present a new Python package:
sympycore - an efficient pure Python Computer Algebra System
Sympycore is available for download from
Sympycore is released under the New BSD License.
Sympycore provides efficient data structures for representing symbolic
expressions and methods to manipulate them. Sympycore uses a very
clear algebra oriented design that can be easily extended.
Sympycore is a pure Python package with no external dependencies, it
requires Python version 2.5 or higher to run. Sympycore uses Mpmath
for fast arbitrary-precision floating-point arithmetic that is
included into sympycore package.
Sympycore is to our knowledge the most efficient pure Python
implementation of a Computer Algebra System. Its speed is comparable
to Computer Algebra Systems implemented in compiled languages. Some
comparison benchmarks are available in
and it is our aim to continue seeking for more efficient ways to
manipulate symbolic expressions:
Sympycore version 0.1 provides the following features:
* symbolic arithmetic operations
* basic expression manipulation methods: expanding, substituting,
and pattern matching.
* primitive algebra to represent unevaluated symbolic expressions
* calculus algebra of symbolic expressions, unevaluated elementary
functions, differentiation and polynomial integration methods
* univariate and multivariate polynomial rings
* matrix rings
* expressions with physical units
* SympyCore User's Guide and API Docs are available online.
Take a look at the demo for sympycore 0.1 release:
However, one should be aware that sympycore does not implement many
features that other Computer Algebra Systems do. The version number
0.1 speaks for itself:)
Sympycore is inspired by many attempts to implement CAS for Python and
it is created to fix SymPy performance and robustness issues.
Sympycore does not yet have nearly as many features as SymPy. Our goal
is to work on in direction of merging the efforts with the SymPy
project in the near future.
* Pearu Peterson <pearu.peterson AT gmail DOT com>
* Fredrik Johansson
* The work of Pearu Peterson on the SympyCore project is supported
by a Center of Excellence grant from the Norwegian Research Council to
Center for Biomedical Computing at Simula Research Laboratory.
<P><A HREF="http://sympycore.googlecode.com/">SympyCore 0.1</A> - an
efficient pure Python Computer Algebra System. (29-Feb-08)
Version 1.4 of dateutil is out:
Changes since 1.3
- Fixed another parser precision problem on conversion of decimal seconds
to microseconds, as reported by Erik Brown. Now these issues are gone
for real since it's not using floating point arithmetic anymore.
- Fixed case where tzrange.utcoffset and tzrange.dst() might fail due
to a date being used where a datetime was expected (reported and fixed
by Lennart Regebro).
- Prevent tzstr from introducing daylight timings in strings that didn't
specify them (reported by Lennart Regebro).
- Calls like gettz("GMT+3") and gettz("UTC-2") will now return the
expected values, instead of the TZ variable behavior.
- Fixed DST signal handling in zoneinfo files. Reported by
Nicholas F. Fabry and John-Mark Gurney.
What is it?
The dateutil module provides powerful extensions to the standard
datetime module, available in Python 2.3+.
* Computing of relative deltas (next month, next year,
next monday, last week of month, and a lot more);
* Computing of relative deltas between two given
date and/or datetime objects;
* Computing of dates based on very flexible recurrence rules
(every month, every week on Thursday and Friday, every
Friday 13th, and a *LOT* more), using a superset of the
iCalendar RFC specification. Parsing of RFC strings is
supported as well.
* Generic parsing of dates in almost any string format;
* Timezone (tzinfo) implementations for tzfile(5) format
files (/etc/localtime, /usr/share/zoneinfo, etc), TZ
environment string (in all known formats), iCalendar
format files, given ranges (with help from relative deltas),
local machine timezone, fixed offset timezone, UTC
timezone, and Windows registry-based timezones.
* Internal up-to-date world timezone information based on
* Computing of Easter Sunday dates for any given year,
using Western, Orthodox or Julian algorithms;
* More than 400 test cases.
There was a bug in release 4.5.1 of ConfigObj, so there is now an
* `ConfigObj 4.5.2 <http://www.voidspace.org.uk/python/
* `Validate 0.3.2 <http://www.voidspace.org.uk/python/validate.html>`_
The bug affected the use of ``None`` as a default value in configspecs
and is now fixed.
What are ConfigObj and Validate?
**ConfigObj** is a simple to use but powerful configuration file
* Nested sections to any depth
* Unicode support
* List and multiline values
* Integrated with a powerful validation system
- including automatic type checking/conversion
- repeated sections
- and allowing default values
* All comments in a file are preserved when writing
* The order of keys/sections is preserved
* A powerful unrepr mode for storing basic datatypes
**validate** is the module (optional) used for config file validation
and type marshalling. It
can be used outside of ConfigObj for matching string values against a
text specification which
also does type conversion.
Changes in ConfigObj 4.5.x
Distribution now includes validate 0.3.2 so ``None`` as a default
value in configspecs works again.
BUGFIX: Unicode configspecs now work.
ConfigObj will now guarantee that files will be written terminated
with a newline.
ConfigObj will no longer attempt to import the ``validate`` module,
until/unless you call ``ConfigObj.validate`` with
makes it faster to import.
New methods ``restore_default`` and ``restore_defaults``.
``restore_default`` resets an entry to its default value (and returns
that value). ``restore_defaults`` resets all entries to their default
value. It doesn't modify entries
without a default value. You must have validated a ConfigObj (which
populates the ``default_values`` dictionary) before calling these
BUGFIX: Proper quoting of keys, values and list values that contain
hashes (when writing). When ``list_values=False``, values containing
hashes are triple quoted.
Added the ``reload`` method. This reloads a ConfigObj from file. If
the filename attribute is not set then a ``ReloadError`` (a new
exception inheriting from ``IOError``) is raised.
BUGFIX: Files are read in with 'rb' mode, so that native/non-native
line endings work!
Minor efficiency improvement in ``unrepr`` mode.
Added missing docstrings for some overridden dictionary methods.
Added the ``reset`` method. This restores a ConfigObj to a freshly
Removed old CHANGELOG file.
Changes in Validate 0.3.x
BUGFIX: ``None`` as a default value handled correctly.
BUGFIX: Unicode checks no longer broken.
Improved performance with a parse cache.
New ``get_default_value`` method. Given a check it returns the default
value (converted to the correct type) or raises a ``KeyError`` if the
check doesn't specify a default.
Added 'tuple' check and corresponding 'is_tuple' function (which
always returns a tuple).
BUGFIX: A quoted 'None' as a default value is no longer treated as
but as the string 'None'.
BUGFIX: We weren't unquoting keyword arguments of length two, so an
empty string didn't work as a default.
BUGFIX: Strings no longer pass the 'is_list' check. Additionally, the
list checks always return lists.
A couple of documentation bug fixes.
Removed CHANGELOG from module.
Hi everyone, we are beginning to accept papers for PyCon Italia Due,
the second edition of the italian python conference. This year the
conference will be held from 9th till 11th May in Florence in Italy.
The first day of the conference (9th May) will start at Palazzo
Vecchio in the afternoon with an opening Keynote by Richard
Stallman. The next days instead the conference will be at the
Viva Hotel Laurus near the Duomo.
Thanks for the attention!
Call for papers (http://www.pycon.it/pycon2/cfp-en)
The conference is structured on three parallel tracks: Discovering
Python, Spreading Python and Learning Python:
* Discovering Python: will primarily focus on introductory topics
about Python libraries, framework and technologies;
* Spreading Python: will instead focus both on advanced technical
topics and parallel arguments like development methodologies,
real-world use cases and management techniques;
* Learning Python: will feature a continuous interaction between the
speaker and the audience: the speaker will propose a topic and
introduce a possible solution, then the talk will dynamically
evolve, naturally following questions and notes from the audience.
Talks could focus on the following topics (the list is not exclusive
* vast and/or distributed applications written in Python;
* scientific and computationally intensive applications;
* interaction with other languages/environments, RPC, services;
* web programming and web frameworks;
* desktop programming and GUI toolkits;
* Python as "scripting" language (system housekeeping, COM, etc...);
* Python and databases;
* Python as educational language;
Talks will be screened on contents, relevance for Python community and
Each talk will have one of the following duration: 30', 60' or 90'.
Please specify which length best fit your contents. Remember that this
timeframe also includes the time for the audience to enter and leave
The talk must be given in either the English or the Italian language.
For native English speaker, please consider that you will probably
need to speak a little slower than usual for perfect comprehension of
the audience, so the talk will be longer than you expect. See also the
note at the end of this paper.
How to submit a paper
Your talk proposal must be submitted online through Assopy. You will
need to enter some biographic notes about the speaker, and an abstract
of the talk (a couple of paragraphs). Note: Assopy is still Italian
only; English version is coming online soon.
If your talk is accepted
Once your talk proposal is approved, you'll have to submit your paper
before the conference opening day.
Each paper must be original work. We won't accept papers containing
Papers will be accepted in plain text, HTML (single page please),
PostScript, PDF, ... Please use a standard format, viewable and
printable on all major systems.
The files must be submitted within Assopy.
A note for non-Italian speakers
We warmly welcome and encourage the presence of non-Italian speakers
at PyCon Italia. Please, notice that most talks will be in Italian,
We are planning to provide Italian-to-English realtime translation for
our guests, but we cannot guarantee this yet, because of budget
constraints. We would also like to provide English-to-Italian realtime
translation for that part of the audience which is not much familiar
with English. To help us out, please point companies you are in
concact with to our sponsorship program. Thanks!
Valentino Volonghi aka Dialtone
http://stacktrace.it -- Aperiodico di resistenza informatica
The eigth alpha release of cgkit2 is available at http://cgkit.sourceforge.net
What is it?
The Python Computer Graphics Kit is an Open Source software package
containing a collection of Python modules, plugins and utilities that
are meant to be useful for any domain where you have to deal with 3D
data of any kind, be it for visualization, creating photorealistic
images, Virtual Reality or even games.
- New module "cri" that contains a ctypes-based RenderMan binding
- New module "mayabinary" to parse Maya Binary (.mb) files
- Various smaller fixes and additions (see the changelog for a full
For more information, visit:
- Matthias -
We are proud to announce the release of LDTP 1.0.0. This release features
number of important breakthroughs in LDTP as well as in the field of Test
Automation. This release note covers a brief introduction on LDTP followed
by the list of new features and major bug fixes which makes this new version
of LDTP the best of the breed. Useful references have been included at the
end of this article for those who wish to hack / use LDTP.
Linux Desktop (GUI Application) Testing Project is aimed at producing high
quality test automation framework (C / Python) and cutting-edge tools that
can be used to test Linux Desktop and improve it. It uses the Accessibility
libraries to poke through the application's user interface. The framework
also has tools to record test-cases based on user events in the interface of
the application which is under testing. We strive to help in building a
Whats new in this release...
* Object Oriented LDTP.
* LDTP Editor (Record / Replay).
* Other major bug fixes.
* LDTP documentation has been majorly updated.
Download source tarball -
LDTP Binary - OpenSuSE 10.2, 10.3, Factory, Fedora 6, 7, 8, RHEL 5, CentOS 5
(x86, x86_64) - http://download.freedesktop.org/ldtp/1.x/1.0.x/ or
* Joshua did a wonderful job of "Create desktop testing suite" using LDTP as
part of Google Highly Open Participation GNOME 2007 under GNOME organization
Prasad of Evolution QA team, tested LDTP editor extensively and reported all
the issues he faced. Evolution team is using LDTP editor for generating test
Initial code LDTP editor was developed by Thanumalayan <madthanu(a)gmail.com>
and Vinod Kumar <vinod.gre(a)gmail.com>.
LDTP team appreciate their contributions.
For detailed information on LDTP framework and latest updates visit
For information on various APIs in LDTP including those added for this
release can be got from http://ldtp.freedesktop.org/user-doc/index.html
To subscribe to LDTP mailing lists, visit
IRC Channel - #ldtp on irc.freenode.net
Linux Desktop (GUI Application) Testing Project -
I have just released Shed Skin 0.0.27. Thanks in large part to the
GHOP students, this new release comes with some interesting new
- support for 're', via libpcre (perl-compatible-regular-expressions)
- support for 'time' (except for time.strptime under Windows)
- basic support for 'staticmethod' and 'property'
- support for 'fnmatch', 'glob' (bootstrapped)
- improved support for 'os' (POSIX)
- OSX support again (including extension modules!)
- many fixes for multi-dir/multi-file projects
- several builtin optimizations (zip, list(str)..)
- type model for 'datetime' (no C++ implementation yet)
- split up compiler core, ss.py, into several files
- many minor bugfixes
As for the 4 new modules (re, time, fnmatch, glob), this means Shed
Skin now supports most of the following modules:
I could still really use some help with implementing/bootstrapping
implementations for 'datetime' and 'socket', and further improving
'os' (especially under Windows).
Note that since the previous release we have a nice tutorial online.
It explains in detail how to install and use Shed Skin, how to use it
to build (simple) extension modules and how to combine Shed Skin with
numpy and parallel processing solutions such as Parallel Python.
"One of my most productive days was throwing away 1000 lines of code"
- Ken Thompson