こんにちは.今回は,uv, ruff, devcontainer, Claude Code, Cursorなどのモダンなツールを使ったPythonの開発環境テンプレートを作成したので,その内容を紹介します. テンプレートは以下のリポジトリで公開しています. テンプレートの特徴・構成 本テンプレートは,シンプルで自由度の高いテンプレートを目指すため,あまり多くのツールを導入しないように心がけています.多くのツールを導入すると,学習コストも高くなるためです. uv: Rust製の高速なPythonの仮想環境・パッケージ管理ツール ruff: Rust製の高速なFormatter, Linter pytest: テストフレームワーク pre-commit: コミット前のFormat, Lintによるコード品質の担保 devcontainer: 統一された開発環境の提供 Docker, Docke
はじめに Anthropic といえば、最近はコード生成ツールが大きな話題になっていますよね。 AI企業アンスロピック、今年の売上高30億ドルに急増へ 売上高を牽引しているのはコード生成機能です。グーグルの親会社であるアルファベット([GOOGL.O](https://jp.reuters.com/markets/companies/GOOGL.O))や、アマゾン・ドット・コム([AMZN.O](https://jp.reuters.com/markets/companies/AMZN.O))が支援しているアンスロピックは、コンピュータープログラミングに特化した AI として知られています。 このコード生成機能を活用する際に使用するのが、CLI コマンドの claude です。このツールの完成度は非常に高く、最近ではコード生成時に積極的に利用するエンジニアも増えてきています。 この cla
5 年ほど前に Python のコンテナ化について 2 つの記事を書きましたが FastAPI 側も Docker 側もアップデートがあり、当時よりもかなりシンプルになってきたのを感じたので少し調べてまとめてみました。 書き方の部分は別として Python におけるコンテナイメージ選択の考え方とかは 2020 年に書いたときとは変わっていませんので、適宜そちらを参照してください。 仕事で Python コンテナをデプロイする人向けの Dockerfile (1): オールマイティ編仕事で Python コンテナをデプロイする人向けの Dockerfile (2): distroless 編(1)の方からのアップデートとしては Debian のバージョンですね。stretch(9), buster(10)はすでに EOL です。その次に出た bullseye(11)は 2026 年 8 月で
Loading Pydantic models from JSON without running out of memory by Itamar Turner-Trauring Last updated 22 May 2025, originally created 22 May 2025 You have a large JSON file, and you want to load the data into Pydantic. Unfortunately, this uses a lot of memory, to the point where large JSON files are very difficult to read. What to do? Assuming you’re stuck with JSON, in this article we’ll cover:
【無料公開】LangChainのススメ 〜Deep Researchまで〜【入門】【初心者お助けbook】【2025年最新版】 LangChainで調べると、古い書き方の記事や書籍、有料のカリキュラムなどが溢れています。 公式ドキュメントを自分で読んで調べられる人は問題ないですが、慣れていない人からすると、いろいろな書き方があって、どれが正しいのか混乱すると思います。 (実際、私が調べた時も、古い非推奨の書き方が検索トップに表示されるなど、とても混乱したことを覚えています) そこで、「これだけ覚えれば一旦十分!」といった最小限の内容を、これからLangChainを学びたい初学者のために、まとめました。 【無料公開】 有料設定しておりますが、ほぼ全てのチャプタは無料で読めるようになっております。 有益だと感じたら、購入いただけると嬉しいです。 【いいねのお願い】 初学者がLangChainを
セキュリティニュースメディアの「SecurityOnline」は2025年4月27日(現地時間)、Python実装のHTTP/1.1プロトコルライブラリーである「h11」に深刻な脆弱(ぜいじゃく)性が存在することを報じた。これを悪用することで、リクエストスマグリング攻撃を実行される可能性がある。 CVSS9.1のクリティカル脆弱性発覚 h11利用者は即時更新を 修正対象となっている脆弱性は以下の通りだ。 CVE-2025-43859: リクエストスマグリングの脆弱性。Python製のHTTP/1.1ライブラリー「h11」において、チャンク転送エンコーディング処理の際に行終端子の検証が不十分である問題が存在する。悪意あるユーザーが細工したリクエストを送信すると、プロキシサーバとh11ライブラリー間でHTTPリクエストの解釈に不整合が生じ、意図しないリクエストを通過させたり、セッション情報が漏
In November 2022, I opened issue 99108 on Python’s GitHub repository, arguing that after a recent CVE in its implementation of SHA3, Python should embrace verified code for all of its hash-related infrastructure. As of last week, this issue is now closed, and every single hash and HMAC algorithm exposed by default in Python is now provided by HACL*, the verified cryptographic library. There was no
門脇(@satoru_kadowaki)です。2025年2月の「Python Monthly Topics」は、Python 3.13でアップデートされた機能について紹介します。 ご存知のように、Python 3.13は2024年10月にリリースされ、多くの改善と新機能が追加されています。 What’s New In Python 3.13 (公式ドキュメント) 本記事では、具体的にどのような点がアップデートされているのか、主な機能をピックアップして紹介していきます。 新しい対話型インタプリタとエラーメッセージ 今回のリリースにおける最も大きな変更点の1つとして、新しい対話型インタプリタがあります。また、エラーメッセージはPython 3.10以降継続的に改善されており、バージョンが上がるごとにエラー内容が理解しやすくなり、プログラム修正が効率的に行えるよう進化してきました。 最初にこの2
はじめに 株式会社iimonでSREエンジニアをしているhogeです。 本記事はiimonアドベントカレンダー9日目の記事となります。 今回の記事は技術的な棚卸しとして、普段大変お世話になっているWebサーバがどういった仕組みで動いているのかを実装しながら深堀りしていこうと思います。 弊社のバックエンドはDjango/FastAPI + Gunicornの構成で動作しているため、Pythonを絡めた説明が多くなるかと思います。サンプルコードもPythonで実装をしています。 途中、システムコールやファイルディスクリプタなどにも踏み込んだ話をするのですが、低レベルなプログラミングをちゃんとやったことがないため、間違えている部分があるかもしれません。今後学習して行く中で気づいたら都度修正していきたいと思います。 環境・使用ツール 言語 Python OS Ubuntu(Linuxのシステムコー
寺田 学(@terapyon)です。2024年10月の「Python Monthly Topics」は、Python Web UIフレームワークの1つであるStreamlitの基本的な使い方を紹介します。 2024年4月には、「Python Web UIフレームワークで作るデスクトップアプリ」と題し、Steamlitを使ってデスクトップアプリ化をする紹介を行いました。 今回はStreamlitにフォーカスを当てて、よく使う機能を紹介します。Streamlitにはたくさんの機能があり、公式ドキュメント APIリファレンスを見ても、どの機能から使って良いのかわからないという声がありました。今回は、筆者目線でよく使うであろう機能に絞って紹介します。 Streamlitとは StreamlitはPythonで構築できるWeb用のフレームワークです。Pythonのモジュールを定義することで、インタ
GDG Super.init(version=6) - From Where to Wear : 모바일 개발자가 워치에서 발견한 인사이트
昨年からトラブルが続いているPyCon JPですが、9月27日のPyCon JP 2024を前にして、また新しい火種が生まれました。 2024年9月22日、PyCon JPの技術に対する不正の告発、並びに技術者と大衆に対しての警鐘(以下、怪文書2)というタイトルの記事が突如として公開されたためです。 この記事は、python_bokume2というアカウントで公開されていることから、およそ4ヶ月前の2024年5月31日にpython_bokumetsuというアカウントで投稿された採択されるプロポーザルを書こう!!(現在はアカウントごと削除されている。以下、怪文書1)を書いた人と同じ人物による投稿であることがうかがえます。 最初に記事に関しては、インターネットでいうところのいわゆる完全なる怪文書であったのに対して、今回の怪文書2では、具体的な登場人物の名前やSlackのログなど、実際におこなわ
一般社団法人PyCon JP Association 理事の寺田です。 昨年のPyCon JP APAC 2023および来たるPyCon JP 2024(以下、「本イベント」といいます)の登壇者選定に関して、インターネット上で疑義が一部で取り沙汰されている状況を確認しております。 私たち一般社団法人PyCon JP Association(以下、「当法人」といいます)は、PyCon JP 2024において、参加者の皆様、企業スポンサー、Pythonコミュニティ、そして運営に携わる多くのボランティア主催メンバーを含むすべての関係者に対し、安心してカンファレンスにご参加いただける環境を提供したいと考えています。本イベントの登壇内容の選定に関するプロセスについて、当法人の見解をお伝えします。 一般社団法人PyCon JP AssosiarionおよびPyCon JPについて当法人は日本国内外の
概要 本文章は、一般社団法人PyCon JP Associationが主催したPyCon APAC 2023の開催に際し、そのプロポーザル選考過程において行われていた不正行為の告発を目的とするものです。 本文章が対象とする読者は技術者、及び、公衆です。技術者は技術『愛好家』との付き合い方について一考をするべきであり、公衆は「専門家ではないにも関わらず技術の専門家のフリをする不正な愛好家」に対して無自覚であるべきではない、という警鐘を鳴らすため、並びに、一般社団法人PyCon JP Associationの公衆に対する不正を告発するため、本文章を公開します。 本文章は、Qiitaが目指す、学びのある情報を技術者に共有することで、よりよい技術者コミュニティの形成を目指す内容であるため、Qiitaのガイドラインに沿った形式でQiita.com上で公開します。 告発する内容 PyCon APAC
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どういうわけか日本では一切話題に上がっていないのですが、Pythonの開発者コミュニティでなんか問題が起きているようです。 どうも話が様々なスレッドにとっ散らかっているうえに半分はDiscordや非公開のところで動いているみたいなので、読み取れていないところが色々あるかもしれません。 誰かが補足してくれるはず。 Proposed bylaws changes to improve our membership experience 最初のきっかけはこのスレッドです。 これは規約の一部を変更する提案であり、その中でも3番目の提案であるAd
How Python Asyncio Works: Recreating it from Scratch Posted on May 6, 2024 Right now, asyncio is one of the trendier topics in Python, and rightfully so – It’s a great way to handle I/O-bound programs! When I was learning about asyncio, It took me a while to understand how it actually worked. But later, I came to find out that it’s basically just a really nice layer on top of Python Generators. In
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイ
こんにちは、commmuneでデータサイエンティストをしているひぐです。 人間が苦手なマルチタスクをLLMに任せたら、効果的に処理してくれるのではないか?というモチベーションのもと、Pythonの非同期処理を使って並列かつストリーミングでChatGPTの回答を出力するアプリを作りました🤖 例えば下記は、ある課題を入力すると、深さ・広さ・構造・時間軸という異なる観点で解像度を上げてくれるアプリケーションです。 アプリに関する登壇資料↓ このアプリ作成にあたってPythonの非同期処理を勉強したところ、最初は多くの専門用語(コルーチン、イベントループ...)や独自の記法により、全体像をつかむのに苦戦しました。一方で、学んでみると予想以上にシンプルな記法で実装できること、そして応用範囲が広くて便利だと理解しました。 この記事では、そんな少し取っつきにくけど便利なPythonの非同期処理にフォー
今までuWSGIをシングルスレッド、マルチプロセスで使っていたのだけれども、昔に比べて外部のAPI呼び出しが増えているのでマルチスレッド化を検討している。 uWSGI uWSGIでマルチスレッドを有効にした時は、各workerスレッドがacceptする形で動作する。スレッド数以上の接続をacceptすることがないので安心。 プロセス内のスレッド間ではmutexで排他されて、同時にacceptを実行するのは1スレッドのみに制限されている。つまりthendering herd問題はプロセス間でしか起こらない。マルチスレッド化でプロセス数はむしろCPUコア数まで減らせるので、thendering herd問題はむしろ今よりも軽減できる。(ちなみにプロセス間でもロックしてthendering herdを許さないオプションもあるけど、プロセス間同期は怖いので使っていなかった。) ただしuWSGIのマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く