**Show HN:** *Oxyde – Pydantic にネイティブな非同期 ORM、Rust コア搭載*

2026/03/13 22:35

**Show HN:** *Oxyde – Pydantic にネイティブな非同期 ORM、Rust コア搭載*

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:


要約

Oxyde ORMは、Rustで実装された高性能・型安全な非同期Python ORMです。Djangoの慣れ親しんだAPIを模倣し、Pydantic v2を用いて完全なデータ検証を行います。ベンチマークでは、PostgreSQLで1,475 ops/sec、MySQLで1,239 ops/sec、SQLiteで2,525 ops/secと、非同期優先設計と効率的なRustコアのおかげで他の人気ORMを上回っています。

コア機能

  • Django風API
    Model.objects.filter()
    など)+Pydantic v2モデルによる検証。
  • 原子トランザクション
    transaction.atomic()
    (セーブポイント付き)。
  • マイグレーション
    makemigrations
    /
    migrate
    コマンド。
  • 完全な CRUD API と複数バックエンドのサポート:PostgreSQL ≥12、SQLite ≥3.35、MySQL ≥8.0。

クイックスタート

  1. データベースURL(
    postgresql://…
    sqlite:///…
    、または
    mysql://…
    )を記載した
    oxyde_config.py
    を作成。
  2. モデルを定義(例:
    class User(Model): …
    )。
  3. マイグレーション実行:
    make migrations && make migrate
  4. 非同期関数でレコードの作成・読み取り・更新・削除を行う。

エコシステム

  • Webフレームワーク統合:FastAPI(
    lifespan=db.lifespan(default="postgresql://localhost/mydb")
    )、Litestar、Sanic、Quart、Falcon。
  • Oxyde Admin:テーマと認証付きの管理パネルを自動生成。
  • バルク操作やその他ツールも利用可能。

プロジェクトはアクティブに保守されており、小規模リリース間でAPI変更が生じる場合があります。貢献者はGitHub上でフィードバックやプルリクエストを送信することが奨励されています。Oxyde ORMはMITライセンスの下で公開されており、開発者や企業が効率的な非同期アプリケーションを構築しつつデータベース管理と運用を簡素化できるようにしています。

本文

Oxyde ORM は、型安全かつ Pydantic を中心に設計された非同期 ORM です。
Rust コアが高速性を実現し、シンプルさ・パフォーマンス・信頼性に重点を置いています。
Django の ORM からインスピレーションを得ており、マジックよりも明示的な設計を採用しています。強力な型付けと予測可能な挙動で、モダン開発者向けのワークフローを提供します。

注意
Oxyde はまだ若いプロジェクトですので、マイナーバージョン間で API が進化する可能性があります。フィードバック・バグ報告・アイデア提出を歓迎します。お気軽に issue を開いてください!


主な特徴

  • Django‑style API
    Model.objects.filter()
    など親しみやすい構文
  • Pydantic v2 – 完全なバリデーション、型ヒント、シリアライゼーション
  • Async‑first – 現代の async/await Python 向け設計
  • Rust performance – SQL 生成・実行はネイティブ Rust で高速化
  • マルチ DB – PostgreSQL, SQLite, MySQL をサポート
  • トランザクション
    transaction.atomic()
    コンテキストマネージャ(savepoints 付き)
  • Migrations – Django スタイルの
    makemigrations
    migrate
    CLI

ベンチマーク(平均 ops/sec、数値が大きいほど良好)

データベースOxydeTortoisePiccoloDjangoSQLAlchemySQLModelPeewee
PostgreSQL1 47588893273644543180
MySQL1 239794714536505461
SQLite2 5251 8824691 294588567548

詳細レポートは公式ドキュメントで確認できます。


インストール

pip install oxyde

クイックスタート

1. プロジェクト初期化

oxyde_config.py
が生成され、データベース設定とモデルパスを記述します。

2. モデル定義

# models.py
from oxyde import Model, Field

class User(Model):
    id: int | None = Field(default=None, db_pk=True)
    name: str
    email: str = Field(db_unique=True)
    age: int | None = Field(default=None)

    class Meta:
        is_table = True

