Собрали в одном месте самые важные ссылки
консультируем про IT, Python
Formatting and concatenating query result columns on the PostgreSQL side and then parsing them in Python might sometimes be faster than fetching the columns as separate values.
(18.01.2016 - 24.01.2016)
DSF объявил грант для привлечения разработчиков. Круглые суммы.
Это рассказ, о том, как мне удалось сделать для себя инструмент, который с минимальным моим участием и минимальным дополнительным весом в рюкзаке, помогает сделать красивые слайдшоу. И конечно же рассказ о python, ffmpeg и linux на android.
walrus это легковесная Python библиотека для Redis. В этой статье вы найдете экскурсию по библиотеки. Также показаны примеры использования.
В этот раз автор расскажет о реализации унарных операций
Cookiecutter - это шаблоны проектов. В статье рассмотрен шаблон Django проекта
FlyElephant — это платформа, которая предоставляет ученым готовую вычислительную инфраструктуру для проведения расчетов, автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросах исследований.
Статья описывает использование Python и Bokeh для построения графиков в National Institute of Standards and Technology (NIST)
Статья показывает как реализовать полно-текстовый поиск на PostgreSQL и MySQL
В contextlib модуль содержит утилиты для работы с контекстом и оператор with
Вообще лирическое вступление было навеяно вполне конкретной историей про сломанный гитхаб. Сделанная на заре одного из проектов синхронизация домашнего репо в гитхаб решила проблему переезда. Потом про костыль забыли. Древнее зло уснуло и терпеливо ждало своего часа. В один прекрасный день скайнет новый сотрудник решил привести в порядок тот самый домашний репозиторий. И самым популярным вопросом среди программистов в тот день было «коллега, а вы не видели мою ветку 0022? ну такая, с багфиксами». Руководство опс-тим было спокойно как никогда: гит — это распределенная система, версия кода хранится на персональном компьютере каждого разработчика. Давайте уже как-нибудь разберитесь между собой и не отвлекайте нас от сборки наших ядер и тюнингов сетевых стеков.
Автор статьи продемострирует, как подключить несколько камер к вашей Raspberry Pi...и получить доступ ко всем из них, используя один скрипт на Python.
Замечено, что новичкам трудно перейти от теории к практике - заставить себя писать, а не только читать. Чтобы помочь мы постоянно публикуем различный материал и указываем как применить эти знания на практике.
В этот раз решили написать 2 небольших проекта:
Утилита позволяет установить программную задержку, процент потерь
#!/usr/bin/env python3 import random import logging import tornadoredis from tornado import gen, ioloop from torrelque import Torrelque logger = logging.getLogger(__name__) @gen.coroutine def produce(): redis = tornadoredis.Client() queue = Torrelque(redis, ioloop.IOLoop.current()) while True: for _ in range(5): task = {'value': random.randint(0, 99)} logger.debug('Produced task %s', task) yield queue.enqueue(task) yield gen.sleep(10) @gen.coroutine def process(task_data): logger.debug('Consmed task %s', task_data) yield gen.sleep(1) @gen.coroutine def consume(): redis = tornadoredis.Client() queue = Torrelque(redis, ioloop.IOLoop.current()) while True: task_id, task_data = yield queue.dequeue() if not task_id: continue try: yield process(task_data) yield queue.release(task_id) except Exception: logger.exception('Job processing has failed') queue.requeue(task_id, delay = 30) @gen.coroutine def main(): for _ in range(4): ioloop.IOLoop.current().spawn_callback(consume) yield produce() if __name__ == '__main__': logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s %(message)s') ioloop.IOLoop.instance().run_sync(lambda: main())
Библиотека поддерживает несколько базовый типов данных. Ниша библиотеки - хранение сложных структур данных
{% load django_vimeo_tags %} The video tag: {% vimeo instance.video width=600 as video %} <video width="600" loop="loop" autoplay="autoplay" poster="{{ video.optimal_picture.link }}"> <source src="{{ video.optimal_file.link_secure }}" type='{{ video.optimal_file.type }}'> {% trans 'tag "video" not supported by your browser' %} <a href="{{ video.optimal_download.link }}">{% trans 'download video' %}</a>. </video> {% endvimeo %} Or embed shortcut: {% vimeo instance.video width=600 %}
from easy_class import EasyClass, StringVariable, IntegerVariable class MyClass(EasyClass): attr1 = IntegerVariable() attr2 = StringVariable()
import serial import streamexpect # timeout=0 is essential, as streams are required to be non-blocking ser = serial.Serial('COM1', baudrate=115200, timeout=0) with streamexpect.wrap(ser) as stream: stream.write('\r\nuname -a\r\n') match = stream.expect_bytes('Linux', timeout=1.0) print(u'Found Linux at index {}'.format(match.start))
Модуль позволяет использовать несколько таймеров с одним секундомером, указывать времена срабатывания, текст сообщений, перезапускать таймеры.
from pickleshare import * db = PickleShareDB('~/testpickleshare') db.clear() print "Should be empty:",db.items() db['hello'] = 15 db['aku ankka'] = [1,2,313] db['paths/are/ok/key'] = [1,(5,46)] print db.keys()
Модуль подходит для препроцессинга твиттер данных для машинного обучения
Модуль реализован на основе модуля signal
from timeoutcontext import timeout, TimeoutException from time import sleep try: with timeout(1): sleep(2) except TimeoutException: print('timeout')
До:
Downloads
│ ├── project.docx
│ ├── 21 Guns.mp3
│ ├── Sultans of Swing.mp3
│ ├── report.pdf
│ ├── charts.pdf
│ ├── VacationPic.png
│ ├── CKEditor.zip
│ ├── Cats.jpg
│ ├── archive.7z
После:
Downloads
│ ├── Music
│ │ └── 21 Guns.mp3
│ │ ├── Sultans of Swing.mp3
| |
│ ├── Documents
│ │ └── project.docx
│ │ └── report.pdf
│ │ ├── charts.pdf
│ ├── Archives
│ │ └── CKEditor.zip
│ │ └── archive.7z
│ ├── Pictures
│ │ └── VacationPic.png
│ │ └── Cats.jpg
Инструмент создания виртуального рабочего окружения. Изменения описаны по ссылке https://allmychanges.com/p/python/virtualenv/#14.0.1. Скачать можно по ссылке: http://pypi.python.org/pypi/virtualenv/
Утилита позволяющая измерить процент покрытия тестами. Изменения описаны по ссылке https://allmychanges.com/p/python/coverage/#4.1b2. Скачать можно по ссылке: http://pypi.python.org/pypi/coverage/
Sunflower — двухпанельный файловый менеджер, написанный на python с использованием тулкита GTK. Программа изначально спроектирована вокруг плагинной архитектуры и поддерживает пользовательские плагины. Разработка Sunflower нацелена на сочетание мощности и простоты использования, а также интеграцию в Gnome и другие рабочие окружения.
Простая библиотека для просмотра веб-страниц без веб-браузера.. Изменения описаны по ссылке https://allmychanges.com/p/python/robobrowser/#0.5.3. Скачать можно по ссылке: http://badge.fury.io/py/robobrowser
Утилита для управления модулями в Python. Изменения описаны по ссылке https://allmychanges.com/p/python/pip/#8.0.2. Скачать можно по ссылке: http://pypi.python.org/pypi/pip/
Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Изменения описаны по ссылке https://allmychanges.com/p/python/django-taggit/#0.18.0. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/
Распределенная очередь задач. Изменения описаны по ссылке https://allmychanges.com/p/python/celery/#3.1. Скачать можно по ссылке: http://pypi.python.org/pypi/celery/
Модуль для работы с многомерными массивами. Изменения описаны по ссылке https://allmychanges.com/p/python/numpy/#1.12.0. Скачать можно по ссылке: http://pypi.python.org/pypi/numpy/
Speeding Up Data Retrieval From PostgreSQL With Psycopg
Участвуем в онлайн розыгрышах. Уровень: программист
Talk Python to Me: #487: Building Rust Extensions for Python
Создаём генератор аудиокниг с персональным переводом
Миф о чистых данных: почему ваш аналитик похож на сапёра
Сводка от pythonz 24.11.2024 — 01.12.2024
AJAX-запросы в Django на примере простейшего приложения сбора и показа сообщений
moka-py - эффективное кэширование с помощью Rust
django-github-app - toolkit for GitHub App
Squashing Django Migrations Easily