ANNOUNCE: flufl.enum 4.0

2013-04-05 Thread Barry Warsaw
I am happy to announce flufl.enum version 4.0.

What is flufl.enum?  It is an enumeration package with a simple syntax, and
concise and specific semantics.  flufl.enum is compatible with Python 2.7,
3.2, and 3.3.  It is proposed for inclusion in Python 3.4 by way of PEP 435.
My thanks to Eli Bendersky for his help with both the code and in authoring
the PEP, as well as everyone who participated in discussions on python-dev,
python-ideas, and at the PyCon 2013 language summit.

Changes since 3.2:

 - Added the IntEnum variant.  When you create an enumeration with this base
   class, the resulting enum values *are* ints and can be used anywhere a
   Python int can be used, including in the C API.  (LP: #1132976)

 - make() is deprecated.  You can now just call Enum() or IntEnum() to
   programmatically create enumerations.  (LP: #1162375).  These constructors
   now also accept a space-separated string of attribute names which are
   auto-split and auto-numbered.  They also accept a dictionary mapping names
   to values.

 - IntEnums values support __index__() for slicing (LP: #1132972), as well
   as__int__() for coercion to a concrete integer.

 - EnumValue.__int__() is deprecated; use IntEnumValue (via IntEnum) instead.

 - EnumValues now have a .value attribute to access the actual, underlying
   value. (LP: #1132859)

 - Previously deprecated attributes .enumclass and .enumname have been
   removed, as well as the module function make_enum().  (LP: #1132951)

 - Minor API changes: the repr of enum values say "value=" instead of "int=",
   and multiple enum values in a single enum definition now raises ValueError
   instead of TypeError.

 - Single argument Enum() calling as a synonym for getitem is deprecated.

 - Other bugs fixed: LP: #1026403, LP: #1132830, LP: #1124596

Full documentation is available here:

http://pythonhosted.org/flufl.enum/README.html

The project home is at:

https://launchpad.net/flufl.enum

You can report bugs at:

https://bugs.launchpad.net/flufl.enum

Download the package from the Cheeseshop:

https://pypi.python.org/pypi/flufl.enum

or from the Launchpad project page above.

Read PEP 435:

http://www.python.org/dev/peps/pep-0435/

Enjoy,
-Barry
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/


ANN: gcc-python-plugin 0.12

2013-04-05 Thread David Malcolm
gcc-python-plugin is a plugin for GCC 4.6 onwards which embeds the
CPython interpreter within GCC, allowing you to write new compiler
warnings in Python, generate code visualizations, etc.

It ships with "gcc-with-cpychecker", which implements static analysis
passes for GCC aimed at finding bugs in CPython extensions.  In
particular, it can automatically detect reference-counting errors:
  http://gcc-python-plugin.readthedocs.org/en/latest/cpychecker.html

Major new features in 0.12
==

* support added for GCC 4.8 (along with 4.6 and 4.7)
* addition of a new "gcc-c-api" component to isolate much of GCC's
internals (and the differences between 4.6-4.8).  I plan for this to
eventually be its own project, aiming at providing a stable API and ABI
for working with GCC, once it has proven itself in the context of the
python plugin.
* link-time-optimization support, for e.g. whole-program visualizations
across multiple source files.

See 
  http://gcc-python-plugin.readthedocs.org/en/latest/0.12.html
for more information, and for details of the numerous other changes.


Tarball releases are available at:
  https://fedorahosted.org/releases/g/c/gcc-python-plugin/

Prebuilt-documentation can be seen at:
  http://gcc-python-plugin.readthedocs.org/en/latest/index.html

The project's homepage is:
  https://fedorahosted.org/gcc-python-plugin/

The plugin and checker are Free Software, licensed under the GPLv3 or
later.

Enjoy!
Dave Malcolm

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/


gui2py alpha 0.9a: Simple and powerful GUI framework for agile development, released

2013-04-05 Thread Mariano Reingart
FYI

gui2py is a “fork” of PythonCard (a simple software construction kit
based on wxpython), but improved trying to enhance it with a modern
look & feel (better visual designer, property grid, drag & drop
toolbox, etc.) and keeping it simple and powerful (i.e. adding MVC
List, Tree, Grid, easier layout with Notebook, Sizers and Web-like
features):

https://code.google.com/p/gui2py/

It was based initially mainly on PythonCard (and also on wxPython
Demo, wxGlade and other related projects), but also it includes a lot
of experience and personal needs (it would be used to port a legacy
ERP-like system for SME, actually composed of a large Visual Basic 5.0
classic codebase). For more info see:

https://code.google.com/p/erplibre/

It is also aimed for teaching in introductory and intermediate
programming courses (prior web development assignments), so it was
simplified even further and adopted some HTML/Javascript features.

In parallel, gui2py is part of a meta-project called rad2py (Rapid
Application Development for Python), an academic research about
software engineering best practices and quality assurance, whose goals
are to integrate an IDE (code editor, debugger, unit test and other
tools) with agile methodologies and a well defined software process
(mainly for metrics collection, analysis and estimation):

https://code.google.com/p/rad2py/

https://gui2py.googlecode.com/hg/screenshots/win8/rad2py_ide2py_gui2py_integration.png

As gui2py it is not completely backwards compatible with PythonCard, a
lot of code was changed/removed or added, it was "forked" in a
separate project to not cause confusions.
Migration should be easy, and an automatic tool is planned to convert
PythonCard resources and source code to gui2py requeriments.
New features are only available on gui2py, and they could not be
backported to PythonCard.

This alpha release is functional and "stable" for development
porposes, but expect some APIs to change in the near future, and a lot
of features still need to be incorporated.

Screenshots (Windows, Mac OS X, Ubuntu):

https://code.google.com/p/gui2py/wiki/SampleScreenshots

https://code.google.com/p/gui2py/wiki/ToolsScreenshots

Quick Start Installation Guide:

https://code.google.com/p/gui2py/wiki/QuickStart

Roadmap:

https://code.google.com/p/gui2py/wiki/RoadMap

Feedback is welcome, and of course, if you are interested, I've
created this group where anyone can participate:

http://groups.google.com/group/gui2py

gui...@googlegroups.com

My special thanks to all of the PythonCard's, wxPython's and Python's
developers that made this possible

Best regards,

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/


New version of (french) "Une introduction à Python 3"

2013-04-05 Thread Laurent Pointal
Hello,

a new version of B.Cordeau book, for which i was invited to participate, is 
now online here:
http://perso.limsi.fr/pointal/_media/python:cours:courspython3.pdf

This (french) book is for people intending to learn Python as first 
programming language.

A+
L.Pointal.

-- 
Laurent POINTAL - laurent.poin...@laposte.net

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/


ANN: Hy - Python / Lisp interoperability layer

2013-04-05 Thread Paul Tagliamonte
Hello, World!

tl;dr
=

Version:   0.9.4
License:   Expat (sometimes called MIT)
Hilarious: Yes

Hy is a wicked funny hack that lets you interop (in both directions)
with Lisp from Python (or with Python from Lisp).

It's pip installable:

  $ pip install hy
   [...]
  $ hy
  => (print (.join ", " ["Hello" "World"]))
  Hello, World

  (REPL even has cute readline bits mostly workingish, with a few known
   issues)


And the source is on GitHub @ http://git.io/hy (star it, fork it, hack it)


It's undergoing changes quite quickly - so, be careful!


OK, what is it (technically)


Hy is a set of hacks, implemented in Python, to lex and compile a Lisp
variant (called `Hy', which looks very similar to Clojure in some ways)
into Python AST, and transparently load it into sys.modules using a PEP
302 import hook.

I gave a lightning talk about Hy at PyCon, in case anyone's having
flashbacks. You can see that talk on my blog
(http://blog.pault.ag/post/46982895940/), or watch a full hour-long talk
about Hy at Boston Python at http://www.youtube.com/watch?v=ulekCWvDFVI


Right, so that means?
=

You can do hilarious (hylarious?) things like write full Django
projects[1] in Lisp, or interop with pymongo[2], or even use pdb
to debug Lisp code[3].


Wait, are you serious?
==

About it working? Yup!

About making this lisp-variant production quality? Not really.

It's just really funny, and helps teach people about how awesome Python is.


Whatabout Macros?
=

Yep!(*)

*: but you have to write them in Python for now (code plot'ed) :(

Docs?
=

Yep! http://hy.rtfd.org/ - could use help!


Hacks welcome!

With lots of love,
  paultag


Special thanks to the current contributors:

  * Thomas Mashek 
  * Amrut Joshi 
  * Christopher Allan Webber 
  * Will Kahn-Greene 
  * James King 
  * Julien Danjou 
  * Nicolas Dandrimont 


[1]: https://github.com/paultag/djlisp
[2]: https://gist.github.com/paultag/5188459
[3]: http://blog.pault.ag/post/45232056896/hilariously-debuggable-lisp-hy


-- 
 .''`.  Paul Tagliamonte 
: :'  : Proud Debian Developer
`. `'`  4096R / 8F04 9AD8 2C92 066C 7352  D28A 7B58 5B30 807C 2A87
 `- http://people.debian.org/~paultag
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/