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
CadQuery — это интуитивно понятный и простой в использовании Python-модуль для построения параметрических 3D CAD-моделей.
Пишете короткий скрипт на Python — получаете высококачественную 3D-модель, которую легко менять, настраивать и переиспользовать!
Многие сравнивают его с OpenSCAD (так как обе системы основаны на коде), но у CadQuery есть серьезные козыри в рукаве:
.step файл (созданный в другом CAD) и скриптами добавить к нему новые параметрические элементы.Рекомендуется использовать
mamba/conda для автоматического разрешения сложных C++ зависимостей:conda create -n cadquery
conda activate cadquery
mamba install -c conda-forge cadquery
Либо через pip (если у вас свежий Python):
pip install cadquery#Python #CAD #3D #3DModeling #Engineering #CadQuery #OpenSource #DevTools
https://github.com/cadquery/cadquery
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - CadQuery/cadquery: A python parametric CAD scripting framework based on OCCT
A python parametric CAD scripting framework based on OCCT - CadQuery/cadquery
1🔥2 2⚡1
Pydantic Pint - это библиотека для Python, объединяющая возможности валидации данных из Pydantic с библиотекой для работы с физическими величинами и единицами измерения.
Если ваш проект связан с инженерией, научными вычислениями, геоданными или физикой, вам наверняка знакома проблема: Pydantic отлично проверяет типы и структуры, а Pint берет на себя математику над размерными величинами (метры, килограммы, секунды, градусы). По умолчанию они несовместимы, и разработчикам приходится писать кастомные сериализаторы.
pydantic-pint устраняет этот разрыв с помощью чистого синтаксиса typing.Annotated.PydanticPintQuantity("unit").km), а на вход передали строку "12 meters", библиотека проверит размерность и сама пересчитает значение в 0.012 kilometer. Ошибочные размерности (например, попытка передать секунды вместо метров) приведут к ошибке валидации.model_dump() и model_dump_json()).pydantic.BaseModel.from typing import Annotated
from pydantic import BaseModel
from pydantic_pint import PydanticPintQuantity
from pint import Quantity
class Coordinates(BaseModel):
latitude: Annotated[Quantity, PydanticPintQuantity("deg")]
longitude: Annotated[Quantity, PydanticPintQuantity("deg")]
# Поле ожидает километры:
altitude: Annotated[Quantity, PydanticPintQuantity("km")]
# Передаем высоту в метрах — библиотека сконвертирует её сама:
coord = Coordinates(
latitude="39.905705 deg",
longitude="-75.166519 deg",
altitude="12 meters",
)
print(coord.altitude)
# -> <Quantity(0.012, 'kilometer')>
# Сериализация в JSON
print(coord.model_dump_json())
# -> {"latitude":"39.905705 degree","longitude":"-75.166519 degree","altitude":"0.012 kilometer"}
pip install pydantic-pint
#Python #Pydantic #Pint #DataValidation #DataScience #Physics #Engineering #Backend #OpenSource #DevTools
https://github.com/tylerh111/pydantic-pint
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tylerh111/pydantic-pint: Pydantic Pint Quantities
Pydantic Pint Quantities. Contribute to tylerh111/pydantic-pint development by creating an account on GitHub.
👍4 2🔥1