Собрали в одном месте самые важные ссылки
читайте авторский блог
Модуль позволяет принять Github webhook для последующей удобной обработки
Дельные видосы от sentdex по питону на английском языке. Недавно стартовала серия уроков по джанго. Уровень 0+
Модуль collections содержит разные типы коллекций по-мимо встроенных list, dict, tuple
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')
Модуль содержит набор моделей, view's. Можно адаптировать под обычную Django
Статья описывает способы ускорить сериализацию объектов - уменьшить вариативность данных, убрать валидацию, использовать С библиотеки.
~$ 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
Вышла новая версия веб фреймворка Pyramid. Из особенностей можно отметить поддержку Cache busting.
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!')
Написание ботов не такая простая задача, как кажется. Необходимо учесть сценарии использования, пройти через дебри настроек и отладки, наладить мониторинг.
Мы консультируем по написанию ботов - обращайтесь https://t.me/axsapronov. Подскажем как разработать бота наиболее быстро