3. テーブル作成

oxyde makemigrations
oxyde migrate

4. 実際に使う

import asyncio
from oxyde import db
from models import User

async def main():
    await db.init(default="sqlite:///app.db")

    # Create
    user = await User.objects.create(
        name="Alice", email="alice@example.com", age=30
    )

    # Read
    users = await User.objects.filter(age__gte=18).all()
    user = await User.objects.get(id=1)

    # Update
    user.age = 31
    await user.save()

    # Delete
    await user.delete()

    await db.close()

asyncio.run(main())

トランザクション

from oxyde.db import transaction

async with transaction.atomic():
    user = await User.objects.create(name="Alice", email="alice@example.com")
    await Profile.objects.create(user_id=user.id)
    # 成功時は自動コミット、例外でロールバック

FastAPI 連携

from fastapi import FastAPI
from oxyde import db, User

app = FastAPI(
    lifespan=db.lifespan(default="postgresql://localhost/mydb")
)

@app.get("/users")
async def get_users():
    return await User.objects.filter(is_active=True).all()

データベースサポート

DB最低バージョンステータス備考
PostgreSQL12+FullRETURNING, UPSERT, FOR UPDATE/SHARE, JSON, Arrays
SQLite3.35+FullRETURNING, UPSERT, WAL mode by default
MySQL8.0+FullUPSERT via ON DUPLICATE KEY, FOR UPDATE/SHARE

接続 URL の例

  • postgresql://user:password@localhost:5432/database
  • sqlite:///path/to/database.db
  • sqlite:///:memory:
  • mysql://user:password@localhost:3306/database

エコシステム

  • Oxyde Admin – 自動生成された管理パネル(CRUD、検索、フィルタ、エクスポート)
  • FastAPI, Litestar, Sanic, Quart, Falcon での統合
  • テーマ設定・認証・バルク操作もサポート

ドキュメント & コントリビュート

  • 公式ドキュメント: https://oxyde.fatalyst.dev/
  • クイックスタート – すぐに動かせるチュートリアル
  • ユーザーガイド – モデル、クエリ、関係、トランザクション
  • チートシート – 全メソッドのクイック参照

バグ報告やプルリクエストは GitHub で受け付けています。


ライセンス

MIT License の下で配布されています。

同じ日のほかのニュース

一覧に戻る →

2026/03/17 5:59

MistralがLeanstralをリリース --- (※「Leanstral」はそのまま固有名詞として扱います。)

## Japanese Translation: --- ## Summary Leanstral は **Lean 4 専用に設計された最初のオープンソースコードエージェント** であり、Apache 2.0 ライセンスの下でリリースされ、重みファイルをダウンロードできるほか、一時的な無料 API エンドポイント(`labs-leanstral-2603`)と公開された技術レポートがあります。 このモデルは **証明工学タスクに最適化された非常にスパースな 6 B‑パラメータアーキテクチャ** を採用し、Lean を完璧な検証器として活用した並列推論を実現しています。モデルは **lean‑lsp‑mcp データセット** 上で訓練されており、Mistral Vibe 経由で任意の Model‑Composed Pipelines(MCP)をサポートします。 **FLTEval** で評価すると—FLT プロジェクトにおける形式的証明の完了と新概念の定義をベンチマークし、単独の数学問題ではなく実際のタスクを測定する—Leanstral‑120B‑A6B は **pass@2 スコア 26.3 と pass@4 スコア 29.3** を達成し、GLM5‑744B‑A40B(≈16–20)や Kimi‑K2.5‑1T‑32B よりも優れた性能を示しています。Claude 系列モデルと比較すると、Leanstral は **$36 で pass@2 スコア 26.3** を達成し、Sonnet の $549(スコア 23.7)に対して同等の性能です。また **pass@16 スコア 31.9 が $531** で得られ、Sonnet の $8,031.9 と比較しても大幅に低価格です。Claude Opus 4.6 モデルは依然として最高品質ですが、$1,650 という価格は Leanstral の同等スコア時の費用の約 90 倍以上になります。 実際のケーススタディでは、その実用性が示されています: * Lean 4.29.0‑rc6 の破壊的変更を診断し、`def` と `abbrev` 間の定義等価性問題を特定して正しい修正案を提示し、ユーザーに説明しました。 * Princeton の CS 441 コースから Rocq 定義を Lean に変換し、カスタム記法を扱い、証明が提供されていないプロパティも自動で証明しました。 Leanstral は **Mistral Vibe** に統合されており、ユーザーは `/leanstall` エンドポイントを呼び出してゼロセットアップのコーディングと証明を行えます。一時的な API エンドポイント(`labs-leanstral-2603`)はフィードバックと観測データ収集のために利用可能です。ユーザーはモデル重みをダウンロードし、Leanstral をローカルで実行したり、Mistral Vibe にサインアップして完全なドキュメントへアクセスすることもできます。 この軽量かつコスト効果の高いツールは、開発者や研究者が形式的検証ワークフローを加速させるために活用でき、コミュニティへの貢献と学術界および産業界での広範な採用を促進します。

