Size: a a a

2016 February 01
PythonDigest
pontoon - CLI для Digital Ocean

http://pypi.python.org/pypi/pontoon/
источник
PythonDigest
Signaller - реализация механизма "сигналы-слоты" с поддержкой asyncio

http://pypi.python.org/pypi/Signaller/

from signaller import Signal

logging.basicConfig(level=logging.DEBUG)

def slot(arg):
   print('slot:', arg)

# Creating signals (you can set signal name, but it is not required,
# signals can be anonymous):
sig_test = Signal('sig_test')

# Connecting signals to slots (uses weak references by default,
# but you can force strong references by specifying weak=False):
sig_test.connect(slot)
sig_test.connect(lambda arg: print('slot_lambda:', arg), weak=False)

# You can also use decorators for connecting signals to slots:
@sig_test.connect
def slot2(arg):
   print('slot2:', arg)

# And weak=False can be specified when using decorators too:
@sig_test.connect(weak=False)
def slot3(arg):
   print('slot3:', arg)

# Slots are automatically disconnected from signals
# when using weak references:
del slot2

# Or you can disconnect slots manually:
sig_test.disconnect(slot3)

# Emitting signals (you can send positional and keyword
# arguments to connected slots):
sig_test.emit('Hello world!')
источник
PythonDigest
parthial - встраиваемый в Python интерпретатор Lisp'а

http://pypi.python.org/pypi/parthial/
источник
PythonDigest
Pyramid 1.6

http://docs.pylonsproject.org/projects/pyramid/en/1.6-branch/whatsnew-1.6.html

Вышла новая версия веб фреймворка Pyramid. Из особенностей можно отметить поддержку Cache busting.
источник
PythonDigest
corpkit - Инструментарий для корпусной лингвистики

http://github.com/interrogator/corpkit
источник
2016 February 02
PythonDigest
dtags - утилита для сохранения путей до git репозиториев в виде тегов

http://github.com/joowani/dtags

~$ tag ~/frontend @frontend
~$ tag ~/backend @backend
~$ tag ~/frontend ~/backend @work
~$ tag ~/db @vm
~$ tag ~/web @vm

# Or equivalently
~$ tag ~/frontend @frontend @work ~/backend @backend @work ~/db ~/web @vm

# All tag names must begin with the @ symbol
# Execute 'git fetch origin' in all directories tagged @project
~$ run @project git fetch origin

# Execute 'git status -sb' in all directories tagged @frontend and @backend
~$ run @frontend @backend git status -sb

# Execute 'vagrant status' in all directories tagged @vms
~$ run @vms vagrant status

# Directory paths can be specified along with tags
~$ run @backend ~/scripts ~/redis ls -la

# The command can be executed in parallel as long as it doesn't wait for input
~$ run -p @backend 'sleep 5 && echo done'
~$ run -p @project git pull
~$ run -p @vms vagrant up
источник
PythonDigest
Сериализация объектов в Python (schematics + ciso8601)

http://www.kurtsp.com/python-serialization-performance.html

Статья описывает способы ускорить сериализацию объектов - уменьшить вариативность данных, убрать валидацию, использовать С библиотеки.
источник
PythonDigest
Pyjion - Microsoft делает попытку ускорить Python

http://www.infoworld.com/article/3027562/application-development/microsoft-pyjion-boosts-python-speed.html

Быстрый Python от Microsoft: в CPython вкручен JIT API на базе обновленного CoreCLR. В отличии от большинства проектов по ускорению Python с помощью JIT-компиляции - этот проект ориентируется на самые свежие версии Python
источник
PythonDigest
djangocms-slider - плагин slideshow для django cms

http://pypi.python.org/pypi/djangocms-slider/
источник
PythonDigest
minipoker - простая реализация игры Poker

http://pypi.python.org/pypi/minipoker/
источник
PythonDigest
djangocms_portfolio - приложение "Портфолио" для djangoCMS

http://pypi.python.org/pypi/djangocms_portfolio/

Модуль содержит набор моделей, view's. Можно адаптировать под обычную Django
источник
PythonDigest
keyboard - перехват и симуляция нажатий на клавиатуру на Windows и Linux

http://pypi.python.org/pypi/keyboard/

import keyboard

# Press PAGE UP then PAGE DOWN to type "foobar".
keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar'))

# Blocks until you press esc.
wait('esc')
источник
PythonDigest
AutoRCCar - автономный автомобиль на OpenCV, нейронных сетях

http://github.com/hamuchiwa/AutoRCCar
источник
2016 February 03
PythonDigest
collections — Container Data Types — PyMOTW 3

https://doughellmann.com/blog/2016/02/01/collections-container-data-types-pymotw-3/

Модуль collections содержит разные типы коллекций по-мимо встроенных list, dict, tuple
источник
PythonDigest
[Видео] Django tutorial

http://www.youtube.com/watch?v=FNQxxpM1yOs&list=PLQVvvaa0QuDeA05ZouE4OzDYLHY-XH-Nd

Дельные видосы от sentdex по питону на английском языке. Недавно стартовала серия уроков по джанго. Уровень 0+
источник
PythonDigest
GraphvizAnim - утилита анимации и визуализации графов на основе graphviz

http://github.com/mapio/GraphvizAnim
источник
PythonDigest
django-github-webhook - обрабатываем GitHub webhook на Django

http://pypi.python.org/pypi/django-github-webhook/

Модуль позволяет принять Github webhook для последующей удобной обработки
источник
PythonDigest
источник
PythonDigest
Машинное обучение от Octave\Matlab к Python

https://habrahabr.ru/post/276369/

Решил я познакомится с такой интересной для меня областью, как Machine learning. После непродолжительных поисков я обнаружил достаточно популярный курс Стэнфордского университета Machine learning. В нем рассказываются основы и дается широкое представление о machine learning, datamining, and statistical pattern recognition. Был для меня в этом курсе небольшой минус как Python программиста- домашние задания надо было выполнять на Octave\Matlab. В итоге я не пожалел, что получил представления о новом языке программирования, но как учебный пример для более тесного знакомства с соответствующими библиотеками решил переписать домашние задания на Python. То что получилось лежит на GitHub тут.
источник
PythonDigest
CFFIpp - CFFI модуль для вызова из C++ кода в Python

http://pypi.python.org/pypi/CFFIpp/

ffi = FFIpp()
ffi.cdef("""
   class testClass {
   public:
       testClass();
       void test(int);
       int returnsInt(int);
   private:
       void shouldNotBeInModule();
   };
   """)
self.assertTrue(ffi.has_class("testClass"))

ffi.set_source("example_module", """
   class testClass {
   public:
       testClass(){}
       void test(int){/*nop*/}
       int returnsInt(int){return 1;}
   private:
       void shouldNotBeInModule() {/*nop*/}
   };""")
ffi.compile()
import example_module
c = example_module.testClass()
self.assertEqual(c.returnsInt(5), 1)
источник