タグ

pythonに関するlepton9のブックマーク (492)

  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

    2024.9.7:Anvilについて追記しました。 2024.8.6:FastHTMLについて追記しました。 ※記事で言及しているReflexのdiscordサーバー内に日語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出て

    PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

    この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
  • 社内向けStreamlitのデプロイの現実解

    結論 社内データを扱うアプリケーションを安全にデプロイするならCloudflare Tunnel,Cloudflare Accessを使う。要件次第ではStreamlit in Snowflakeも使える。 はじめに Streamlitはデータアプリケーションを短時間で作成できる便利なツールですが、社内データを扱うアプリケーションをデプロイする際は外部からの不正アクセスを防ぐように厳重な注意が必要です。 にもかかわらず、Streamlitを安全にデプロイする成熟した方法はまだありません。 記事では、最も単純なStreamlitのデプロイ構成の例から問題点を再確認し、それらを解決する方法を順に説明します。ただし、記事で紹介する構成を使うにはドメインのネームサーバーがCloudflareである必要があることに注意してください。 単純な構成はどう危険なのか? まずは非常に単純なStreaml

    社内向けStreamlitのデプロイの現実解
  • データ分析のためのSQLを書けるようになるために

    はじめに 稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ

    データ分析のためのSQLを書けるようになるために
  • pathlibをもっと使おう - The jonki

    皆さんはPythonのpathlib使ってますか?私は非常によく使っています.例えば機械学習では学習の前に前処理を多く行うケースが非常に多いですが,このような時にpathlibを知っておくと便利です.pathlibは意外とPython 3.4(2014年~)からとそれなりに新しいため,古くからのPythonユーザーは os.pathの方をよく使っているかもしれません.ただpathlibは文字列ではなくPathクラスとして扱ってくれることで,例えばLinux/Windowsのパス表記の違いを吸収してくれたりします. pathlibとos.pathの比較は公式のpathlibドキュメントに譲るとして,私がよく使うpathlibのクラスを紹介します.また今回改めてドキュメントを眺めて知った便利関数も多いので,公式ドキュメントに目を通すのもオススメします. 今回は下記のような複数の素性の異なるデー

    pathlibをもっと使おう - The jonki
  • Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp

    鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、第1回で紹介したPython 3.10の新機能「構造的パターンマッチング(Structural Pattern Matching⁠)⁠」の続きをお届けします。 前回は構造的パターンマッチング全体の説明、いくつかのパターンをコード例を交えて紹介しました。今回はその続きとして、前回紹介できなかった他のパターンについても紹介します。 Python 3.10の新機能:構造化パターンマッチング | gihyo.jp 構造的パターンマッチングとは 前回の繰り返しになりますが、この記事で初めて構造的パターンマッチングを知った人に向けて、簡単に紹介します。詳細は上記の記事を参照してください。 構造的パターンマッチングはPython 3.10で新しく導入された文法です。Python 3.10は2021年10月に

    Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp
  • Python 3.8以降(~3.11)の型ヒント革命:DataclassとPydanticの徹底比較

    はじめに 📘 この記事は ラクスパートナーズ Advent Calendar 2023 の1日目の記事になります!! 社の ラクス Advent Calendar 2023 の7日目にも参加予定なのでそちらもよろしくお願い致します🥳 長い間 Python3.7 環境のプロジェクトに携わっていましたが、この度 Python3.10~ 環境のプロジェクトに携わることになりました。 そこでこの機会に python3.8 以降の最新の型ヒントやコード品質向上のテクニックについて、改めて情報をキャッチアップしながらまとめていきたいと思います。 この記事の対象者 🎯 Python の型ヒントについて学び直したい方 Python3.8 以降の型ヒントについて理解を深めたい方 python のドメインモデルクラスについて理解を深めたい方 型ヒントを使用したことがないが、興味がある方 なぜ型ヒントを

    Python 3.8以降(~3.11)の型ヒント革命:DataclassとPydanticの徹底比較
  • 【Python】プログラムでフーリエ変換を理解しよう!【FFT, 標本化定理, ナイキスト周波数】 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 pythonnumpyfftdftmatplotlibフーリエ変換高速フーリエ変換ナイキスト周波数標化定理 こんにちは。早く業務に慣れたい開発チーム入社1年目の髙垣です。 急ですが皆さん。ふと、音をフーリエ変換したい時ってありませんか? ありますよね。 でも、「フーリエ変換って学校で計算式で習ったけど、結局は何をしているんだ?」となることありませんか? そこで今回は計算式なんてほっといて、Pythonを使ってフーリエ変換が何をやっているのか体験してみましょう! 環境構築 下記リポジトリをクローンしてください https://github.com/takaT6/fft-tutorial クローンができたら下記のライブラリをインストールしてください↓ pip

    【Python】プログラムでフーリエ変換を理解しよう!【FFT, 標本化定理, ナイキスト周波数】 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
  • 今日から使えるgokart小技集 - エムスリーテックブログ

    こんにちは! エムスリーエンジニアリンググループ AI機械学習チームの氏家です。 AI機械学習チームでは多くのMLプロダクトを開発・運用していますが、そのうちのほとんどがgokartという機械学習向けパイプラインライブラリを使って実装されています。 gokartはとてもMLプロダクトの開発に便利な反面、gokartを100%活用する方法が確立、普及しているとはいえません。 そこで、記事では、実際にエムスリーで活用しているTipsなどを紹介していこうと思います。 これを機にどんどんgokartの知見がネット上に溢れるようになっていければ嬉しいです。 なお、記事は「gokartで爆速開発!MLOps勉強会」の発表をもとに加筆したものとなります。 www.m3tech.blog 発表資料も公開していますのでそちらもご参照ください。 speakerdeck.com gokart Param

    今日から使えるgokart小技集 - エムスリーテックブログ
  • Titanicで学ぶ、実務で使えるgokartの書き方 - エムスリーテックブログ

    こんにちは。エムスリーエンジニアリンググループ AI機械学習チームで機械学習エンジニアをしている農見(@rookzeno) です。最近はgokartを使ったパイプライン開発に勤しんでます。 皆さんはgokartというものをご存知でしょうか。この記事を開く人は知ってそうですが、gokartとはエムスリーがメンテナンスしている機械学習パイプラインOSSです。もしgokartのことを知らなかった人が居たらこのgokartの記事を読んでください。 エムスリー内ではこれを全面的に利用して開発を行なっていますが、その知見は社内に閉じてるものも多いです。そこでエムスリー内でどんな感じでgokartを使ってるかというのをTitanicデータセットを利用して説明していこうと思います。 今回使用したコードはこちら github.com はじめに 全体pipelineの作成 1. データのダウンロード 2.

    Titanicで学ぶ、実務で使えるgokartの書き方 - エムスリーテックブログ
  • Python: Luigi のパラメータ爆発問題について - CUBE SUGAR CONTAINER

    Luigi は、Python を使って実装された、バッチ処理のパイプラインを扱うためのフレームワーク。 Luigi でパイプラインを定義するときは、基的には個別のタスクを依存関係でつないでいくことになる。 このとき、扱う処理によってはパイプラインは長大になると共に扱うパラメータの数も増える。 そうすると、依存関係で上流にあるタスクに対して、どのようにパラメータを渡すか、という問題が生じる。 この問題は、公式のドキュメントではパラメータ爆発 (parameter explosion) と表現されている。 luigi.readthedocs.io 今回は、このパラメータ爆発問題を解決する方法について。 なお、基的には上記のドキュメントに解決方法が書いてあるので、そちらを読むでも良い。 使った環境は次のとおり。 $ sw_vers ProductName: Mac OS X ProductV

    Python: Luigi のパラメータ爆発問題について - CUBE SUGAR CONTAINER
  • Pythonで自分だけのクソライブラリを作る方法

    Pythonでライブラリを作る この記事は、Pythonの基礎が分かり、pipでライブラリをインストールしたことあるくらいのレベルの人を想定しています。初心者向けの記事です。 前提知識として、Pythonのライブラリ・パッケージ・モジュール・クラス・関数の定義や違いに関しては、以下記事あたりを参考にしてください。 この記事では、Pythonで自作ライブラリを作ります。pip install hogehogeでインストールできるあれですね。 初心者の方(何を隠そう私も初心者です)だとpip installでインストールできるライブラリって、GoogleとかFacebookのような選ばれたエリート組織だけが作れるものと思っていませんか?私もつい最近までそう思っていました。実はあれ、個人でも簡単に作れてしまいます。 pip install hogehogeで、世界中の誰でもインストールできるライ

    Pythonで自分だけのクソライブラリを作る方法
  • Open Interpreter - 自然言語でコーディングを実現するオープンソースツール|masia

    Open Interpreterは、自然言語でプログラミングができるようになる、興味深いオープンソースツールです。機能呼び出し型の大規模言語モデルを利用して、PythonJavaScript、Bashなどのコードをローカルで実行できるのが大きな特徴です。インストールと利用は簡単で、コーディング作業の効率化を図れそうなツールです。 Open InterpreterとはOpen Interpreterは、GPT-3.5やGPT-4またはCode Llamaなどの大規模言語モデルを利用して、自然言語でのコード実行を可能にするオープンソースのツールです。 コマンドラインインターフェース上で言語モデルと対話することで、PythonJavaScriptなどのコードをローカルマシン上で実行できます。複雑なロジックのコーディングもステップごとに指示できるので、開発効率の大幅な向上が期待できます。 公式

    Open Interpreter - 自然言語でコーディングを実現するオープンソースツール|masia
  • OpenInterpreter / ついにAIがガチのアシスタントに!これは凄い、というか凄すぎる|shi3z

    凄いものが出てきてしまった。 ChatGPTの「Code Interpreter」が話題になったが、あれはあくまでクラウド上で動いているだけ。それを模してローカルで動作するようになった「Open Interpreter」は、衝撃的な成果である。 Open Interpreterのインストールは簡単。コマンド一発だ $ pip install open-interpreter起動も簡単 $ interpreter -yこれだけでOK。 あとはなんでもやってくれる。 たとえばどんなことができるのかというと、「AppleとMetaの株価の推移をグラフ化してくれ」と言うとネットから自動的に情報をとってきてPythonコード書いてグラフをプロットしてくれる。 凄いのは、ローカルで動くのでたとえばApplescriptを使ってmacOSで動いているアプリを直接起動したり操作したりできる。「Keynot

    OpenInterpreter / ついにAIがガチのアシスタントに!これは凄い、というか凄すぎる|shi3z
  • Visual Studio Codeに新しいPython拡張機能が仲間入り、Python 3.7対応の廃止は9月/言語サーバー「Pylance」ではローカライズも

    Visual Studio Codeに新しいPython拡張機能が仲間入り、Python 3.7対応の廃止は9月/言語サーバー「Pylance」ではローカライズも
  • 【Streamlitよりいいかも?】機械学習系のデモアプリ作成に最適!Gradio解説 - 学習する天然ニューラルネット

    はじめに Streamlit vs Gradio Gradioの設計思想 Interface 入出力に応じたUI Interface String Shortcut 入力データのサンプルのセット ドキュメンテーション テーマの変更 タイムアウトへの対処 中級者への第一歩、デモを作る際に知っておきたい処理 Gradioが担当する前処理について プログレスバー もろもろの出力結果を保存するには? 認証認可(というか認可) その他、解説しないが需要の有りそうなもの まとめ 追記 : 動画になりました。 はじめに 機械学習系のデモアプリを作成することがしばしばありStreamlitを使用していたが、パラメーターなどをいじるたびに処理が最初から走るなどといった挙動に悩まされていた。 同僚がGradioというのを使っていたのでサーベイがてらメモしていたらブログが出来上がってしまった。 ブログでは、G

    【Streamlitよりいいかも?】機械学習系のデモアプリ作成に最適!Gradio解説 - 学習する天然ニューラルネット
  • API自動テストツールTavernにおけるリクエストパラメータの動的生成|SHIFT Group 技術ブログ

    こんにちは。SHIFTのテスト自動化エンジニアの松岡です。 Tavernは、yamlに期待値を記載するだけで、APIのレスポンスJSONのアサーションを行うことができるテストツールです。 以前の記事ではレスポンスに対するアサーションのカスタマイズ方法をご紹介致しました。 今回は試験対象APIを呼び出す前に、リクエストを動的に生成する(実行時ごとに設定する)方法をご紹介致します。 ここでは外部関数をpythonで定義して、リクエストパラメータ(年月)を実行時ごとに生成する実装を行っていきたいと思います。 ◆ディレクトリ構成※以前の記事でも紹介しましたが、繰り返します。 testFolder ├ helper │ └ testing_utils.py …… 外部関数を記述するpythonです └ test ├ __init__.py …… yamlからpythonを呼ぶために必要なファイル。

    API自動テストツールTavernにおけるリクエストパラメータの動的生成|SHIFT Group 技術ブログ
  • pythonパッケージ管理ツールryeを使う - 肉球でキーボード

    Pythonパッケージ管理ツール ryeの使い勝手がよかったので使用方法をまとめました。 ryeとは GitHub: https://github.com/mitsuhiko/rye flaskの作者である Armin Ronacher氏 (GitHubアカウント @mitsuhiko)が個人利用目的で作成した、Pythonのパッケージ関係管理ツールです。内部実装はRustです。 ryeが作成された思想がリポジトリ Should Rye Exist? のDiscussionページに書かれています。 Should Rye Exist?: XKCD #927 Disucssion中の図にあるように、従来のPythonのパッケージ管理は”様々な標準”が存在し、このばらつきを統一しようと新しくパッケージ管理ツールを導入しても、”新たな標準が追加されるだけ”となり、真のパッケージ管理の標準化を行えて

    pythonパッケージ管理ツールryeを使う - 肉球でキーボード
  • 久しぶりのPython環境をRyeで整える

    はじめに よくAWS仕事をするので、開発環境をAWS Cloud9(以下Cloud9)で用意することがある。 IAM Roleが使えるのでAWS内の開発は便利なのだが、そのままPythonで開発しようとすると、2023/05/27時点でこう表示されるので、ちゃんと開発環境作らなくちゃね。という気持ちになる。 久々にLangChainやLlamaIndexやらで盛り上がってるし、Python環境でも作るか! と思い立った筆者。じゃあ何を準備すればいいんだっけ、と軽く調べただけでもpip, venv, pyenv, pipenv, poetryなどの選択肢がありすぎて、もうこの時点でげんなりする。Pythonのパッケージマネージャの周辺事情はずっと混沌としていたんだった…… ただ最近は比較的よさげなプロジェクトのRyeがあるので、今回はこれで環境を整えてみる。 Ryeとは 上で書いたような「

    久しぶりのPython環境をRyeで整える
  • Pythonについて思うこと | 雑記帳

    みなさん、Pythonは好きですか? この記事では、私がPythonという言語とそのエコシステムについて思うところを書いていきます。全体を通したストーリーみたいなのはなくて、トピックごとに書いています。 私のPython経験は3年弱です。Pythonについてまだまだ新米だという自覚はありますが、そこは有り余る才能でカバーしてこの記事を書いています。 静的型 Pythonには静的型がありません。型ヒントはありますが、インタープリターにとっては飾りにすぎません。 mypyとかの型チェッカーはありますが、「それさえあれば万事ハッピー」なものではなく、既存のコードを適宜書き換えないと型チェッカーでまともな結果を得るのは難しそうです。型検査を念頭に書かれていない(型ヒント付きの)コードをそのままmypyにかけても大量のエラー・警告が出てくるでしょう(ちなみに、型ヒントなしの関数はmypyのデフォルト