Archimedes — это open-source фреймворк на Python, созданный для того, чтобы переносить управляющие алгоритмы прямо на реальное оборудование. Он объединяет в себе моделирование, симуляцию, оптимизацию и генерацию C-кода — всё, что нужно для полного цикла разработки систем управления.
#python #casadi #embedded #controlsystems #numerics #autodiff #opensource #archimedes #pythonlibrary #engineering #robotics #optimization #coding #tech
https://pinetreelabs.github.io/archimedes/index.html
Please open Telegram to view this post
VIEW IN TELEGRAM
1 3👍2⚡1
Tia - это инструмент анализа влияния тестов (Test Impact Analysis) для
pytest, который позволяет запускать только те тесты, на которые действительно повлияли ваши изменения в коде.Зачем тратить драгоценное время CI-пайплайнов на прогон сотен тестов, которые физически не могли сломаться от вашей правки?
Tia один раз собирает карту покрытия, а затем с помощью git diff вычисляет и запускает строго минимальный набор тестов. Эту же концепцию оптимизации используют внутри себя такие гиганты, как Google и Meta.Главный грех подобных утилит — случайно пропустить тест, который на самом деле должен был упасть. Разработчики
tia подошли к вопросу жестко:boltons) реальный показатель пропуска достигает 96%!black или добавление докстрингов, tia поймет через сравнение AST-деревьев, что рантайм-код не изменился, и пропустит 99%+ тестов.if TYPE_CHECKING: не запускают тесты зря. Но если вы измените тип поля в Pydantic или dataclass (что влияет на логику работы), утилита это честно отловит.tia record — запускает полную кодовую базу и строит карту на уровне конкретных методов и функций {тест -> {файл -> функции}}, сохраняя её в .tia/map.json. Благодаря системным аудит-хукам утилита запоминает даже не-Python файлы (фикстуры, шаблоны, конфиги), которые читал тест.tia run — анализирует текущий git diff, сопоставляет измененные строки с функциями и на основе 4 правил (попадание в функцию, изменение модуля, дата-зависимость и появление нового теста) отправляет в pytest только целевой набор.Карту тестов, собранную на базовой ветке, можно легко передавать в задачи пул-реквестов.
tia поддерживает работу с удаленными хранилищами из коробки:tia serve) без внешних зависимостей.s3://) и Google Cloud Storage (gs://).$GITHUB_STEP_SUMMARY) с детальной таблицей: что изменилось и почему были выбраны именно эти тесты.pip install -e .
tia record # Строим карту (запуск из корня репозитория)
tia run # Запускаем только затронутые тесты
tia run --since main # Сравниваем изменения относительно ветки main
#Python #Pytest #Testing #QA #Automation #CI #CD #DevOps #Optimization #OpenSource
https://github.com/breadMSA/pytest-tia
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - breadMSA/pytest-tia: Test Impact Analysis for pytest: run only the tests your change actually affects. Method-level, tracks…
Test Impact Analysis for pytest: run only the tests your change actually affects. Method-level, tracks non-.py deps, CI-ready, and honest about its limits. - breadMSA/pytest-tia
1🔥2 2👍1
Shed Skin - это экспериментальный транспайлер, который переводит программы на чистом Python 3 с неявной статической типизацией в оптимизированный код на C++.
На выходе инструмент может собирать как автономные исполняемые файлы, так и скомпилированные C++ модули расширения, которые можно импортировать в обычный Python-код в качестве ускоренных библиотек. В отличие от Cython, Shed Skin не требует ручного описания типов в C-стиле — он выводит их автоматически из логики программы.
shedskin build my_script) или в нативный модуль расширения для вызова из стандартного CPython.Shed Skin поддерживает только строго ограниченное подмножество возможностей языка Python:
random, re, math, time), произвольные тяжелые внешние зависимости подключить нельзя.*args / **kwargs).В Linux / macOS:
shedskin build test
./build/test
В Windows:
shedskin build test
build\test.exe
#Python #Cpp #ShedSkin #Transpiler #Compiler #Performance #Optimization #OpenSource #DevTools #Algorithms
https://github.com/shedskin/shedskin
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - shedskin/shedskin: Shed Skin is a restricted-Python-to-C++ transpiler. Read the introduction below to learn about the…
Shed Skin is a restricted-Python-to-C++ transpiler. Read the introduction below to learn about the restrictions. - shedskin/shedskin
🔥3 2⚡1