Hey everyone,
I know, it's been several years since I announced anything on these lists,
but I suspect that some of you may have uses for my new package, so here
you go.
The "rom" package is a Redis object mapper for Python. It sports an
interface similar to Django's ORM, SQLAlchemy + Elixir, or Appengine's
datastore.
This is the initial release, so there may be some rough edges. I've
included the basic intro for the package below. You can find the package at:
https://www.github.com/josiahcarlson/romhttps://pypi.python.org/pypi/rom
Please CC me on any replies if you have any questions or comments.
Thank you,
- Josiah
What's new?
==========
Everything
What
====
Rom is a package whose purpose is to offer active-record style data modeling
within Redis from Python, similar to the semantics of Django ORM,
SQLAlchemy +
Elixir, Google's Appengine datastore, and others.
Why
===
I was building a personal project, wanted to use Redis to store some of my
data, but didn't want to hack it poorly. I looked at the existing Redis
object
mappers available in Python, but didn't like the features and functionality
offered.
What is available
=================
Data types:
* Strings, ints, floats, decimals
* Json columns (for nested structures)
* OneToMany and ManyToOne columns (for model references)
Indexes:
* Numeric range fetches, searches, and ordering
* Full-word text search (find me entries with col X having words A and B)
Other features:
* Per-thread entity cache (to minimize round-trips, easy saving of all
entities)
About WSME
----------
Web Service Made Easy (WSME) simplify the writing of REST web services
by providing simple yet powerful typing which removes the need to
directly manipulate the request and the response objects.
WSME can work standalone or on top of your favorite python web
(micro)framework, so you can use both your preferred way of routing your
REST requests and most of the features of WSME that rely on the typing
system like:
* Alternate protocols, including ones supporting batch-calls
* Easy documentation through a Sphinx extension
Main Changes
------------
* Changed the way datas of complex types are stored. In previous
versions, an attribute was added to the type for each attribute,
its name being the attribute name prefixed with '_'.
Starting with this version, a single attribute _wsme_dataholder is
added to the instance.
The motivation behind this change is to avoid adding too many
attributes to the object.
* Add a special type 'HostRequest' that allow a function to ask for
the host framework request object in its arguments.
* Pecan adapter: Debug mode (which returns the exception tracebacks
to the client) can be enabled by the pecan application
configuration.
* New adapter: wsmeext.flask, for the Flask framework.
* Various bug fixes.
Documentation
-------------
http://pythonhosted.org/WSME/
Download
--------
http://pypi.python.org/pypi/WSME/
Cheers,
Christophe de Vienne
Registration is open for three upcoming PyCamps produced by the Triangle
Python Users Group:
- A five-day PyOhio PyCamp hosted by the Ohio State University Open
Source Club, July 22-26, 2013 the week prior to the PyOhio regional
Python conference weekend. PyCamp is a training program and sponsor of
PyOhio:
http://trizpug.org/boot-camp/pyohio13/
- A five-day Toronto PyCamp hosted by the University of Toronto
Department of Physics, August 12-16, 2013 the week after the PyCon
Canada national Python conference weekend. PyCamp is a Diversity Sponsor
of PyCon CA:
http://trizpug.org/boot-camp/torpy13/
- A three-day Wisconsin Mini-PyCamp hosted at the University of
Wisconsin Oshkosh, June 2-4, 2013 as part of the Plone Symposium Midwest
training days:
http://trizpug.org/boot-camp/wiscpy13/
PyCamp is the original, ultra-low-cost Python Boot Camp created by a
user group for user groups. For beginners, PyCamp makes you productive
so you can get your work done quickly. PyCamp emphasizes the features
which make Python a simpler and more efficient language. Following along
with example Python PushUps speeds your learning process. Become a
self-sufficient Python developer at PyCamp. PyCamps are conducted in
state of the art high technology classrooms on university campuses.
Registration will open soon also for two additional Triangle Python User
Group boot camp events. An additional announcement will follow when
registration opens for these events, but mark your calendars now:
- A five-day Seattle PyCamp hosted by the University of Washington
Department of Computer Science and Engineering and UW Marketing,
September 9-13, 2013. PyCamp is a sponsor of the Seattle Plone Users Group.
- A five-day special Python Web Programming boot camp hosted by the
University of North Carolina Department of Marine Sciences, August 5-9,
2013.
--
Sincerely,
Chris Calloway http://nccoos.org/Members/cbc
office: 3313 Venable Hall phone: (919) 599-3530
mail: Campus Box #3300, UNC-CH, Chapel Hill, NC 27599
________________________________________________________________________
ANNOUNCING
eGenix.com mx Base Distribution
mxDateTime, mxTextTools, mxProxy, mxURL, mxUID,
mxBeeBase, mxStack, mxQueue, mxTools
Version 3.2.6
Open Source Python extensions providing
important and useful services
for Python programmers.
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.6-GA.html
________________________________________________________________________
ABOUT
The eGenix.com mx Base Distribution for Python is a collection of
professional quality software tools which enhance Python's usability
in many important areas such as fast text searching, date/time
processing and high speed data types.
The tools have a proven record of being portable across many Unix and
Windows platforms. You can write applications which use the tools on
Windows and then run them on Unix platforms without change due to the
consistent platform independent interfaces.
Contents of the distribution:
* mxDateTime - Easy to use Date/Time Library for Python
* mxTextTools - Fast Text Parsing and Processing Tools for Python
* mxProxy - Object Access Control for Python
* mxBeeBase - On-disk B+Tree Based Database Kit for Python
* mxURL - Flexible URL Data-Type for Python
* mxUID - Fast Universal Identifiers for Python
* mxStack - Fast and Memory-Efficient Stack Type for Python
* mxQueue - Fast and Memory-Efficient Queue Type for Python
* mxTools - Fast Everyday Helpers for Python
The package also include a number of helpful smaller modules in the
mx.Misc subpackage, such as mx.Misc.ConfigFile for config file parsing
or mx.Misc.CommandLine to quickly write command line applications in
Python.
All available packages have proven their stability and usefulness in
many mission critical applications and various commercial settings all
around the world.
For more information, please see the distribution page:
http://www.egenix.com/products/python/mxBase/
________________________________________________________________________
NEWS
The 3.2.6 release of the eGenix mx Base Distribution is the latest
release of our open-source Python extensions. It includes these fixes
and enhancements:
Fixes
-----
* mxURL: Added a work-around to resolve a segfault when exiting the
Python 2.7.4 interpreter. This is a Python bug which was introduced
in Python 2.7.4 and will get fixed again in Python 2.7.5 - see
http://bugs.python.org/issue17703.
Documentation Enhancements
--------------------------
* mxURL: Added sections on URL join operations and interaction with
strings to mxURL documentation.
* mxDateTime: Added notice to documentation that .gmtoffset() can
give wrong results during DST switching time.
Compatibility Enhancements
--------------------------
* Filled the tp_methods slot of all extension types to improve Python
2.7 compatibility.
Distribution Enhancements
-------------------------
* Added download URL registered with PyPI is now a static page and
includes an MD5 hash tag to allow verification of the page.
* All distribution files are GPG signed with our release key. We also
provide MD5 and SHA1 hash values for all files to easily verify the
downloads.
eGenix mx Base Distribution 3.2.0 was release on 2012-08-28. Please
see the eGenix mx Base Distribution 3.2.0 announcement for new
features in the 3.2 major release:
https://cms.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.ht…
For a full list of changes, please refer to the eGenix mx Base
Distribution change log and the change logs of the various included
Python packages.
http://www.egenix.com/products/python/mxBase/changelog.html
________________________________________________________________________
UPGRADING
We encourage all users to upgrade to this latest eGenix mx Base
Distribution release.
If you are upgrading from eGenix mx Base 3.1.x, please see the eGenix
mx Base Distribution 3.2.0 release notes for details on what has
changed since the 3.1 major release.
http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html
For a full list of changes, please refer to the eGenix mx Base Distribution
change log at
http://www.egenix.com/products/python/mxBase/changelog.html
and the change logs of the various included Python packages.
________________________________________________________________________
LICENSE
The eGenix mx Base package is distributed under the eGenix.com Public
License 1.1.0 which is an Open Source license similar to the Python
license. You can use the packages in both commercial and non-commercial
settings without fee or charge.
The package comes with full source code
________________________________________________________________________
DOWNLOADS
The download archives and instructions for installing the packages can
be found on the eGenix mx Base Distribution page:
http://www.egenix.com/products/python/mxBase/
As always, we are providing pre-built binaries for all common
platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac
OS X 32/64-bit. Source code archives are available for installation on
all other Python platforms, such as Solaris, AIX, HP-UX, etc.
To simplify installation in Zope/Plone and other egg-based systems, we
have also precompiled egg distributions for all platforms. These are
available on our own PyPI-style index server for easy and automatic
download.
Whether you are using a prebuilt package or the source distribution,
installation is a simple "python setup.py install" command in all
cases. The only difference is that the prebuilt packages do not
require a compiler or the Python development packages to be installed.
________________________________________________________________________
SUPPORT
Commercial support for this product is available from eGenix.com.
Please see
http://www.egenix.com/services/support/
for details about our support offerings.
________________________________________________________________________
MORE INFORMATION
For more information on the eGenix mx Base Distribution, documentation
and installation notes, please visit our web-site:
http://www.egenix.com/products/python/mxBase/
About Python (http://www.python.org/):
Python is an object-oriented Open Source programming language
which runs on all modern platforms. By integrating ease-of-use,
clarity in coding, enterprise application connectivity and rapid
application design, Python establishes an ideal programming
platform for today's IT challenges.
About eGenix (http://www.egenix.com/):
eGenix is a software project, consulting and product company
focusing on expert project services and professional quality
products for companies, Python users and developers.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Apr 17 2013)
>>> Python Projects, Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2013-04-09: Released mxODBC.Connect 2.0.3 ... http://egenix.com/go42
::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
Python for Programmers in Katowice
==================================
Date: May 27 - 29, 2013
Location: Katowice, Poland
Language: English
Link: http://www.python-academy.com/courses/python_course_programmers.html
Instructor: Mike Müller (eight years of Python training experience)
Three days of Python training for participants with programming
experience in other languages. Learn all you need to know about
Python to write pythonic programs that take advantage of Python's
best features.
Want to learn more? Just add another three days of our "Advanced Python"
class at the same location (May 30 - June 1, 2013).
http://www.python-academy.com/courses/specialtopics/python_course_advanced.…
---
Our next courses:
14.04.-17.04.2013 (Leipzig) Python für Nicht-Programmierer (German)
15.04.-17.04.2013 (Leipzig) Python für Programmierer (German)
18.04.-20.04.2013 (Leipzig) Python für Wissenschaftler und Ingenieure (German)
27.05.-29.05.2013 (Katowice, Poland) Python for Programmers (English)
30.05.-01.06.2013 (Katowice, Poland) Advanced Python Course (English)
03.06.-05.06.2013 (Leipzig) Einstieg in Django (German)
06.06.-08.06.2013 (Leipzig) Django für Fortgeschrittene (German)
10.06.-12.06.2013 (Leipzig) Python for Scientists and Engineers (English)
13.06.2013 (Leipzig) Fast Code with the Cython Compiler (English)
14.06.2013 (Leipzig) Fast NumPy Processing with Cython (English)
24.06.-26.06.2013 (Leipzig) Professional Testing with pytest and tox (English)
02.07.2013 (Florence, Italy) Optimization at EuroPython (English)
06.07.-07.07.2013 (Florence, Italy) Advanced Python at EuroPython (English)
09.09.-11.09.2013 (Leipzig) Twisted Training (English)
11.09.-13.09.2013 (Bologna, Italy) Python per programmatori (Italian)
12.09.-13.09.2013 (Leipzig) Content-Management mit Plone (German)
04.11.-06.11.2013 (Leipzig) Introduction to Django (English)
07.11.-09.11.2013 (Leipzig) Advanced Django (English)
More information at http://www.python-academy.com
--
Dr.-Ing. Mike Müller, M.Sc.
- Geschäftsführer (CEO) -
Python Academy GmbH & Co. KG
Zur Schule 20
04158 Leipzig
Germany
Sitz (Registered Office): Leipzig
Amtsgericht (Registration Court): Leipzig
HRA (Commercial Register No.): 16004
Persönlich haftende Gesellschafterin
(Personally Liable Partner):
py solutions GmbH
Sitz (Registered Office): Leipzig
Amtsgericht (Registration Court): Leipzig
HRB (Commercial Register No.): 25781
Geschäftsführer (Managing Director): Dr. Mike Müller
Tel: +49 341 260 3370
Fax: +49 341 520 4495
E-Mail: mmueller(a)python-academy.de
WWW: http://www.python-academy.com
Advanced Python in Katowice
===========================
Date: May 30 - June 1, 2013
Location: Katowice, Poland
Language: English
Link:
http://www.python-academy.com/courses/specialtopics/python_course_advanced.…
Instructor: Mike Müller (eight years of Python training experience)
Dive deep into Python. Would you like to learn how decorators work
and what descriptors do? Metaclasses don't have to be scary and
generators and coroutines can be fun to work with. Context managers
can help to improve your code as well as pythonic patterns and best
practices.
Python has many things to offer that might need a bit more of
explanation. Join us for three days of total immersion into a great
programming language. Be sure to bring your questions along.
Not enough Python experience for an advanced course? Just attend
our training "Python for Programmers" at the same location right
before (May 27 - 29, 2013) to learn the basics too.
http://www.python-academy.com/courses/python_course_programmers.html
---
Our next courses:
14.04.-17.04.2013 (Leipzig) Python für Nicht-Programmierer (German)
15.04.-17.04.2013 (Leipzig) Python für Programmierer (German)
18.04.-20.04.2013 (Leipzig) Python für Wissenschaftler und Ingenieure (German)
27.05.-29.05.2013 (Katowice, Poland) Python for Programmers (English)
30.05.-01.06.2013 (Katowice, Poland) Advanced Python Course (English)
03.06.-05.06.2013 (Leipzig) Einstieg in Django (German)
06.06.-08.06.2013 (Leipzig) Django für Fortgeschrittene (German)
10.06.-12.06.2013 (Leipzig) Python for Scientists and Engineers (English)
13.06.2013 (Leipzig) Fast Code with the Cython Compiler (English)
14.06.2013 (Leipzig) Fast NumPy Processing with Cython (English)
24.06.-26.06.2013 (Leipzig) Professional Testing with pytest and tox (English)
02.07.2013 (Florence, Italy) Optimization at EuroPython (English)
06.07.-07.07.2013 (Florence, Italy) Advanced Python at EuroPython (English)
09.09.-11.09.2013 (Leipzig) Twisted Training (English)
11.09.-13.09.2013 (Bologna, Italy) Python per programmatori (Italian)
12.09.-13.09.2013 (Leipzig) Content-Management mit Plone (German)
04.11.-06.11.2013 (Leipzig) Introduction to Django (English)
07.11.-09.11.2013 (Leipzig) Advanced Django (English)
More information at http://www.python-academy.com
--
Dr.-Ing. Mike Müller, M.Sc.
- Geschäftsführer (CEO) -
Python Academy GmbH & Co. KG
Zur Schule 20
04158 Leipzig
Germany
Sitz (Registered Office): Leipzig
Amtsgericht (Registration Court): Leipzig
HRA (Commercial Register No.): 16004
Persönlich haftende Gesellschafterin
(Personally Liable Partner):
py solutions GmbH
Sitz (Registered Office): Leipzig
Amtsgericht (Registration Court): Leipzig
HRB (Commercial Register No.): 25781
Geschäftsführer (Managing Director): Dr. Mike Müller
Tel: +49 341 260 3370
Fax: +49 341 520 4495
E-Mail: mmueller(a)python-academy.de
WWW: http://www.python-academy.com
Numba 0.8 adds support for autojit classes and methods, building on
the perfect hash table ideas from SEP 201 [1]. This allows methods to
automatically specialize to argument types and instance attribute
types.
Many thanks to Dag Sverre Seljebotn for his work and ideas on the SEPs
and his ideas and implementation of the hash table and surrounding
facilities, and many thanks to Robert Bradshaw for his contributions
and ideas.
Further functionality includes Python 3 support for pycc, and
retrieving pointers from numba jit functions. A memory leak that
plagued users has also been fixed. Many thanks for all the bug reports
and feedback!
Over the coming months we hope to stabilize numba and allow
distribution of portable numba code and a well-defined and stable
runtime. We also hope to address some of the math portability and
numerical stability issues. We have a roadmap [2] which details what
we want to do, and also provides entry points for new potential
developers to contribute.
Stay tuned as we try to make numba more robust, portable,
interoperable and usable :)
Download
========
http://numba.pydata.org/download.html
Website
=======
http://numba.pydata.org/
Documentation
============
http://numba.pydata.org/numba-doc/0.8/index.html
Numba
======
Numba is an just-in-time specializing compiler which compiles
annotated Python and NumPy code to LLVM (through decorators). Its goal
is to seamlessly integrate with the Python scientific software stack
and produce optimized native code, as well as integrate with native
foreign languages.
References
=========
[1]: https://github.com/numfocus/sep/blob/master/sep201.rst
[2]: http://numba.pydata.org/numba-doc/dev/roadmap.html
Hello, World!
tl;dr
=====
Version: 0.9.6
License: Expat (sometimes called MIT)
Hilarious: Yes
Site: http://hylang.org
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)
What's new
==========
There's a new release of hy (version 0.9.6) pushed to PyPi. It's hand-crafted
with the utmost care from the AUTHORS[1] to help you (yes, you!) hack using
Lisp without giving up your Python libs of choice (or even your Python
libs giving up on you!)
The source is on GitHub @ http://github.com/hylang/hy (star it,
fork it, hack it)
It's undergoing changes quite quickly - so, be careful! The API / language
is being worked out very quickly.
The two releases since the last post here (0.9.5 and 0.9.6) features the
following select features (for a full list, check NEWS, this is seriously
cut down)
* Added all the missing math operators.
* We now support float and complex numbers.
* Keywords (such as :foo) are now valid and loved.
* `try' now accepts `else'
* Added "not" as the inline "not" operator.
* `let' macro added
* Added "~" as the "invert" operator.
* Added the tail threading macro (->>)
* UTF encoded symbols are allowed, but mangled.
* If hoisting (for things like printing the return of an if statement)
have been added. '(print (if true true true))'
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
Thanks!
=======
Thanks, folks! Tweet about it, hack with it, hang out with us on #hy
on freenode[2].
Fondly, and with just tons of love,
[1]:
* Paul Tagliamonte <paultag(a)debian.org>
* Thomas Mashek <thomas(a)thescoundrels.net>
* Amrut Joshi <amrut.joshi(a)gmail.com>
* Christopher Allan Webber <cwebber(a)dustycloud.org>
* Will Kahn-Greene <willg(a)bluesock.org>
* James King <james(a)agentultra.com>
* Julien Danjou <julien(a)danjou.info>
* Nicolas Dandrimont <nicolas.dandrimont(a)crans.org>
* Gergely Nagy <algernon(a)madhouse-project.org>
* Konrad Hinsen <konrad.hinsen(a)fastmail.net>
* Vladimir Gorbunov <vsg(a)suburban.me>
[2]: http://webchat.freenode.net/?channels=hy
--
.''`. Paul Tagliamonte <paultag(a)debian.org>
: :' : Proud Debian Developer
`. `'` 4096R / 8F04 9AD8 2C92 066C 7352 D28A 7B58 5B30 807C 2A87
`- http://people.debian.org/~paultag
Hello,
We are happy to announce the release of version 4.3 of the Enthought Tool
Suite (ETS-4.3.0).
ETS (http://code.enthought.com/projects) is a collection of free,
open-source components developed by Enthought and our partners, which we
use every day to construct custom scientific applications. ETS includes a
wide variety of components, including:
- an extensible application framework
- application building blocks
- 2-D and 3-D graphics libraries
- scientific and math libraries
- developer tools
This release features some important improvements:
- NEW: Casuarius (Cython binding for Cassowary) supports
constraints-based layout in Enaml, and soon in Enable. Cassowary is an
incremental constraint-solving toolkit, which efficiently solves systems of
linear equalities and inequalities.
- Mayavi now fully supports the Qt backend. The Volume module is now
usable with the Qt backend. This also means that Mayavi can be used on Mac
OS X 64-bit using the Qt backend.
- Chaco has added space-saving horizon plots, and improvements to many
plots and tools.
- Pyface has added and improved many UI components.
- Enaml 0.6 has made extensive API changes and performance enhancements,
and added many features, including new and improved widgets, embedded
matplotlib and traitsui, and enhanced layout flow. However it is still
under heavy development, and its API will continue to change in
backward-incompatible ways. Use at your own risk.
- Bug fixes to all packages.
- Improvements to documentation and examples.
The recommended way to get the ETS packages is to use Enthought
Canopy<https://www.enthought.com/products/canopy/> (formerly
EPD). They are also available on PyPI, and the source code is on github.
cheers,
ETS Developers.
Wrote a program that lets you publish your MS Access database data to PDF, using Python, ReportLab, xtopdf and pypyodbc.
(This code will go into my xtopdf toolkit (a Python toolkit for PDF creation) after cleanup, in a while.)
Link:
http://jugad2.blogspot.in/2013/04/using-xtopdf-and-pypyodbc-to-publish-ms.h…
Note: Saw some comments about my blog post on the Python Reddit, which made me realize that I had not explained that similar code can be used to publish data from any ODBC database (for which you have an ODBC driver, and which is supported by pypyodbc), to PDF. All you have to do is change the connection string in the code, and maybe a few other small tweaks for differences between SQL dialects of different RDBMS's.
Enjoy.
- Vasudev Ram
www.dancingbison.comjugad2.blogspot.combitbucket.org/vasudevram/xtopdf