Threaded Map-Reduce — это библиотека, реализующая паттерн Map-Reduce с настоящей многопоточностью, без ограничений GIL, благодаря экспериментальной версии Python 3.13+ с поддержкой free-threading.
При работе с CPU-нагруженными задачами (например, в биоинформатике или обработке больших данных) использование потоков в стандартном Python не даёт прироста из-за GIL. Но с free-threaded Python 3.13+ можно задействовать все ядра процессора на полную мощность.
from threaded_map_reduce import map_reduce
from operator import add
def square(x): return x * x
result = map_reduce(
map_fn=square,
reduce_fn=add,
iterable=range(1, 1001),
num_computing_threads=4,
num_items_per_chunk=100
)
print(f"Сумма квадратов: {result}")
#Python313 #FreeThreading #MapReduce #Multithreading #NoGIL #CPUIntensive #Python #OpenSource #Биоинформатика #ПараллельныеВычисления #Разработка #GIL #PythonPerformance #MapReducePython #ThreadedPython
https://github.com/JoseBlanca/threaded-map-reduce
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - JoseBlanca/threaded-map-reduce: A threaded version of map reduce
A threaded version of map reduce. Contribute to JoseBlanca/threaded-map-reduce development by creating an account on GitHub.
1👍3 3
Bengal — это быстрый статический генератор сайтов для Python 3.14+ с параллельной сборкой, автодоком и валидацией контента, ориентированный на современные проекты (блоги, документацию, лендинги и т.п.).
pip install bengal
bengal new site mysite && cd mysite && bengal serve
Первая команда создаёт каркас, вторая поднимает dev‑сервер с live‑reload.
bengal build — продакшн‑сборка.bengal serve — dev‑сервер.bengal validate — проверки и валидация. bengal fix — авто‑фикс проблем. bengal graph report — отчёт по структуре сайта.bengal new site задаёт вопросы и предлагает пресеты: blog, docs, portfolio, product, resume, blank, custom.bengal new site my-docs --template docs
bengal new site my-blog --template blog
bengal new site portfolio --template portfolio
Каждый шаблон создаёт готовые разделы (docs: getting-started, guides, reference; blog: blog + about и т.д.).
bengal init --sections docs --sections tutorials
bengal init --sections blog --with-content --pages-per-section 5
bengal init --sections api --dry-run
Тип секции выводится из имени (blog/posts → blog, docs/guides → doc, about/contact → section).
bengal project skeleton apply my-structure.yaml.[1]#Bengal #Python #StaticSiteGenerator #SSG #Python314 #FreeThreading #WebDev #Docs #Blog #Autodoc #Markdown #Jinja2 #Performance #DevTools
https://github.com/lbliii/bengal
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - lbliii/bengal: ᓚᘏᗢ Bengal — High-performance static site generator for Python 3.14+ with parallel builds, autodoc, and…
ᓚᘏᗢ Bengal — High-performance static site generator for Python 3.14+ with parallel builds, autodoc, and content validation - lbliii/bengal
2 3👍2
cereggii — это библиотека для синхронизации потоков в Python, заточенная под free-threaded режим (Python 3.13+): атомарные структуры данных и примитивы без GIL‑блокировки.
AtomicDict, AtomicCache, AtomicInt64, AtomicRef — параллельные операции без явных локов.CountDownLatch, call_once, ReadersWriterLock для управления сложными мультипоточными воркфлоу.dict/int, задействуя все ядра CPU без implicit lock.from cereggii import AtomicDict, ThreadSet
counter = AtomicDict({"red": 42, "green": 3})
@ThreadSet.repeat(10) # 10 потоков
def workers():
counter.reduce_count(["red"] * 60 + ["green"] * 7)
workers.start_and_join()
pip install cereggii
#python #concurrency #freethreading #atomicoperations #gil #cereggii #threading
https://github.com/dpdani/cereggii
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - dpdani/cereggii: Thread synchronization utilities for Python
Thread synchronization utilities for Python. Contribute to dpdani/cereggii development by creating an account on GitHub.
👍2🔥2⚡1