並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 317件

新着順 人気順

dataclassesの検索結果241 - 280 件 / 317件

  • DataClass 3.10での機能追加(kw_only, slots) - Keep on moving

    こんにちはPython界のレアキャラです。 dataclassから機能が追加され attrsであった機能が取り込まれました。 以前書いた記事のアップデートをしておこうと思います。 TL;DR dataclassにkw_onlyと slotsが入った attrsのつかいどころ ボイラープレートコードを避けたい.(特にdataclassにない機能を利用したい) 今Python3.9 以下を使っているし、今後dataclassを使いたい. ドキュメントをきちんと読むと色々書いてある docs.python.org kw_only https://docs.python.org/ja/3.10/glossary.html#term-parameter キーワード専用フィールドを設定するためのもの. >>> # クラスの全フィールドをキーワード専用にするもの >>> @dataclass(kw_on

      DataClass 3.10での機能追加(kw_only, slots) - Keep on moving
    • KLab の Server Side Camp に参加してきました

      はじめに 先日, 株式会社KLab(クラブ)さん (以降敬称略) の KLab Server Side Camp 第1回 (5日間) に参加してきました. 私は個人の遊び程度でしかサーバサイドを触ったことが無かったため, 実務をなさっている方のそばで学び質問できる環境はとてもありがたかったです. というわけで本稿ではその感想でも書いていこうと思います. 軽い振り返りなので技術的な内容は少なめです^^ また, 久々に記事書くので文章がおかしくなっているかも... 追記 (2021/01/19) メンターの methane さんによるKLab技術ブログ (「DSAS開発者の部屋」) は以下のツイートからどうぞ. 告知 KLab Server Side Camp 第2回 の募集が 1/24(月) 23:59 まで行われているので興味を持った方はぜひ!! KLab Server Side Camp

        KLab の Server Side Camp に参加してきました
      • Python3.7以上のデータ格納はdataclassを活用しよう - Qiita

        はじめに Pythonでデータを格納する際に辞書や普通のクラスを使っていませんか?Python3.7からはデータ格納に便利なdataclassデコレータが用意されています。 この記事では公式ドキュメントやPEP557の説明ではいまいち掴めない、どういった時に便利で、なぜ使うべきなのかという点に触れつつ、使い方を説明していきます。 なお、以前のバージョンではPython3.6に限りpip install dataclassesによって使えるようになります。執筆時点ではGoogle Colaboratoryの環境がPython3.6.9ですが、デフォルトでdataclassesがインストールされています。 想定読者 dataclassの存在を知ったが何なのかよく分からない人 可読性高くデータを扱いたい人 「前はこんな機能なかったし、自分は別に使わなくて良いよ・・・」と思っている人 よく見かける

          Python3.7以上のデータ格納はdataclassを活用しよう - Qiita
        • エージェントシミュレーションやってみた1(コンビニ) - Qiita

          エージェントシミュレーションとは? マルチエージェントシステム(Multi-Agent System、MAS)とは、複数のエージェントから構成されるシステムであり、個々のエージェントやモノリシックなシステムでは困難な課題をシステム全体として達成する。 それぞれ異なった判定アルゴリズムなどの特徴(キャラクタリスティック)を持ったエージェントモデルを用い(よってマルチエージェントと呼ばれる)、複数かつある一定以上のエージェントを多数設定し、人工社会を構成しそれぞれ特徴の異なったエージェントの相互作用をシミュレーションするシステムである。(wikipediaより) すなわち人や車などをエージェントとし、それらをモデリング、観察することです。大学の授業でエージェントシミュレーションをする機会があったので、少し実装してみようと思います。(pythonのTKinterを使用) テーマ:コンビニなどの小

            エージェントシミュレーションやってみた1(コンビニ) - Qiita
          • 画像内の正確でほぼ重複する画像を見つける「imagededup」のインストール

            画像内の正確でほぼ重複する画像を見つける「imagededup」ライブラリのインストールについて解説しています。 「imagededup(https://github.com/idealo/imagededup)」は、画像コレクション内の正確でほぼ重複する発見できるPythonパッケージ,ライブラリです。 ■Python 今回のPythonのバージョンは、「3.6.8」を使用しています。(Windows10)(pythonランチャーでの確認) ■imagededupをインストールするimagededupをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。 pip install imagededup起動後、上記のコマンドを入力し、Enterキーを押します。 なお、今回は、pythonランチャーを使用しており、Pyth

              画像内の正確でほぼ重複する画像を見つける「imagededup」のインストール
            • [pyqtgraph] カーソルを追いかける十字線とその座標を表示するクラスを作った - Qiita

              やりたい事 この動作をやってくれるクラスの作成 カーソルを追従する十字線の作成 ラベルにx, y座標を表示 ラベルの色はプロット線と同じになる y軸の範囲外の場合はNone表示 環境 Mac OS Python 3.8.5 PyQt5 5.15.2 PyQt5-sip 12.8.1 pyqtgraph 0.11.1 pip install PyQt5 PyQt5-sip pyqtgraph pyqtgraph.exsamples import dataclasses from typing import Union import sys from PyQt5 import QtWidgets import pyqtgraph as pg @dataclasses.dataclass class CursorCrossHairLabel(object): """カーソルを追従する十字線を作成

                [pyqtgraph] カーソルを追いかける十字線とその座標を表示するクラスを作った - Qiita
              • openai.log を使ってLlamaIndexからOpenAIへのAPIリクエストの内容を見てみる

                openaiのソースを読んでいて、OpenAIへのAPIリクエストの内容をログで確認できそうなことに気が付いたので、試してみる。 サンプルとする学習元テキストやPythonソースコードは前回の私のスクラップからそのまま持ってくる。 $ pip show openai langchain llama_index Name: openai Version: 0.27.8 Summary: Python client library for the OpenAI API Home-page: https://github.com/openai/openai-python Author: OpenAI Author-email: support@openai.com License: Location: /home/ubuntu/.local/lib/python3.11/site-package

                  openai.log を使ってLlamaIndexからOpenAIへのAPIリクエストの内容を見てみる
                • 俺は長文matplotlibをやめるぞ!ジョジョーーーッ!! - Qiita

                  タイトルオチです。 記事の背景 あきとしのスクラップノートさんの以下の記事を読み、感銘を受けました。 [python] context manger を使ってmatplotlibの図を大量生産する そう、matplotlibってやたら行数多くなるんですよね…! まだ読まれてない方はこの記事より先にぜひ読んでください。 記事の内容をgithubでも公開してくださっています。 contextplt -github- 本記事では上記の記事に全面的に依拠しつつ、 データの渡し方をdictからdataclassにアレンジしてみました。 ささやかな差分ですが、自分の備忘録代わりにメモします。 ※ 2022-04-03 一部内容変更 キーワード引数の渡し方をより簡単な方法に変更しました(set_xticksのところ)。 dataclassにしてみたコード from typing import Named

                    俺は長文matplotlibをやめるぞ!ジョジョーーーッ!! - Qiita
                  • 【Python】定数管理のための、値の追加・変更を不可にするクラスを実装する - yiskw note

                    概要 機械学習の実験を回していると、しばしば複数の定数を管理したくなることがあります。(例えば、実験を回すマシンごとのデータセットのパスなど) Pythonでは、他のプログラミング言語のconstのような定数がサポートされていません。 PEP8の慣例に従って、大文字とアンダースコアで命名して定数を表す変数を作成したとしても、 それらは基本的に外部から書き換え可能で、意図しない変数の変更が起きてしまいます。 そこで今回は、Pythonで定数を管理するためのクラスを作成してみました。 その定数はクラス変数として管理され、クラス変数の追加や変更はできないようになっております。 そのため、定数の意図しない書き換えは発生せず、バグを防ぐことが可能です。 もし他に良い方法があれば、コメントにて教えていただけると幸いです。 概要 実装の方針 実装 dataclassとの違い 参考 実装の方針 定数を管理

                      【Python】定数管理のための、値の追加・変更を不可にするクラスを実装する - yiskw note
                    • [解決!Python]データクラスを定義するには

                      dataclassesモジュールのdataclassデコレーターを使って、クラスの定義でさまざまな特殊メソッドを自動的に生成する方法を紹介する。 from dataclasses import dataclass @dataclass class Person:  # クラスのフィールド(属性)は型アノテーションを用いて指定 name: str height: float weight: float def hello(self): print(f'hello {self.name}')  # メソッドも定義できる p = Person('kawasaki', 180, 72) p.hello()  # hello kawasaki # 文字列化 repr(p)  # "Person(name='kawasaki', height=180, weight=72)" # 同値性の比較 p2

                        [解決!Python]データクラスを定義するには
                      • gspread(およびgspread_dataframe)の利用方法について - Qiita

                        pythonからスプレッドシートを触るとき、gspread/gspread_dataframeなどのライブラリを利用することができます。 これらライブラリについて内部実装を見ながら、どのような使い方をするかまとめました。 前提・方針 スプレッドシートの操作はサービスアカウントを利用する Cloud FunctionsやCloud Runからスプレッドシートを自動更新できるようにするため ローカル環境では、サービスアカウントにimpersonateする セキュリティの観点から、サービスアカウントの秘密鍵をローカルにダウンロードしないようにするため なるべく、スプレッドシートへのアクセスは最小限にする Sheets APIではユーザごとに60リクエスト/分、プロジェクトごとに300リクエスト/分に制限されているため1 本書では書かないこと 以下の内容については、他の技術記事等で掲載されているた

                          gspread(およびgspread_dataframe)の利用方法について - Qiita
                        • Streamlitを使った数理最適化ダッシュボードの構築|株式会社JDSC

                          こんにちは。JDSCデータサイエンティストの横田です。普段はDemand Insightという需要予測や数理最適化を活かしたプロダクトの開発に従事しています。 はじめにデータサイエンティストとして仕事をするにあたって新しいアイディアや手法を創り出し実現していくといった取り組みは当然重要ですが、それらが結局なんの役に立つのかを説明可能な形で示していくのも同じくらい大きなミッションであると考えています。 データサイエンティスト間であれば手法については数式、結果については各種メトリクス/グラフや出力されたテキストをベースに意思疎通が取れます。ただ、Biz-Devの同僚やクライアントにそれらだけですべてを理解してもらうのはなかなかの無理筋です。 そこで本記事ではごちゃごちゃ議論するよりも動くものを見せちゃったほうが早いという思想のもと、 簡単にUIやダッシュボードを作成できるライブラリStream

                            Streamlitを使った数理最適化ダッシュボードの構築|株式会社JDSC
                          • TDnetから適時開示ダウンロードしてくる方法 - Qiita

                            適時開示をpdf形式でダウンロードしてくるスクリプトになります。このコードはやのしん氏が提供しているAPIを使用しています。使用する場合は、負荷がかからないように常識的な利用をお願いします。 注意 このAPIは個人運営のため急に公開終了する場合があります。 Google Colaboratoryでも動作しますが、一ヶ月分のダウンロードには15時間ほどかかるため、proでない限りタイムアウトすると思われます。configは以下のように設定します。 { "max_retries": 5, "download_delay": [6, 15], "url_template": "https://webapi.yanoshin.jp/webapi/tdnet/list/{start_date}-{end_date}.json?limit=10000", "config_file": "path/to

                              TDnetから適時開示ダウンロードしてくる方法 - Qiita
                            • MinecraftサーバをAWSで立ててみた #2 - Qiita

                              . ├── Pipfile ├── Pipfile.lock ├── README.md ├── app.py # mainのソースファイル ├── cdk.json ├── cdk.out/ # Cfnのファイル出力先 ├── docs/ # README.md関連のドキュメント格納用 │ ├── minecraft_server/ │   ├── resources/ # リソースごとの定義ファイルを格納 │   │   ├── abstract/ │   │   │   └── resource.py │   │   ├── ec2.py │   │   ├── ... │   └── stacks/ # スタックごとの定義ファイルを格納 │   ├── ec2_stack.py │   ├── ... ├── requirements-dev.txt ├── requirement

                                MinecraftサーバをAWSで立ててみた #2 - Qiita
                              • MetaのThreads(スレッズ)用非公式Pythonクライアント「threads-py」のインストール

                                MetaのThreads(スレッズ)用非公式Pythonクライアント「threads-py」のインストールについて解説します。 「threads-py(https://github.com/junhoyeo/threads-py)」は、Meta のThreads(スレッズ)用リバース エンジニアリングされたPython クライアント。なお、リバース エンジニアリングとは、主にソフトウェアなどの製品やシステムを分析し、それらの内部構造や仕組みを解明するプロセスである。 ■Python 今回のPythonのバージョンは、「3.9.9」を使用しています。(Windows11)(pythonランチャーでの確認) ■threads-pyをインストールするthreads-pyをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。

                                  MetaのThreads(スレッズ)用非公式Pythonクライアント「threads-py」のインストール
                                • PEP557 dataclassの仕組みを解説する - Qiita

                                  TL;DR dataclassすごくいいよ 手書きで書いたclassと遜色ないよ これからdataclassをベースにしたライブラリが出てきそう dataclassとは? dataclassはpython 3.7で追加された新しい標準ライブラリ。簡単に説明するとclassに宣言に@dataclassデコレータを付けると、__init__, __repr__, __eq__, __hash__といった所謂dunder(double underscoreの略。日本語だとダンダーと読むのかな)メソッドを生成してくるライブラリ。これを使うと面倒なクラスの定義を大幅に短縮できたり、下手な実装より高速だったりする。ここで紹介した以外にもdataclassには色々な機能があるので、詳しくは公式ドキュメントやPython3.7からは「Data Classes」がクラス定義のスタンダードになるかもしれないを

                                    PEP557 dataclassの仕組みを解説する - Qiita
                                  • HashableなDataclassを作る - Qiita

                                    PythonにはHashable,Unhashableという概念があり、辞書型の鍵にしようできるのはHashableなオブジェクトのみ。 割と便利なDataclassを使っていて辞書の鍵として使いたいときに、Hashableにする方法を調べたのでメモ。 データクラス内にHashableな値しかない場合 デコレーターのfrozen=Trueをつけると、データクラス内の値がHashableになる。 from dataclasses import dataclass @dataclass(frozen=True) class Sample: a: int b: str データクラス内にHashableでない値がある場合 対応する値をHashableにする。 下記例では、aの値をfrozensetにすることでHashableになる。 型変換の処理は__post_init__で行うことで自動的に行わ

                                      HashableなDataclassを作る - Qiita
                                    • 古いGPU(CUDA CC=3.0)のためのPyTorchのビルド(Ubuntu 22.04 on MacBookPro 15" Late2013) - Note to Self by notekunst

                                      CUDA, cuDNN, pytorch のいろいろなバージョンの組み合わせを試してみました。 以下の組み合わせで、一部の機能が、一応、動くようになりました。 GPU GeForce GT 750M (Compute Capability 3.0) Display Driver 418.113 (nvidia-smiによると470.129.06) CUDA 10.2 cuDNN 7.6.5 pytorch 1.9.1 torchvision 0.10.1 torchaudio 0.9.1 pytorch v0.3.1 のリリースノートには、以下の説明があります。 「バイナリから CUDA capability 3.0 と 5.0 のサポートが削除されました(今のところソースからビルドすれば動作しますが、今後のサポートは削除されます)」 https://github.com/pytorch/

                                        古いGPU(CUDA CC=3.0)のためのPyTorchのビルド(Ubuntu 22.04 on MacBookPro 15" Late2013) - Note to Self by notekunst
                                      • dataclassとjsonを相互変換 - Qiita

                                        TL;DR dataclasses.asdictとjson.dumpのdefaultを使うとデータクラスをjsonに簡単に変換できる。 match文とjson.loadのobject_hookを組み合わせるとjsonのオブジェクトを分かりやすくデータクラスに変換できる。 組み合わせればデータクラスとjsonの相互変換が楽! 標準ライブラリだけで完結するのでシンプル。 match文は3.10からなので古い環境だとオブジェクトの型チェックを書くのが面倒なので微妙。 今回使うデータクラスのサンプル @dataclasses.dataclass(frozen=True) class Student: number: int name: str birthday: date @dataclasses.dataclass(frozen=True) class Classroom: grade: int

                                          dataclassとjsonを相互変換 - Qiita
                                        • Django Meetup Tokyo #12

                                          Django Meetup Tokyo #12 に参加しました。 すごく良かったので感想を書こうと思います。 私とDjango 2017~2018(とあるスタートアップA) 社内の広告配信システム数値管理システム(4名のうちの一人) (先輩がdjangoマニアでmanage.pyを魔改造したり…) しかし私のメインの担当は某オンラインクレーンゲーム(php & node.js)でしたので、そちらを優先する以上チケット消費が雑で、いつもみんなに迷惑をかけていました。(えー!なるっちの担当箇所がバグだらけ!?) 2019/8 ~ 2022/3(とあるスタートアップB。倒産済み。) 社内経理システム(一から設計。それまでxlsx管理だった…) 担当は私一人 現在の会社のメイン技術 FastAPI & vue, nuxt Djangoを社内に流行らせたい野望がある 参加動機 ↑これだけ見ると結構や

                                            Django Meetup Tokyo #12
                                          • 「現場で役立つシステム設計の原則」サンプルコードをPythonで書く - 肉球でキーボード

                                            はじめに 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法~ のJavaで書かれたサンプルコードをPythonで書いてみました。 本書はシステム設計の名著として有名で、コード・システムを綺麗に維持し続けるためのテクニックが、オブジェクト指向プログラミングの思想に基づいてまとめられています。 本記事では具体的なコードの書き方に関する部分だけ扱い、Pythonで書く場合はどうすればいいのかに注目します。 本書の中では実際の現場での設計方法や、コード設計の背景にあるドメインモデルなどの概念も紹介されていますが、本記事では触れません。 より設計について学びたい方は、本書を読むことをお勧めします。 本文中コード:https://github.com/nsakki55/system-architecture-principles-python 1章 点在してるロジックを

                                              「現場で役立つシステム設計の原則」サンプルコードをPythonで書く - 肉球でキーボード
                                            • SQL クエリ (on Treasure Workflow) の単体テストを少ない手間で実現している話 - KADOKAWA Connected Engineering Blog

                                              Integrated Data Service 部の中野 (takamoto) です。現在は主にデータプラットフォーム上のデータパイプラインの開発・運用をメインで担当しています。 私の所属しているチームでは Snowflake を中心に構築されたデータパイプラインを主に管理していますが、 Treasure Data CDP を中心としたものについても管理しています。この Treasure Data CDP を中心としたデータパイプラインは規模がそれほど大きくはないこともあり、現在は素朴に Treasure Workflow から SQL (Presto) クエリを実行する形で構築されています。 今回は、こちらのデータパイプラインで行っている ELT 処理のロジックに対して、どのような構成で単体テストを行っているかについて紹介します。 前置き: ELT 処理の品質担保について ELT 処理に

                                                SQL クエリ (on Treasure Workflow) の単体テストを少ない手間で実現している話 - KADOKAWA Connected Engineering Blog
                                              • 【python】dataclassでお手軽引数型チェック - Qiita

                                                はじめに DDDでコード書く練習していたときに、ValueObjectの型チェック方法を試行錯誤したのでその時のメモ Qiitaの記事練習として(初投稿)。 結論 __post_init__()で初期化時の処理がかけるので、ここで型チェックを実行 isinstanceで型チェック self.__annotations__から期待値の型を取得する dataclasses.asdict(self)でインスタンスをdictに変換。これをisinstanceにかける。 dataclassとは? init()を自動生成してくれる。 __init__()に引数を入れて、self.hoge=arg_hogeとかする必要ない。 ValueObjectを生成するのに適している。 普通の書き方 class Users: def __init__(self, user_name: str, user_id: i

                                                  【python】dataclassでお手軽引数型チェック - Qiita
                                                • 読書ログ | 『ロバストPython』14章、Pydanticのdataclassデコレータに切り替えるだけで実行時バリデーション追加!バリデータを書いて不変式を表現!なんて便利なの! - nikkie-ftnextの日記

                                                  はじめに PrayForKyoani、nikkieです。 久しぶりの『ロバストPython』読書ログ。 将来の開発者に意図を伝えるPythonの書き方が指南された(議論のための)本です。 Pydanticの関係1で14章を読みました。 目次 はじめに 目次 前回の『ロバストPython』! 14章 pydanticによる実行時型チェック 実行時型チェック TypedDictの場合 Pydanticが提供する実行時型チェックによる解決 指南された実行時型チェック 終わりに 前回の『ロバストPython』! 発売当初、いくつか読書ログを書きました。 『ロバストPython』読み始めました 📘「あなたの書くPython、将来の開発者に意図、伝えていますか?」 私(Python歴5年)「すいませんでしたあああ!🙇‍♂️ やり方マジで教えてください」 - nikkie-ftnextの日記 読書ロ

                                                    読書ログ | 『ロバストPython』14章、Pydanticのdataclassデコレータに切り替えるだけで実行時バリデーション追加!バリデータを書いて不変式を表現!なんて便利なの! - nikkie-ftnextの日記
                                                  • 【AutoML】AzureAutoMLをpythonから操作してみる【python】 - Qiita

                                                    adal==1.2.7 applicationinsights==0.11.10 argcomplete==2.0.0 attrs==22.1.0 azure-common==1.1.28 azure-core==1.25.0 azure-graphrbac==0.61.1 azure-identity==1.7.0 azure-mgmt-authorization==2.0.0 azure-mgmt-containerregistry==10.0.0 azure-mgmt-core==1.3.2 azure-mgmt-keyvault==10.1.0 azure-mgmt-resource==21.1.0 azure-mgmt-storage==20.0.0 azure-storage-blob==12.9.0 azure-storage-queue==12.4.0 azureml-au

                                                      【AutoML】AzureAutoMLをpythonから操作してみる【python】 - Qiita
                                                    • colaboratoryデフォルトで入っているライブラリバージョン一覧 メモ - Qiita

                                                      import pkg_resources for dist in pkg_resources.working_set: print(dist) python 3.6.9 zmq 0.0.0 zipp 3.1.0 zict 1.0.0 yellowbrick 0.9.1 xlwt 1.3.0 xlrd 1.1.0 xgboost 0.90 xarray 0.14.1 wrapt 1.11.2 wordcloud 1.5.0 widgetsnbextension 3.5.1 wheel 0.34.2 Werkzeug 1.0.0 webencodings 0.5.1 wcwidth 0.1.8 wasabi 0.6.0 vega-datasets 0.8.0 urllib3 1.24.3 uritemplate 3.0.1 umap-learn 0.3.10 tzlocal 1.5.1 typ

                                                        colaboratoryデフォルトで入っているライブラリバージョン一覧 メモ - Qiita
                                                      • 【AWSコスト削減の道 for ステージング環境】 Fargate編 - Qiita

                                                        【AWSコスト削減の道 for 開発環境】 Fargate編 結論 FargateをFargate Spotに変更及び使用していない時間に自動停止処理を設定することで、通常料金の 約70% を低下 前提 本記事で記載している料金については、2022/02/13時点の料金を表示している 料金は「東京リージョン」の料金を表示している Fargateのリソース構築についてはTerraformを用いてリソース構築をしている Fagateについてある程度理解している Fargate Spotについてある程度理解している 詳細は参考URLを参照 Fargateのスペックは以下としている vCPU: 2 メモリ(GB): 4 本記事内ではタスク数を1としている 目次 前提 概要 背景 本記事内の利用技術について 料金について Fargate Spotの指定方法について 起動・停止方法について 次回記事に

                                                          【AWSコスト削減の道 for ステージング環境】 Fargate編 - Qiita
                                                        • 参照カウントをうまく使い、Rustコンパイラーの厳しいチェックを回避

                                                          前回は、所有権の問題に対処するためのスマートポインター「Box」を紹介した。今回は、Boxと並んでよく使われるスマートポインター「Rc」、すなわち「参照カウント」について見ていこう。 ノードを共有するリストを考える 前回は単方向リストの実装を例にBoxを解説した。今度は1つのノードを2つのノードから共有するリストについて考えてみよう。 まずPythonで実装してみる 前回と同様にまずPythonで実装してみよう。「node_c」として定義した変数を、「node_a」と「node_b」から指し示すようにしている。 from dataclasses import dataclass from typing import Optional @dataclass class Node: val: int next: Optional['Node'] = None node_c = Node(3)

                                                            参照カウントをうまく使い、Rustコンパイラーの厳しいチェックを回避
                                                          • dataclasses-json:`DataClassJsonMixin`を継承してデータクラスを定義すれば、mypyに怒られない - Qiita

                                                            環境 Python 3.11.2 dataclasses-json 0.5.7 mypy 1.3.0 本題 @dataclass_jsonでデータクラスを定義して、dataclass_jsonが用意したfrom_dict関数などを呼び出すと、「そんな属性はない」とmypyに怒られます。 from dataclasses_json import dataclass_json, DataClassJsonMixin from dataclasses import dataclass @dataclass_json @dataclass class Task: value: int Task.from_dict({"value": 1})

                                                              dataclasses-json:`DataClassJsonMixin`を継承してデータクラスを定義すれば、mypyに怒られない - Qiita
                                                            • 2024年のPythonプログラミング - Uzabase for Engineers

                                                              ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                                                                2024年のPythonプログラミング - Uzabase for Engineers
                                                              • Python3.10で新たに追加されたdataclass()の引数 - Qiita

                                                                はじめに Python3.10でdataclassに新たに追加された引数について少し調べたので、まとめてみた。 参考文献 dataclassとは Python3.7より標準ライブラリとして搭載された、データを格納するためのクラスが簡単に定義可能となったモジュール。 dataclassの簡単な使用方法は以下。 from dataclasses import dataclass @dataclass class User: name: str age:int user1 = User('Jun', 20) print(user1) # User(name='Jun', age=20) dataclass()の引数 Python3.10現在、dataclass()に使用できる引数には以下のようなものがある。 init repr eq order unsafe_hash frozen match_

                                                                  Python3.10で新たに追加されたdataclass()の引数 - Qiita
                                                                • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

                                                                  はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

                                                                    【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
                                                                  • dataclasses-json:データクラスのフィールドの型に`list`などを使うと、`TypeError: 'type' object is not subscriptable`エラーが発生する - Qiita

                                                                    実行環境 Python3.8.6 dataclasses-json 0.4.5 やりたいこと dataclasses-jsonを使って、dictからデータクラスに変換したいです。 エラー発生 以下のコードを実行すると、TypeError: 'type' object is not subscriptableが発生しました。 from __future__ import annotations from dataclasses import dataclass from dataclasses_json import dataclass_json @dataclass_json @dataclass class Person: name: str club: list[str] d = {"name": "Alice", "club": ["tennis", "soccer"]} perso

                                                                      dataclasses-json:データクラスのフィールドの型に`list`などを使うと、`TypeError: 'type' object is not subscriptable`エラーが発生する - Qiita
                                                                    • FastAPI でコード サンプルを ReDoc に追加する方法

                                                                      この記事を読むと、生成された OpenAPI スキーマを変更ReDocし、FastAPI アプリケーションのエンドポイントにコード サンプルを追加する方法を学習できます。このチュートリアルでは、FastAPI スクリプト内でコードを定義する代わりに、テキスト ファイルからコード サンプルを動的に追加する方法についても説明します。 バージョン 2.0 の時点で、ReDoc はベンダー拡張機能を介してコード サンプルの優れたサポートを提供します。必要なことはx-codeSamples、ルートごとに呼び出される新しいアイテムを宣言することだけです。x-codeSamples次のように表すことができる Code Sample オブジェクトのリストが含まれている必要があります。 言語 ラベル ソース コード サンプル言語を表す文字列。コード サンプルのレンダリングと色に影響します。値は次のいずれかで

                                                                        FastAPI でコード サンプルを ReDoc に追加する方法
                                                                      • 最適化システムにおいてドメイン知識をいかに扱うか

                                                                        数理最適化Advent Calender 2023の13日目の記事です。この記事では、数理最適化を含むシステムにおいて問題解決の対象であるドメインの知識をどのように扱うかについて、現時点での私の考えをまとめています。数理最適化またはソフトウェア設計のいずれかを知っている方ですと、読みやすい記事になっているかと思います。 概要 ドメインの問題を解決する最適化システムでは、ドメイン知識が必要でありシステムの複雑性を増す要因となりえます。 最適化システムにおいてドメイン知識を適切に扱うための手段として、ソフトウェア設計手法、特にドメイン駆動設計が有効ではないかと考えました。 具体例として配送計画問題を取り上げて、Pythonによる実装例を紹介します。 この記事では、数理最適化を単に「最適化」、数理最適化を用いたシステムを「最適化システム」と呼ぶことにします。 はじめに はじめに、簡単な自己紹介と

                                                                          最適化システムにおいてドメイン知識をいかに扱うか
                                                                        • dataclasses-json:`from __future__ import annotations`が有効な状態で`schema().load()`を実行するとwarningが発生する - Qiita

                                                                          環境 Python 3.11.2 dataclasses-json 0.5.7 marshmallow 3.19.0 何が起きたのか? 以下のコードを実行したら、Task.schema().load()で、Unknown type int at Task.countというwarningが発生しました。 from __future__ import annotations from dataclasses_json import DataClassJsonMixin from dataclasses import dataclass @dataclass class Task(DataClassJsonMixin): count: int print("Use `Task.from_dict()`") print(Task.from_dict({"count": 1})) print("Us

                                                                            dataclasses-json:`from __future__ import annotations`が有効な状態で`schema().load()`を実行するとwarningが発生する - Qiita
                                                                          • OmegaConfで型チェック付きのコンフィグ管理

                                                                            機械学習関連でモデルの学習や評価コードを回していると、実行時の設定を管理・保存する必要がある。FacebookResearchからOSSとして公開されているHydraはpythonのコンフィグ管理を行う代表的なツールだが、スクリプト実行時にディレクトリを移動する(YAML上に設定を書き加えることで一応対処可能)などいくつか肌に合わない点があった。 ここでは、特に以下ができるコンフィグ管理を目指す。 前処理、モデル構築、学習などそれぞれのパラメータをまとめて管理できる パラメータの型チェック 実行時にコマンドラインから与えたパラメータと、デフォルト値と合わせた全体のパラメータを保存できる 最終的なサンプルはこちら OmegaConfによるコンフィグ構築 OmegaConfはHydraの内部で使われているコンフィグツール。YAMLファイルから設定を読み込んだり、コマンドライン引数をコンフィグオ

                                                                              OmegaConfで型チェック付きのコンフィグ管理
                                                                            • `numpy.float64`の値は`json.dumps`で出力できるが、`numpy.int64`は`TypeError`が発生する - Qiita

                                                                              `numpy.float64`の値は`json.dumps`で出力できるが、`numpy.int64`は`TypeError`が発生するPythonnumpy 環境 Python 3.11.2 pandas 2.0.1 numpy 1.24.2 はじめに pandas.DataFrameから取得した情報を加工して、JSON出力したいです。 以下のPythonスクリプトを実行すると、json.dumpsで"TypeError: Object of type int64 is not JSON serializable"というエラーが発生しました。 import pandas from dataclasses import dataclass, asdict import json @dataclass class Info: year: int score: int df = pandas.

                                                                                `numpy.float64`の値は`json.dumps`で出力できるが、`numpy.int64`は`TypeError`が発生する - Qiita
                                                                              • Django rest_framework にてカスタムのレスポンスステータス・ボディを返却する方法について - Qiita

                                                                                概要 Django rest_framework を利用して API を設計しています。 アプリケーションでは、別サーバーへ HTTP アクセスしています。 HTTP アクセスが失敗して、なにもハンドリングをしないと、自前の Django アプリケーションで 500 エラーが発生してしまいます。 500 エラーは「うっかり」ででるような類のサーバーエラーのニュアンスがあるように感じられたので、起きうることは予想できるけれど、どうしようもない例外ということで 502 エラー を返そうとしました。 Spring MVC のようなことができることを想定していたのですが、既定の機能では、レスポンスステータスを、502 で返す方法がなさそうなので、カスタムのレスポンスを返却する方法を調査しました。 環境 Python: 3.9 Django: 3.1.4 Django Rest Framework:

                                                                                  Django rest_framework にてカスタムのレスポンスステータス・ボディを返却する方法について - Qiita
                                                                                • dataclasses-json:`from __future__ import annotations`がある状態で`.schema().dump()`を実行すると、UserWarningが発生する - Qiita

                                                                                  dataclasses-json:`from __future__ import annotations`がある状態で`.schema().dump()`を実行すると、UserWarningが発生するPythondataclasses-json 実行環境 Python3.8.6 dataclasses-json 0.4.5 やりたいこと dataclasses-jsonを使って、データクラスからdictに変換したいです。 何が起きたのか .schema().dump(...)を使って、データクラスPersonのlistを、dictのlistに変換します。 foo.pyでは、型ヒントにlistやdictなどを使うため、ファイルの先頭でfrom __future__ import annotationsを記載しました。python3.7以降で型ヒントにlistやdictを使う場合は、先頭にfr

                                                                                    dataclasses-json:`from __future__ import annotations`がある状態で`.schema().dump()`を実行すると、UserWarningが発生する - Qiita