#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
NX Python Meetup #1

19:30 Обгоняем asyncpg – Алексей Фирсов, Тимлид, S7 Techlab
В докладе Алексей расскажет, как можно ходить в PG. И как это можно делать без карутин. Обсудим, где выигрывает и где проигрывает asyncpg.

20:30 Асинхронные фреймворки. Все ли дело в скорости? – Евгений Добросельский, Python developer, Nexign
В докладе представлено сравнение популярных фреймворков в стремительно развивающемся асинхронном сегменте web-разработки на Python. Однако подобных сравнений существует большое количество – зачем производить очередное? Всё дело в том, что мы воспринимаем асинхронность исключительно как решение проблемы C10k. Следовательно, все сравнения фреймворков сводятся к бенчмаркам – холодным, бездушным и зачастую не имеющим отношения к реальной разработке. В докладе предлагаются к обсуждению другие критерии для сравнения фреймворков. Всё ли дело в скорости?
______________________________

🗓 16 июля, 19:30-21:15, Четверг

🌐 ОНЛАЙН
______________________________

Регистрация на мероприятие
#python python... PYTHON 🔛 🚀 pinned «pytest и тестирование в целом logging боты создание пакетов/библиотек работа с БД pyspark создание API основы django flask, tornado, др известные библиотеки работа с файлами работа с почтой #idea #course #draft #python #skills1st #pythonn»
Forwarded from HABR FEED + OPENNET
#opennet Релиз JPype 1.0, библиотеки для доступа к Java-классам из Python
https://www.opennet.ru/opennews/art.shtml?num=53382
Доступен релиз прослойки JPype 1.0, позволяющей организовать полный доступ Python-приложений к библиотекам классов на языке Java. При помощи JPype из Python можно использовать специфичные для Java библиотеки, создавая гибридные приложения, сочетающие код на Java и Python. В отличие от Jython, интеграция с Java достигается не через создание варианта Python для JVM, а через взаимодействие на уровне обеих виртуальных машин, используя разделяемую память. Предложенный подход позволяет не только добиться хорошей производительности, но и предоставляет доступ ко всем библиотекам CPython и Java. Код проекта распространяется под лицензией Apache 2.0.
Forwarded from HABR FEED + OPENNET
Что может пойти не так с Data Science? Часть 1: сбор данных
https://habr.com/ru/post/510944/?utm_source=habrahabr&utm_medium=rss&utm_campaign=510944
Tags: Блог компании RUVDS.com, Data Engineering, Data Mining, Python, Социальные сети и сообщества, data science, сбор данных, планирование, agile
Author paramonov_ruvds #habr
Forwarded from Python Academy
Какая тема вам больше интересна?
Anonymous Poll
55%
Телеграм-боты
45%
Этичный хакинг
Forwarded from Python Academy
Используем pathlib вместо os

Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию Path(), достаточную для полноценной работы с файловыми путями.

Одной из самых крутых фич в работе с путями является замена os.path.join() на более удобный и элегантный вариант, изображенный на картинке.

По сути эта библиотека заменяет ранее используемые для работы с путями функции из модуля os (например  os.mkdir или os.path) на более удобные.

#path #os
The Python 3 Standard Library by Example (2017)
Автор: Doug Hellmann

Стандартная библиотека Python 3 содержит сотни модулей для взаимодействия с операционной системой, интерпретатором и Интернетом - все они тщательно протестированы и готовы к началу разработки приложений. Автор книги, эксперт по Python, знакомит читателя с каждой обширной частью библиотеки при помощи примеров кода и качественных описаний. Книга может быть использована как справочник.

Скачать книгу: https://t.me/progbook2/330
Advanced Python: параллелизм и многопоточность.

Автор статьи объясняет почему, когда и как использовать потоки, асинхронные и множественные процессы в Python.

https://proglib.io/w/dce340be
#python python... PYTHON 🔛 🚀
https://github.com/evhub/coconut/blob/master/tests/main_test.py#L140
def rm_path(path):
"""Delete a path."""
if os.path.isdir(path):
shutil.rmtree(path)
elif os.path.isfile(path):
os.remove(path)

def call_python(args, kwargs):
"""Calls the current Python."""
call([sys.executable] + args,
kwargs)



@contextmanager
def using_path(path):
"""Removes a path at the beginning and end."""
if os.path.exists(path):
rm_path(path)
try:
yield
finally:
try:
rm_path(path)
except OSError:
logger.display_exc()


@contextmanager
def using_dest():
"""Makes and removes the dest folder."""
try:
os.mkdir(dest)
except Exception:
shutil.rmtree(dest)
os.mkdir(dest)
try:
yield
finally:
try:
rm_path(dest)
except OSError:
logger.display_exc()


@contextmanager
def using_logger():
"""Use a temporary logger, then restore the old logger."""
saved_logger = Logger(logger)
try:
yield
finally:
logger.copy_from(saved_logger)


from coconut.terminal import logger, Logger

def test_pyston(self):
with using_path(pyston):
comp_pyston(["--no-tco"])
if PY2 and PYPY:
run_pyston()
#python python... PYTHON 🔛 🚀
https://github.com/evhub/coconut/blob/master/tests/main_test.py#L140
def is_hashable(obj):
"""Determine if obj is hashable."""
try:
hash(obj)
except Exception:
return False
else:
return True


def assert_hashable_or_dict(name, obj):
"""Assert obj is hashable, or for dicts apply recursively to values."""
if isinstance(obj, dict):
for val in obj.values():
assert_hashable_or_dict(name, val)
else:
assert is_hashable(obj), "Constant " + name + " contains unhashable values"


def is_importable(name):
"""Determine if name can be imported."""
try:
import_module(name)
except ImportError:
return False
else:
return True