Hello,
the version 1.1 of sec-wall has just been released.
Notable changes
---------------
- Added an 'ssl-wrap-only' option for terminating SSL without requiring
clients to provide any authentication information
- Simplified access to sec-wall's internals from other Python packages
so various authentication methods can be directly imported from Python code
What is sec-wall?
-----------------
sec-wall is a feature packed security proxy.
sec-wall has many interesting features, including support for SSL/TLS,
WS-Security, HTTP Auth Basic/Digest, extensible authentication schemes
based on custom HTTP headers and XPath expressions, powerful URL
matching/rewriting and an optional headers enrichment.
sec-wall uses and is built on top of several fantastic Python open
source technologies, such as gevent, Spring Python, pesto, lxml, zdaemon
or PyYAML and is meant to be highly customizable and easy to use. Good
performance, tests, documentation and building an awesome community are
at the very heart of the project.
Here's an example showing how little is needed to secure a backend
server with HTTP Basic Auth.
# ######################################################
# -*- coding: utf-8 -*-
# stdlib
import uuid
# Don't share it with anyone.
INSTANCE_SECRET = '5bf4e78c256746eda2ce3e0e73f256d0'
# May be shared with the outside world.
INSTANCE_UNIQUE = uuid.uuid4().hex
def default():
return {
'basic-auth':True,
'basic-auth-username':'MyUser',
'basic-auth-password':'MySecret',
'basic-auth-realm':'Secure area',
'host': 'http://example.com'
}
urls = [
('/*', default()),
]
# ######################################################
Links
-----
Project's homepage: http://sec-wall.gefira.pl/
Getting started:
http://sec-wall.gefira.pl/documentation/getting-started/index.html
Usage examples:
http://sec-wall.gefira.pl/documentation/usage-examples/index.html
Twitter: https://twitter.com/fourthrealm
Blog: http://www.gefira.pl/blog
IRC: #sec-wall channel on Freenode network
cheers,
--
Dariusz Suchojad
Hi all,
I am pleased to announce the availability of SciPy 0.10.1. This is a
maintenance release, with no new features compared to 0.10.0.
Sources and binaries can be found at
http://sourceforge.net/projects/scipy/files/scipy/0.10.1/, release notes
are copied below.
Enjoy,
The SciPy developers
==========================
SciPy 0.10.1 Release Notes
==========================
.. contents::
SciPy 0.10.1 is a bug-fix release with no new features compared to 0.10.0.
Main changes
------------
The most important changes are::
1. The single precision routines of ``eigs`` and ``eigsh`` in
``scipy.sparse.linalg`` have been disabled (they internally use double
precision now).
2. A compatibility issue related to changes in NumPy macros has been fixed,
in
order to make scipy 0.10.1 compile with the upcoming numpy 1.7.0 release.
Other issues fixed
------------------
- #835: stats: nan propagation in stats.distributions
- #1202: io: netcdf segfault
- #1531: optimize: make curve_fit work with method as callable.
- #1560: linalg: fixed mistake in eig_banded documentation.
- #1565: ndimage: bug in ndimage.variance
- #1457: ndimage: standard_deviation does not work with sequence of indexes
- #1562: cluster: segfault in linkage function
- #1568: stats: One-sided fisher_exact() returns `p` < 1 for 0 successful
attempts
- #1575: stats: zscore and zmap handle the axis keyword incorrectly
I am pleased to announce release 2012.1 of SfePy.
Description
-----------
SfePy (simple finite elements in Python) is a software for solving
systems of coupled partial differential equations by the finite element
method. The code is based on NumPy and SciPy packages. It is distributed
under the new BSD license.
Home page: http://sfepy.org
Downloads, mailing list, wiki: http://code.google.com/p/sfepy/
Git (source) repository, issue tracker: http://github.com/sfepy
Highlights of this release
--------------------------
- initial version of linearizer of higher order solutions
- rewrite variable and evaluate cache history handling
- lots of term updates/fixes/simplifications
- move web front page to sphinx docs
For full release notes see http://docs.sfepy.org/doc/release_notes.html#id1
(rather long and technical).
Best regards,
Robert Cimrman and Contributors (*)
(*) Contributors to this release (alphabetical order):
Tom Aldcroft, Vladimír Lukeš, Matyáš Novák, Andre Smit
We're pleased to announce the immediate availability of release candidates for
Python 2.6.8, 2.7.3, 3.1.5, and 3.2.3 . The main impetus for these releases is
fixing a security issue in Python's hash based types, dict and set, as described
below. Python 2.7.3 and 3.2.3 include the security patch and the normal set of
bug fixes. Since Python 2.6 and 3.1 are maintained only for security issues,
2.6.8 and 3.1.5 contain only various security patches.
The security issue exploits Python's dict and set implementations. Carefully
crafted input can lead to extremely long computation times and denials of
service. [1] Python dict and set types use hash tables to provide amortized
constant time operations. Hash tables require a well-distributed hash function
to spread data evenly across the hash table. The security issue is that an
attacker could compute thousands of keys with colliding hashes; this causes
quadratic algorithmic complexity when the hash table is constructed. To
alleviate the problem, the new releases add randomization to the hashing of
Python's string types (bytes/str in Python 3 and str/unicode in Python 2),
datetime.date, and datetime.datetime. This prevents an attacker from computing
colliding keys of these types without access to the Python process.
Hash randomization causes the iteration order of dicts and sets to be
unpredictable and differ across Python runs. Python has never guaranteed
iteration order of keys in a dict or set, and applications are advised to never
rely on it. Historically, dict iteration order has not changed very often across
releases and has always remained consistent between successive executions of
Python. Thus, some existing applications may be relying on dict or set ordering.
Because of this and the fact that many Python applications which don't accept
untrusted input are not vulnerable to this attack, in all stable Python releases
mentioned here, HASH RANDOMIZATION IS DISABLED BY DEFAULT. There are two ways to
enable it. The -R commandline option can be passed to the python executable. It
can also be enabled by setting an environmental variable PYTHONHASHSEED to
"random". (Other values are accepted, too; pass -h to python for complete
description.)
More details about the issue and the patch can be found in the oCERT advisory
[1] and the Python bug tracker [2].
These releases are releases candidates and thus not recommended for production
use. Please test your applications and libraries with them, and report any bugs
you encounter. We are especially interested in any buggy behavior observed using
hash randomization. Excepting major calamity, final versions should appear after
several weeks.
Downloads are at
http://python.org/download/releases/2.6.8/http://python.org/download/releases/2.7.3/http://python.org/download/releases/3.1.5/http://python.org/download/releases/3.2.3/
Please test these candidates and report bugs to
http://bugs.python.org/
With regards,
The Python release team
Barry Warsaw (2.6), Georg Brandl (3.2), Benjamin Peterson (2.7 and 3.1)
[1] http://www.ocert.org/advisories/ocert-2011-003.html
[2] http://bugs.python.org/issue13703
Python Power Course and much more
=================================
The "Python Power Course" [1] consist of 8 sucessive days of
Python training. This is 3 days "Advanced Python" [2] and 5 days
"HPC with Python" [3] for intermediate Python programmers.
Sounds interesting but no Python experience yet? Just add another
3 days "Python for Programmers" [4] offered just before the
"Python Power Course" for an up to 11-day non-stop Python immersion.
You prefer German as teaching language? We also offer:
* Python für Programmierer [5]
* Python für Wissenschaftler und Ingenieure [6]
* Einstieg in Django [7]
* Django für Fortgeschrittene [8]
See below for course details.
[1] http://www.python-academy.com/courses/python_power_course.html
[2] http://www.python-academy.com/courses/specialtopics/python_course_advanced.…
[3] http://www.python-academy.com/courses/python_course_high_performance.html
[4] http://www.python-academy.com/courses/python_course_programmers.html
[5] http://www.python-academy.de/Kurse/python_kurs_programmierer.html
[6[ http://www.python-academy.de/Kurse/python_kurs_wissenschaftler.html
[7] http://www.python-academy.de/Kurse/django_kurs_einstieg.html
[8] http://www.python-academy.de/Kurse/django_kurs_fortgeschrittene.html
Python für Programmierer
------------------------
The German version of our Python introduction for people who
know programming. Learn how to write pythonic programs from day one.
Date: 16.04.-18.04.2012
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: German
Link: http://www.python-academy.de/Kurse/python_kurs_programmierer.html
Python für Wissenschaftler und Ingenieure
-----------------------------------------
German engineers do use Python to construct cars, for example.
In this course they can learn how to leverage import Python
libraries for this.
Date: 19.04.-21.04.2012
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: German
Link: http://www.python-academy.de/Kurse/python_kurs_wissenschaftler.html
Einstieg in Django
------------------
Learn Django, the famous Python web framework. This course starts at the
beginning; no prior Django knowlegde required.
Date: 23.04.-25.04.2012
Location: Leipzig, Germany
Trainer: Markus Zapke-Gründemann
Course Language: German
Link: http://www.python-academy.de/Kurse/django_kurs_einstieg.html
Django für Fortgeschrittene
---------------------------
You would like to get deeper into Django? This course provides advanced
concepts. Ask the Django expert your specific questions.
Date: 26.04.-27.04.2012
Location: Leipzig, Germany
Trainer: Markus Zapke-Gründemann
Course Language: German
Link: http://www.python-academy.de/Kurse/django_kurs_fortgeschrittene.html
Python for Programmers
----------------------
You know another programming language and would like to learn Python?
This course teaches you all the basics to write useful Python programs.
It is hands-on with plenty of exercises and also provides sound knowledge
how Python does things.
Date: 05.06.-07.06.2012
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: English
Link: http://www.python-academy.com/courses/python_course_programmers.html
Advanced Python
---------------
You would like to learn more about metaclasses, decorators, descriptors,
context managers, comprehensions, patterns and good Python programming
practices? This courses teaches all this with plenty of hands-on
examples that makes these, admittedly somewhat involved topics, accessibly
to everybody with intermediate Python experience.
Date: 08.06.-10.06.2012
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: English
Link:
http://www.python-academy.com/courses/specialtopics/python_course_advanced.…
HPC with Python
---------------
"High-Performance Computation with Python" is the new kid in the
block. This course is designed to give you a solid foundation to
improve the run time of your Python programs and write efficient
algorithms. The ingredients are use of the right data structure
for the problem, extension in other languages, Cython and NumPy.
There five course that can be booked separately. See below for more
details.
Date: 11.06.-15.06.2012
Location: Leipzig, Germany
Trainer: Mike Müller, Stefan Behnel
Course Language: English
Link: http://www.python-academy.com/courses/python_course_high_performance.html
Optimizing of Python Programs
++++++++++++++++++++++++++++++
Learn how to profile programs, choose the right data structures
and algorithms for the right purpose and get some hands-on
experience in making Python programs faster with comparable
little modifications.
Python Extensions with Other Languages
++++++++++++++++++++++++++++++++++++++
Learn about options to connect Python to other languages starting
form Python's C-API and hand-written extensions the tour looks a
Cython, ctypes, SWIG, Jython, Ironpython, and even f2py to connect
with Fortran.
Fast Code with the Cython Compiler
++++++++++++++++++++++++++++++++++
In-depth coverage of Cython with Cython core developer Stefan Behnel.
No question about writing extensions and using external C libraries
with Cython should remain unanswered after this day.
Numerical Calculations with NumPy
+++++++++++++++++++++++++++++++++
NumPy is the way to work with multi-dimensional numerical arrays in
Python. It is fast and provides a high-level programmer interface.
This course day teaches you all the basics.
Fast NumPy Processing with Cython
+++++++++++++++++++++++++++++++++
Working with NumPy you need to avoid loops over arrays to make your
code fast. While NumPy provides indexing and other techniques to help
you here, some types of algorithms are easier expressed with loops.
Combining NumPy with Cython you can write fast loops.
Another topic is parallel programming with OpenMP to take advantage
of multi-core CPUs that become so common place these days.
Questions?
----------
If you have any questions about the courses, please feel free to ask
me.
Cheers,
Mike
Relatorio is a templating library which provides a way to easily output all kind of different files (odt, ods, png, svg, ...) from python objects.
A new minor release of relatorio has been published that fixes some issues and adds some improvements:
* Add expression cache to prevent multiple evaluation of the same
* expression
* Fix typo when writing manifest
* Remove Thumbnails in opendocument
* Clean meta in opendocument
* Clean template code from draw:frame in opendocument
* Use StringIO as failback of cStringIO
relatorio is available on PyPI:
http://pypi.python.org/pypi/relatorio/0.5.6