2026/03/17 3:12

Meta、jemallocへの再挑戦を強化

## Japanese Translation: ``` ## Summary Meta は、Linux カーネルや Meta のインフラストラクチャ内のコンパイラなど重要なコンポーネントを動かす高性能メモリアロケータである jemalloc に注力することを決定しました。この移行は長期的なメリットに基づいており、保守コストの削減、コードベースの近代化、および進捗を遅らせていた技術的負債の排除が目的です。今回の取り組みの一環として、オリジナルのオープンソース jemalloc リポジトリはアーカイブから外されました。 主な改善領域は以下の通りです: - **技術的負債削減** – 効率と信頼性を向上させるためにクリーンアップとリファクタリングを実施。 - **Huge‑Page Allocator (HPA)** – CPU の効率化を図るためにトランスペアレントヒュージページ(THP)の使用を改善。 - **メモリ効率** – パッキング、キャッシュ、およびパージング機構の最適化。 - **AArch64 最適化** – ARM64 プラットフォームでのアウト・オブ・ザ・ボックス性能を確保。 Meta はオープンソースコミュニティに貢献を呼びかけ、jemalloc の将来ロードマップを共に形作ることによって、Meta 自身のソフトウェアユーザーとこのアロケータに依存する広範なエコシステム双方に利益をもたらすよう促しています。 ```

2026/03/17 2:17

小さなWebは、あなたが考えているよりもずっと大きいものです。

## 日本語訳: **概要** 本文は、**「小さなウェブ」― 通常のブラウザとサーバーでアクセスできる非営利・個人向けサイトが依然として膨大かつ活発だが、1 ページだけでまとめるにはあまりにも大きい」という事実を説明しています。** - **背景**:Gemini プロトコルは世界中に約 6,000 のカプセル(capsule)という独自のエコシステムを持ち、そのフォーラムには主に IT 専門家で構成される約 100 名が参加し、商業的利用は推奨していません。 - **手法**:著者は Kagi が公開する更新フィードを配信しているサイトのリストを使用しました。このリストは昨年の約 6,000 件から今日では約 32,000 件に増加し、多くはプライベートブログや企業がホストするサイト(例:Blogger)です。 - **フィルタリングプロセス** 1. 各フィードをダウンロードし、タイムスタンプと有効な XML があることを確認した結果、約 25,000 サイトに絞られました。 2. 月間更新が 1 回未満のサイトを除外すると、約 9,000 のアクティブサイトが残ります。 - **結果**:3 月 15 日時点でこれら 9,000 サイトは 1,251 件の更新(主に新しいコンテンツ追加)を生成し、過去の日付とほぼ同程度です。毎日の更新量を見ると、単一ページの集約は非実用的であり、小さなウェブはその規模と活発さからそのような表示には不向きです。 - **結論**:サイズが大きいにも関わらず、小さなウェブは成長を続け、主流プラットフォームに対する広告なしの代替手段として機能します。 - **行動喚起**:著者は読者に対し、このページへの参照 URL を含む Webmention を送信してもらい、継続的な関与を促しています。