Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Репозиторий на Github c микрореализацией фундаментальных языков программирования, по мотивам серии статей "Tiny Great Languages"
Все написано на Python, код намеренно краток, чтобы не превышать ~50 строк кода для каждого языка.
Используется только стандартная библиотека Python, да и то в очень скромных пределах (
sys
, иногда re
, редко itertool
и т.д.).asm.py
- ассемблер. Компилирует "Python-ассемблер" в байткод и выполняет его;basic.py
- бейсик. Подмножество TinyBASIC, но с настоящим редактором строк BASIC!lisp.py
- Lisp 1.5. Классика, автор - Джон Маккарти, достаточен, чтобы интерпретировать самого себя (мета-циклический интерпретатор);apl.py
- интерпретатор k/simple, написанный Артуром Уитни, представляет собой диалект языка программирования K (array processing language), который является вариантом APL.mouse.py
- язык конкатенативного программирования MOUSE, опубликованный в журнале BYTE в 1979 году.pl0.py
- переводчик с языка PL/0, автор Никлаус Вирт.tcl.py
- крошечный интерпретатор командного языка (TCL).#Python #TinyLanguage
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#курс #python
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
#курс #python #dataanalysis
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
#DataValidation
, но она потребляет много памяти.Attrs
не имеет встроенной проверки данных и обеспечивает более высокую производительность и меньшее использование памяти, что идеально подходит для внутренних структур данных и простого создания классов в #Python.
from attrs import define, field
@define
class UserAttrs:
name: str
age: int = field()
@age.validator
def check_age(self, attribute, value):
if value < 0:
raise ValueError("Age can't be negative")
return value # accepts any positive age
try:
user = UserAttrs(name="Bob", age=-1)
except ValueError as e:
print("ValueError:", e)
📌 Пример
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Pandera, библиотека Python, которая упрощает валидацию pandas датафреймов.
Она также поддерживает , быструю и легкую библиотеку Polars.
С помощью Pandera вы можете быть уверены, что ваши Polars датафреймы имеют правильную структуру и будут работать правильно.
▪ Github
▪Документация
#Pandera #python #opensource #Polars
Она также поддерживает , быструю и легкую библиотеку Polars.
С помощью Pandera вы можете быть уверены, что ваши Polars датафреймы имеют правильную структуру и будут работать правильно.
pip install pandera
▪ Github
▪Документация
#Pandera #python #opensource #Polars
Forwarded from Machinelearning
Это Python-фреймворк с открытым исходным кодом, в котором используется LLM для создания SQL-запросов на основе естественного языка.
✔️ Всё просто: сначала обучаете модель на своих данных, а потом можно задать вопросы на обычном языке.
В ответ модель выдает готовые SQL-запросы, которые можно сразу запускать в своей базе данных.
⚡️ Установка:
pip install vanna
▪GitHub: https://github.com/vanna-ai/vanna
@ai_machinelearning_big_data
#python #sql #opensource #vanna #llm
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Model2Vec - библиотека для создания компактных и быстрых моделей на основе предобученных Sentence Transformer моделей.
Model2Vec позволяет создавать эмбединг-модели слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными Sentence Transformer моделями.
Отличительные особенности:
from_pretrained
и push_to_hub
.Пайплайн Model2Vec трехэтапный. На первом этапе словарь пропускается через модель Sentence Transformer для получения векторов эмбедингов для каждого слова.
Далее, размерность полученных эмбеддингов сокращается с помощью метода главных компонент (PCA). Наконец, применяется zipf-взвешивание для учета частотности слов в словаре.
Model2Vec работает в двух режимах:
Оценку производительности Model2Vec делали на наборе данных MTEB на задачах PEARL (оценка качества представления фраз) и WordSim (оценка семантической близости слов).
Результаты показывают, что Model2Vec превосходит по производительности GloVe и модели, основанные на WordLlama по всем задачам оценки.
from model2vec.distill import distill
# Choose a Sentence Transformer model
model_name = "BAAI/bge-base-en-v1.5"
# Distill the model
m2v_model = distill(model_name=model_name, pca_dims=256)
# Save the model
m2v_model.save_pretrained("m2v_model")
from model2vec import StaticModel
# Load a model from the HuggingFace hub, or a local one.
model_name = "minishlab/M2V_base_output"
# You can optionally pass a token if you're loading a private model
model = StaticModel.from_pretrained(model_name, token=None)
# Make embeddings
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])
▪Набор моделей
▪GitHub
@pythonl
#AI #ML #LLM #Embedding #Model2Vec #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы работали с современными фронтенд-фреймворками, такими как React, Vue или Angular, вы знакомы с мощью реактивного управления состояниями.
Это магия, лежащая в основе динамических пользовательских интерфейсов и систем реального времени.
Но почему Python должен упускать преимущества реактивности? reaktiv привносит эти преимущества реактивного программирования в ваши Python-проекты.
pip install reaktiv
▪Github
@pythonl
#python #frontend #react #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
Это самая популярная в мире библиотека обработки данных, но она медленная, и многие библиотеки значительно превзошли ее.
Проблема альтернатив Pandas в том, что никто не хочет изучать новый API.
Давайте посмотрим правде в глаза: люди не будут переносить свои проекты, га другие фреймворки, без особой причины.
Я уже давно работаю с FireDucks
Эта библиотека в разы быстрее Pandas, и вам не придется менять код старых проектов для перехода на нее.
Вы можете изменить *одну* строку кода и весь остальной код будет работать на FireDucks :
import fireducks.pandas as pd
Вы также можете запустить свой код *не* изменяя ни одной строки, используя хук:
python
$ python -mfireducks.imhook yourfile[.]py
FireDucks — это многопоточная библиотека с ускорением компилятора и полностью совместимым с pandas API.
Она быстрее, чем Polars. Ниже приведена ссылка на некоторые бенчмарки, сравнивающие Pandas, Polars и FireDucks.
FireDucks побеждает с отрывом.
⛓️Здесь находится репозиторий FireDucks на GitHub:
https://github.com/fireducks-dev/fireducks
⛓️Если вы хотите пощупать либу, откройте этот пример:
https://github.com/fireducks-dev/fireducks/tree/main/notebooks/nyc_demo
⛓️Если вы хотите сравнить FireDucks с Polars и Pandas, вот еще один блокнот:
https://github.com/fireducks-dev/fireducks/blob/main/notebooks/FireDucks_vs_Pandas_vs_Polars.ipynb
⛓️И наконец, бенчмарки, с которыми стоит ознакомиться:
https://fireducks-dev.github.io/docs/benchmarks/
@pythonl
#fireducks #Pandas #dataanalysis #datascience #python #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
«Ядро планеты Python»: большой интерактивный учебник по Python, который дополняет сообщество
Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.
Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore
#python
Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.
Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore
#python
1. 30-Days-Of-Python — 30-дневный челлендж по основам Python.
2. Python Basics — азы Python для новичков, просто и с примерами.
3. Learn Python — справочник с кодом, пояснениями и практикой.
4. Python Guide — гайд по практикам, инструментам и сложным темам.
5. Learn Python 3 — руководство по Python 3 с практикой для начинающих.
6. Python Programming Exercises — 100+ задач по Python.
7. Coding Problems — алгоритмы и структуры данных для собесов.
8. Project-Based-Learning — Python через реальные проекты.
9. Projects — идеи проектов для прокачки навыков.
10. 100-Days-Of-ML-Code — ML на Python шаг за шагом.
11. TheAlgorithms/Python — алгоритмы и структуры данных на Python.
12. Amazing-Python-Scripts — полезные скрипты: от утилит до автоматизации.
13. Geekcomputers/Python — скрипты для сети, файлов и задач.
14. Materials — код и проекты от Real Python.
15. Awesome Python — топ фреймворков, библиотек и ресурсов.
16. 30-Seconds-of-Python — короткие сниппеты для быстрых решений.
17. Python Reference — скрипты, туториалы и лайфхаки.
#python #github #learning
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Летняя школа бэкенда Яндекса открыла набор!
Хочешь провести лето с пользой, развивая реальные сервисы в команде с профи? Это твой шанс!
Если ты:
• Уверенно пишешь на Python, Java или C++
• Понимаешь основы алгоритмов и структур данных
— подавай заявку в Летнюю школу бэкенд‑разработки Яндекса.
🗓 Формат обучения:
• 2 июня – 27 июля — онлайн-лекции и практика
• 28 июля – 24 августа — работа над проектами (онлайн или офлайн)
💡 Что тебя ждёт:
• Реальные задачи и работа в фулстек-команде
• Наставничество от инженеров Яндекса
• Возможность получить офер: >50% выпускников становятся стажёрами или сотрудниками компании
• Нетворкинг, лекторий и крутая атмосфера
📍Участие бесплатное.
🕓 Заявки принимаются до 27 апреля. Не упусти!
🔗 Подробнее
#backend #летняяшкола #яндекс #стажировка #разработка #python #java #cplusplus
Хочешь провести лето с пользой, развивая реальные сервисы в команде с профи? Это твой шанс!
Если ты:
• Уверенно пишешь на Python, Java или C++
• Понимаешь основы алгоритмов и структур данных
— подавай заявку в Летнюю школу бэкенд‑разработки Яндекса.
🗓 Формат обучения:
• 2 июня – 27 июля — онлайн-лекции и практика
• 28 июля – 24 августа — работа над проектами (онлайн или офлайн)
💡 Что тебя ждёт:
• Реальные задачи и работа в фулстек-команде
• Наставничество от инженеров Яндекса
• Возможность получить офер: >50% выпускников становятся стажёрами или сотрудниками компании
• Нетворкинг, лекторий и крутая атмосфера
📍Участие бесплатное.
🕓 Заявки принимаются до 27 апреля. Не упусти!
🔗 Подробнее
#backend #летняяшкола #яндекс #стажировка #разработка #python #java #cplusplus
🚀 Автоматизируй Docker для Python за 1 команду с Python
📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой Python-проект на uv или poetry в Docker-образ без ручной возни.
💡 Просто добавь -
🔧 Поддерживает:
✅ PEP-621
✅ uv и poetry
✅ кастомные переменные, порты и зависимости
✅ CI/CD (в т.ч. GitHub Actions)
🔥 Подходит для быстрой упаковки ML-сервисов, REST API, CLI-инструментов и всего, что крутится на Python.
▪ Github
#python #docker #poetry #uv #devtools #opensource #cli
@pythonl
📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой Python-проект на uv или poetry в Docker-образ без ручной возни.
💡 Просто добавь -
[tool.dpy]
в pyproject.toml
, укажи entrypoint
— и собирай образы одной командой. Без Dockerfile, без боли.🔧 Поддерживает:
✅ PEP-621
✅ uv и poetry
✅ кастомные переменные, порты и зависимости
✅ CI/CD (в т.ч. GitHub Actions)
🔥 Подходит для быстрой упаковки ML-сервисов, REST API, CLI-инструментов и всего, что крутится на Python.
▪ Github
#python #docker #poetry #uv #devtools #opensource #cli
@pythonl
Forwarded from Machinelearning
Python уже несколько лет уверенно лидирует среди языков программирования, а теперь стал ещё ближе к железу. На GTC 2025 NVIDIA объявила о полноценной интеграции Python в свой CUDA-стек.
Это значит, что писать код для GPU можно будет напрямую на Python — без погружения в C++ или Fortran. Как подчеркнул Стивен Джонс, архитектор CUDA, цель — сделать инструмент естественным для Python-разработчиков: «Это не перевод синтаксиса C на Python. Все должно работать так, как привыкли разработчики».
Раньше CUDA требовала глубокого понимания низкоуровневых языков и это здорово ограничивало аудиторию. Сейчас, когда Python стал стандартом в ML и DS, NVIDIA открывает двери для миллионов программистов. По данным The Futurum Group, в 2023 году CUDA использовали 4 миллиона человек — теперь их число может резко вырасти.
Техническая часть такая же обширная, как и ожидания этого события профессиональным сообществом.
cuPyNumeric
— аналог NumPy
, который переносит вычисления с CPU на GPU буквально заменой импорта.Но главное — новый подход к параллельным вычислениям. Вместо ручного управления потоками, как в C++, NVIDIA предлагает модель CuTile, которая оперирует массивами, а не отдельными элементами. Это упрощает отладку и делает код читаемым, не жертвуя скоростью. По сути, разработчики получают высокоуровневую абстракцию, скрывающую сложности железа, но сохраняющую гибкость.
Пока CuTile доступен только для Python, но в планах — расширение для C++. Это часть стратегии NVIDIA по поддержке новых языков: Rust и Julia уже на походе.
Python-сообщество уже может экспериментировать — например, интегрировать CUDA-ядра в PyTorch или вызывать привычные библиотеки. Теперь даже те, кто никогда не писал на C++, смогут использовать всю мощь GPU — осталось проверить, как это скажется на скорости создания прекрасных LLM светлого будущего.
@ai_machinelearning_big_data
#AI #ML #Python #CUDA #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
Инструмент позволяет вводить "пошлины" на Python-библиотеки, замедляя загрузку определённых пакетов, чтобы подчеркнуть идею "экономического протекционизма" в коде.
Имитация тарифов на импорты: пользователь может установить "тарифы" (в процентах) на определённые пакеты, например:
import tariff
tariff.set({
"numpy": 50, # 50% тариф на numpy
"pandas": 200, # 200% тариф на pandas
"requests": 150 # 150% тариф на requests
})
▪ Замедление импорта: при импорте указанных пакетов время загрузки увеличивается пропорционально установленному тарифу.
Вывод сообщений: при каждом "обложенном тарифом" импорте выводится сообщение в стиле политической риторики, например:
JUST IMPOSED a 50% TARIFF on numpy! Original import took 45000 us, now takes 67500 us. American packages are WINNING AGAIN! #MIPA
Библиотека использует monkey-patching для перехвата и модификации процесса импорта.
▪Github
@ai_machinelearning_big_data
#fun #python
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Function (fxn) — фреймворк, который компилирует Python-функции в нативный код с производительностью, сравнимой с Rust.
🧠 Как это работает?
- Использует символическое трассирование на CPython для анализа функций
- Генерирует промежуточное представление (IR)
- Транслирует IR в C++ или Rust, а затем компилирует в бинарный код
- Поддерживает платформы: Linux, Android, WebAssembly и др.
📦 Пример:
@compile
def fma(x: float, y: float, z: float) -> float:
return x * y + z
После компиляции вы получаете нативный бинарник, который можно запускать без интерпретатора Python.
🔗 Подробнее
🔗 Github
@pythonl
#Python #Rust #fxn #Compiler #Performance #AI #ML #Wasm
Please open Telegram to view this post
VIEW IN TELEGRAM