タグ

pythonに関するNEXTAltairのブックマーク (41)

  • functools.py が革命的に便利そうなのでまとめてみた - ぷりんの雑記帳

    こんにちは、ぷりんです。いつものようにネットサーフィン(死語)をしていると、functools.py という Python の標準モジュールがあることを知りました↓↓ docs.python.org 関数やクラスを定義するときに補助的に使うものっぽいですが、これがなかなかに「かゆいところに手が届く」感じで感動しました。公式ドキュメントを読みながら、勉強がてら自分なりにまとめてみたいと思います。 前提 cache:同じ計算を二度しない @functools.lru_cache(user_function), @functools.lru_cache(maxsize=128, typed=False) (ver3.2~; ver3.3~(typed); ver3.8~(user_function); ver3.9~(cache_parameters())) @functools.cache(u

    functools.py が革命的に便利そうなのでまとめてみた - ぷりんの雑記帳
  • 日本卸電力取引所のエリアプライスを返すAPIをFastAPIを使用してCloud Functionsにデプロイした話 - Qiita

    はじめに ↓前回の記事 当記事の内容 当記事では、前回の記事でCloud Firestoreにアップロードした日卸電力取引所(JEPX)のシステムプライス・エリアプライスのデータを取得するためのWeb APIを、PythonのWebフレームワークであるFastAPIを使用して開発した。また、このWeb APIGoogle Cloud Functionsの第二世代を用いて稼働させている。記事では、その開発手順を紹介する。 データ Firestore上の日付毎のシステムプライス・各エリアプライスは以下ファイル構成となっている。 electricity_market_price/ # collection └── 2023-12-01/ # document └── system/ # subcollection └── {'00:00':'13.6', '00:30':'13.92',

    日本卸電力取引所のエリアプライスを返すAPIをFastAPIを使用してCloud Functionsにデプロイした話 - Qiita
  • 手元のPythonスクリプトをスタイルガイド(PEP 8)に合わせたいあなたへ - nikkie-ftnextの日記

    はじめに 楳図かずお先生なくして、アイの歌声を聴かせてなし。ご冥福をお祈りします。 nikkieです。 Pythonコミュニティで広く採用されているコーディング規約に沿ったPythonスクリプトを書きたい方に捧げます。 目次 はじめに 目次 この記事のきっかけ PEP 8 – Style Guide for Python Code フォーマッタでPEP 8のスタイルを適用する Black Ruff Ruffを開発環境にどのように組み込むか VS Code拡張として使う コマンドラインから実行 終わりに この記事のきっかけ Kanonさんからの質問がきっかけでした。 @ftnext ちょっとPythonのこと教えてほしいです🙏 Pythonのコードのお作法的なことを学びたいんですが、良さげなドキュメントとかってあるでしょうか?…— Kanon (@ysknsid25) 2024年10月2

    手元のPythonスクリプトをスタイルガイド(PEP 8)に合わせたいあなたへ - nikkie-ftnextの日記
    NEXTAltair
    NEXTAltair 2024/11/06
    LLMにBlack使えやって言われて使ってたがRuffは今から試そう
  • 【教材まとめ】これ全部やったら流石に誰でもつよつよAIエンジニアになれる - Qiita

    はじめに 記事ではAI知識ゼロから始めてAIエンジニアとして実務にチャレンジできるレベルを目指してロードマップ形式でコンテンツをまとめました。 生成AIの台頭、SakanaAIの大型資金調達やGoogleの研究者(ヒントン氏ら)のノーベル賞受賞も重なり、さらにAIへの注目が集まっている状態かと思います。 しかし初学者にとって、AIを学ぶハードルはまだまだ高いのが現状です。AIをツールとして活用するだけなら比較的障壁は高くないですが、理論的な部分まで含めると学ぶべき内容が広く、分野によっては難易度が高く、せっかく学び始めたのに挫折する人も多いです。 未経験だけどAIの知識を身につけたい 現在web開発の知識があり、AIも学びたい AIを学んで転職副業でバリバリ活躍したい といった方は是非読み進めていってください。 コンテンツは随時追記していきます。 構成 記事は下記のような構成でコンテ

    【教材まとめ】これ全部やったら流石に誰でもつよつよAIエンジニアになれる - Qiita
    NEXTAltair
    NEXTAltair 2024/10/30
    俺行列計算とかベクトルとか数学の授業はとってなかっから多分読んでも理解できなそう。と思ったらそんな話あんまりないのか
  • pyproject.toml を書く - Python Packaging User Guide

    pyproject.toml を書く¶ pyproject.toml は、lintersやtype checkersやその他のパッケージングツール群でも同様に使われる設定ファイルです。このファイルの中には3個の TOML テーブルを置くことが可能です。 [build-system] テーブルは、 強く推奨されています 。これを使うことで、どの ビルドバックエンド を使うのか、また、そのプロジェクトをビルドするためには他のどんな依存関係が必要なのかを宣言することができます。 [project] テーブルは、依存関係や作者の名前など、そのプロジェクトの基的なメタデータを指定するためにほとんどのビルドバックエンドが用いるものです。 [tool] テーブルは、例えば [tool.hatch] や [tool.black] や [tool.mypy] のような、ツールに特化したサブテーブルを持って

  • 配布パッケージをPyPIで公開してみた - Qiita

    概要 PyPI(パイ・ピーアイ)へ、配布パッケージをアップロードして公開するまでの手順。 Python配布パッケージを作り終えたところから開始して、PyPIにアカウントを作成して配布パッケージを公開するところまでを解説。 解説の粒度は「やってみた」とする。なお、「やってみた結果、こちらの順序の方が良い」は反映している。 手順としては、以下の記事の続きの位置づけとなる。Setup.pyを前提としているが、pyproject.tomlでも配布パッケージへの設定部分の読み替えのみで対応可能。 Pythonソースコードをパッケージ化する方法(他環境へ配布を目的として)(Setup.py利用) 想定読者 Pythonの配布パッケージ(*.whl)を作成したので、PyPIで公開してみたい方 PyPIへの2024年1月時点での最新の具体的な手順を知りたい方 APIトークンが必須になったり、2FA認証が必

    配布パッケージをPyPIで公開してみた - Qiita
  • Pythonで自作ライブラリを作るとき、setup.pyに代えてpyproject.tomlを使ってみませんか? - nikkie-ftnextの日記

    はじめに 暑すぎましゅ、nikkieです。 ミリシタではエミリーちゃんがイチオシのnikkieですが(私服SHSエミリーが可愛い!)、 Pythonでは最近pyproject.tomlが熱いです。 私がこのファイルの便利さに気づいたのはごくごく最近なのですが、setup.pyを使っている方(=過去の自分)向けに、「こんな便利なファイルがあるんだよ!」とオススメしていきます。 目次 はじめに 目次 pyproject.tomlをオススメしたい背景 からあげさんの「Pythonで自分だけのクソライブラリを作る方法」をpyproject.tomlで実装する pyproject.toml一歩目 すごいんだよ、pyproject.toml! 設定例 プロジェクトの設定だけでなく、開発に使うツールの設定も書ける! 終わりに pyproject.tomlをオススメしたい背景 世はまさに大LLM時代。 C

    Pythonで自作ライブラリを作るとき、setup.pyに代えてpyproject.tomlを使ってみませんか? - nikkie-ftnextの日記
  • 使ってみようpyproject.toml! projectの設定に使う項目のみんなを紹介するぜ!! - nikkie-ftnextの日記

    はじめに 8/17(木)のみんなのPython勉強会は数学特集です。みんな来てね! nikkieです。 先日pyproject.tomlというファイルをおすすめする記事を書きました。 思ってもみなかった反響があり(継続的な流入🙌)、困惑もしているのですが、今回は続編として、pyproject.tomlを使ったprojectの設定で扱うみんなを紹介していきます! 目次 はじめに 目次 pyproject.tomlとは projectにこれだけは絶対設定してくれよな! name version projectに必要に応じて設定しような! description readme requires-python license authors/maintainers keywords classifiers dependencies/optional-dependencies 必要に応じて設定しよ

    使ってみようpyproject.toml! projectの設定に使う項目のみんなを紹介するぜ!! - nikkie-ftnextの日記
  • VSCodeのeditor.codeActionsOnSaveの指定方法がboolean値から変更されていた

    新しい指定方法 boolean値ではなく、以下のいずれかを文字列で指定する。 explicit always never # 今まで "editor.codeActionsOnSave": { "source.fixAll.eslint": true, "source.fixAll.stylelint": true, }, # これから "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit", "source.fixAll.stylelint": "always", }, 詳細 この変更は2023年11月のアップデートで行われたようで、長年当然のように設定していたeditor.codeActionsOnSaveの各設定項目がboolean値からenum値に変更されたようです。 おせっかいな事に、恐らくVSCode側が

    VSCodeのeditor.codeActionsOnSaveの指定方法がboolean値から変更されていた
  • Pythonにおけるimportの仕組みとPytest

    PytestでPythonのテストを書いているときにテスト対象モジュールのimportやディレクトリ構成で色々詰まったので、これを機にPythonにおけるimportの仕組みから調べましたので記事にまとめます。 Pythonを書き始めてそれなりの年月が経ちましたが意外とそもそものimportの仕組みはなあなあで済ませていたので、個人的にはかなり勉強になりました。 この記事では大きく分けて以下2点についてまとめます。 Pythonのimportの仕組み 上記を踏まえたテスト時(pytest)のimportについて Pythonにおけるimportの仕組み Pythonのプログラムを書いていれば当たり前のようにimportを使っていると思います。 importする対象としては主に以下3つに分けられると思いますが、そもそもどうしてこれらのライブラリをimportできるのでしょうか。 自分で書いた

    Pythonにおけるimportの仕組みとPytest
  • Perceptual Hashを使って画像の類似度を計算してみる - ユニファ開発者ブログ

    最近、引越しをしたWebエンジニア間です。 引越しの作業は大変面倒でしたが、新しい街に来た時のワクワク感がやっぱりいいなーと感じております。 さて、弊社のサービスである「写真サービス るくみー」では、毎日たくさんの写真をアップロードしていただいているのですが、中には内容がほとんど同じ写真が入ってしまうことがあります。 これらの写真がそのまま販売されてしまうと、写真を選ぶ際に邪魔になったり、間違って複数枚購入してしまうことがあるため、可能な限り避けたい事象です。 「同じ内容」の写真を自動で判別する方法がないか調査していたところ「Perceptual Hash」という手法を見つけました。 Pythonでの画像処理の勉強も兼ねて、今回この手法を紹介してみようと思います。 Perceptual Hashとは ハッシュ値は、「あるデータをハッシュ関数に入れて得られる値」で「同じデータからは常に同

    Perceptual Hashを使って画像の類似度を計算してみる - ユニファ開発者ブログ
  • Claude3にプロジェクト全体をぶち込むためのプロジェクトの構造とファイル内容を自動でまとめるPythonスクリプト

    はじめに Claude3Opusはものすごい能力で、手動で作成するのは面倒なプロジェクトのドキュメンテーションなどを一撃で生成してくれます。 しかし、プロジェクト全体の内容をWebのCladeには投入できないし、ファイルを1個ずつコピペするのもかなり時間を要します。 頼みのCursorもClaudeは対応していないので@Codebase機能が利用できません・・・ そこで、Pythonスクリプトを使ってプロジェクトのフォルダ構造とファイルの内容を自動的にまとめるスクリプトを作成したので紹介します! このスクリプトを使うことで、プロジェクトを200kトークンまでの単一のテキストにまとめ、Claude3Opusに簡単に投入できるようになります。 スクリプトの機能と使い方 このPythonスクリプトは以下のような機能を持っています: プロジェクトのフォルダ構造をMarkdown形式で生成。※当は

    Claude3にプロジェクト全体をぶち込むためのプロジェクトの構造とファイル内容を自動でまとめるPythonスクリプト
  • 【備忘録】PySide6 の QThread

  • Pythonの対話モードで確認できるロガーのレベルは、ロガーが持つレベルそのものではなく、実効(effective)レベル - nikkie-ftnextの日記

    はじめに ミリオンライク展、集まった俺たちの列も展示物だったんだ... nikkieです。 今回は以下のコードを理解していきます。 >>> import logging >>> logging.getLogger("foo") <Logger foo (WARNING)> Pythonのバージョンは 3.12.3 です。 目次 はじめに 目次 対話モードに出力されたのは、ロガーのレベルそのものではない? 対話モードに出力されているのは__repr__の返り値 ロガーのgetEffectiveLevel()メソッド 素振りコーナー 終わりに おまけ:getEffectiveLevel()メソッドの実装 対話モードに出力されたのは、ロガーのレベルそのものではない? logging.getLogger()は渡した名前のロガーを返します1。 https://docs.python.org/ja/3

    Pythonの対話モードで確認できるロガーのレベルは、ロガーが持つレベルそのものではなく、実効(effective)レベル - nikkie-ftnextの日記
  • Python の dotted path をコピーする VS Code 拡張機能を作ってみた

    🔧 作ったもの Copy Python Path という Python の dotted path (例 foo.hoge.class)をコピーする拡張機能を作ってみました。 開発理由は、Djangounittest を実行する際に、dotted path を使うのですが、それを毎回手動で組み立てるのが面倒だったからです。 機能はこちらです。 クラス or メソッドの定義行でコマンドを実行すると、ルートからそのクラス or メソッドまでの dotted path をクリップボードにコピーする クラス or メソッドの定義行以外でコマンドを実行すると、ルートからそのファイルまでの dotted path をクリップボードにコピーする こちらからインストールできます。レビューをもらえると泣いて喜びます。 コードもこちらで公開しています。 🦾 仕組み & 工夫したところ JS で Py

    Python の dotted path をコピーする VS Code 拡張機能を作ってみた
  • 「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態

    プログラミング言語「Python」の大規模イベント「PyCon APAC 2023」が2023年10月27日と28日の2日間にわたって開催された。1日目に行われた京都大学国際高等教育院の喜多一教授による基調講演を中心に、イベントの内容をリポートする。 PyCon APAC 2023は、1日目の基調講演「Why University Teachers Wrote a Python Textbook?」で幕を開けた。京都大学でPythonを使ったプログラミング教育を担当している喜多教授が、その実態について英語で講演した。 喜多教授は、主に大学1年生向けの教養教育の一環として、Pythonを使ったプログラミングコースを2018年に始めた。そのための教科書をつくり、2019年に公開した。誰でも無償でPDFをダウンロードできる。教科書は毎年改訂しているが、一般向けに公開したのは2019年版と2021

    「京大生でもx=x+1が分からない」、喜多教授が明かすPython教育の実態
    NEXTAltair
    NEXTAltair 2023/11/07
    Pythonってなければ俺もわからん、予備知識なしでわかるようなスマートな記号でもあればいいんだがな
  • 【Windows】黒魔術で Python が CP932 関係で UnicodeDecodeError を出さないように強制する

    Windows 上の Python (Python3) で open() 関数を使ったときに出る UnicodeDecodeError (ex: UnicodeDecodeError: 'cp932' codec can't decode byte 0x** in position **: illegal multibyte sequence) といえば、Python が標準でファイルの文字エンコーディングをかの悪名高い Shift-JIS (CP932) として読み込んでしまうことが原因であることはそれなりに知られているかと思います。 このエラー、自分で書いたコードなら全ての open() 関数の引数に encoding='utf-8' を追加してあげれば回避できますが、使おうとしたライブラリからそのエラーが出る場合はこちら側から制御できないので絶望するしかありません。 この記事 いわく

    【Windows】黒魔術で Python が CP932 関係で UnicodeDecodeError を出さないように強制する
  • Pythonコードを35000倍に高速化したい

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

    Pythonコードを35000倍に高速化したい
    NEXTAltair
    NEXTAltair 2023/05/07
    Pythonを遅くするってテレビ通販の汚れた換気扇かよ
  • Python: BayesianOptimizationによるベイズ最適化 - け日記

    仕事で、時間のかかる学習のパラメータ選定に、ベイズ最適化を用いる機会がありましたので、備忘録として整理します。 ベイズ最適化 ベイズ最適化 (Bayesian Optimization) は、過去の実験結果から次の実験パラメータを、確率分布から求めることで最適化する手法です。機械学習では、可能な限り少ない試行回数で筋の良いハイパーパラメータを選定するために用いられます。 キーとなる概念は2つです。 未知の関数fは、ガウス過程に従うと仮定する 次に試行するパラメータを、獲得関数で選択する ガウス過程を事前分布として導入することで、観測済みのパラメータから、未知のパラメータxにおけるf(x)の期待値・分散をほとんどコストなしで計算できるようになります (ガウス過程についてはよく理解できなかったので、改めて整理して記事を書くと思います)。 各点の期待値・分散が明らかになったところで、次にどこの

    Python: BayesianOptimizationによるベイズ最適化 - け日記
  • Pythonの複数バージョンの扱い方(Windowsの場合) - ガンマソフト

    2018/2/2 2019/7/12 Pythonは、マイクロバージョンだけアップグレードしている限りはバージョンを意識しないで使い続けられます(すなわち、3.6.1 ▶ 3.6.2 ▶ 3.6.3 のようなアップグレードだけを行う)。 しかし、Pythonとの付き合いが長くなると、どうしても 3.5 ▶ 3.6 のように新しいバージョンに移行することになり、その結果1台のマシンに複数バージョンのPythonが存在するようになってしまいます(例えば、3.3、3.5、3.6)。 バージョンアップしても、問題なく以前作成したプログラムが動いてくれればよいのですが、動かなくなった場合には、バージョンを切り替えて運用する方法を検討することになります(そのためにも、旧バージョンはアンインストールしないでください)。 わかりやすいPythonのなかで、バージョン管理の問題は、例外的に扱いにくい所です。

    Pythonの複数バージョンの扱い方(Windowsの場合) - ガンマソフト
    NEXTAltair
    NEXTAltair 2023/02/06
    “py --list-paths”