並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 32 件 / 32件

新着順 人気順

mypyの検索結果1 - 32 件 / 32件

  • 【2021】モダンなPython開発環境の紹介 - Qiita

    📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基本的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 本記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです

      【2021】モダンなPython開発環境の紹介 - Qiita
    • 僕の考えた最強の Python 開発環境 (2024)

      はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ

        僕の考えた最強の Python 開発環境 (2024)
      • Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era

        PyCon JP 2020 の「Python 3.9 時代の型安全な Python の極め方」の発表資料です

          Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era
        • 開発やデバッグが捗るPythonライブラリ6選 - Qiita

          目次 概要 動作環境 紹介するPythonライブラリ flake8 pyformat isort mypy bpython ipdb 最後に 概要 仕事でよくつかうパッケージからプライベートで開発するときに、必ずインストールしているパッケージをまとめて紹介してみた。 データサイエンス系の人はJupyterを使うと思うのでWeb開発向きだと思います。 DjangoなどWebフレームワークを使うときは便利な専用のパッケージもありますが本記事には記載してないです。 パッケージ管理はPipenvやpoetryなど有名なものがあるがこの記事では書いてないです。 動作環境 筆者の動作環境。 環境に依存したパッケージはないはずだが念の為。 MacOS Python 3.8.0 anyenv 1.1.1 pyenv 1.2.15-1-g49bf5952 紹介するPythonパッケージ flake8 プロジ

            開発やデバッグが捗るPythonライブラリ6選 - Qiita
          • Pythonでの開発を効率的に進めるためのツール設定

            バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)NTT DATA Technology & Innovation739 views•79 slides

              Pythonでの開発を効率的に進めるためのツール設定
            • Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp

              寺田 学です。9月の「Python Monthly Topics」は、Python 3.5で導入され、多くの場面で活用されている型ヒント(Type Hints)について、より良い型ヒントの書き方を紹介します。 Pythonの型ヒントとは Pythonは動的型付け言語です。型を指定せずに変数宣言できますし、関数の引数や戻り値に型を宣言する必要はありません。 Python 3.5(2015年9月リリース)で型ヒントの仕組みが入りました。型の指定が不要なPythonですが、型ヒントを付けることで、「⁠コードの可読性向上⁠」⁠、「⁠IDEコード補完の充実⁠」⁠、「⁠静的型チェックの実行」といった静的型付け言語のようなメリットを得ることができます。 Pythonの型ヒントは以下のように記述します。 name: str = "氏名" # 変数nameをstr型と宣言 def f(arg: int) -

                Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp
              • Pythonに型アノテーションを自動で付与する

                2021/10 追記 Pyannotate はメンテナが居なくなったため更新が途絶えました。またより表現多く typing を反映できるため、これからは Monkeytype を推奨します。 この記事は何か Python Advent Calendar 2020の 2 日目の記事です(元々 13 日目でしたが、2 日目の参加者が取りやめたので横入りしました)。「Python コードに自動で型を付与し、その型をテストで静的チェックして、保守性を高める方法」をご紹介する趣旨の記事です。 書いた理由 今回紹介するメインツールの pyannotate について、日本語で紹介している記事がほとんどなく、かつ古い情報が多かった為です(python3 サポートがない時代かつ、pytest との連携ができなかった時代)。「Python において型はいるのか?」という議論はしません。 今回紹介するツールは以

                  Pythonに型アノテーションを自動で付与する
                • その設定、pyproject.tomlに全部書けます - Gunosyデータ分析ブログ


                   Gunosy Tech Lab - Media ML suchida Python  Gunosy Advent Calendar 20213 id:skozawa Day Python Python  Python 
                    その設定、pyproject.tomlに全部書けます - Gunosyデータ分析ブログ
                  • Our journey to type checking 4 million lines of Python

                    Dropbox is a big user of Python. It’s our most widely used language both for backend services and the desktop client app (we are also heavy users of Go, TypeScript, and Rust). At our scale—millions of lines of Python—the dynamic typing in Python made code needlessly hard to understand and started to seriously impact productivity. To mitigate this, we have been gradually migrating our code to stati

                      Our journey to type checking 4 million lines of Python
                    • GitHub - pfnet/pysen: Python linting made easy. Also a casual yet honorific way to address individuals who have entered an organization prior to you.

                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                        GitHub - pfnet/pysen: Python linting made easy. Also a casual yet honorific way to address individuals who have entered an organization prior to you.
                      • Python Type Hints | NP-Incompleteness

                        Jukka Lehtosalo is a Finnish Software Engineer at Dropbox. He developed an optional type system for Python, mypy, during his PhD thesis in Cambridge. After meeting in a Python conference, Guido van Rossum (creator of Python) invited Lehtosalo to join him at Dropbox. They started adopting mypy in real use cases during a Hackathon, which led to mypy being one of the most popular Python type checkers

                          Python Type Hints | NP-Incompleteness
                        • Python の型ヒントと typing と mypy | 民主主義に乾杯

                          めちゃくちゃ長いですが 変数や属性に代入されるオブジェクトの型名を書く という、ただそれだけの話です。 # 1. はじめに 型ヒントの書き方については mypy のマニュアルにチートシートがありました。 わかる方は、直接こちらをご参照ください。 Type hints cheat sheet (Python 3) - mypy (opens new window) また型ヒントをいつ使うのか、と言った 「使い分け」 、型ヒントが登場した 「背景」 については、 以下の記事にまとめました。本記事の後編にあたります。 動的言語と静的言語ってなに? この記事では主に 「書き方」 と 「使い方」 について、書いていきます。 # 1.1. 型ヒント 変数に代入される型の名前です。 正確には違います。引用先の用語集をご参照ください。

                          • Python の型チェックが 400 万行に到達するまで

                            Dropbox は、Python のビッグ ユーザーです。Python は、バックエンド サービスとデスクトップ クライアント アプリの両方で最も広く使用されています(Dropbox は Go、TypeScript、Rust のヘビー ユーザーでもあります)。 Dropbox の Python コードは数百万行にも及ぶ規模となっていますが、その動的型付けによってコードが必要以上に理解しにくくなり、生産性に深刻な影響を与えるようになりました。 これを軽減するため、現在私たちは最も普及している Python スタンドアロン型チェッカー、mypy による静的型チェックにコードを徐々に移行しています(mypy はオープン ソース プロジェクトであり、そのコア チームは Dropbox 内に設立されました)。 Dropbox は、この規模での Python 静的型チェックを導入した最初の企業の一つで

                              Python の型チェックが 400 万行に到達するまで
                            • pydanticで始める型安全なPython開発 - NIFTY engineering

                              2018年5月に中途でニフティに入社し、以来 @niftyメール の開発、運用を担当しております。具体的には、メールデータを保存するオンプレの分散オブジェクトストレージシステムの運用から、Webアプリケーションの開発〜運用まで幅広い業務に従事しています。 よく鍛えられた Mr.Children のファンでもあり、2022年5月10日はお休みをいただいて彼らのデビュー30周年をお祝いしに 30th Anivversary Tour が催される東京ドームへ赴いておりました。 (しかしながら厳選なる抽選の結果、チケットはご用意していただけず…。) さて、今回は直近の @niftyメール関連のサービス開発で利用した技術スタックの一部である、pydantic ついてお話したいと思います。 pydanticとは Python 製ライブラリで、Python の型アノテーションを用いてデータのバリデーショ

                                pydanticで始める型安全なPython開発 - NIFTY engineering
                              • 実践!!Python型入門(Type Hints) - Qiita

                                はじめに みなさん、PythonのType Hints使ってますか? Pythonは動的型付き言語なので、明示的に型情報をつけずにコーディングできることがメリット、と感じされている方もいらっしゃるかもしれません。 その意見はもっともなのですが、型を明示的に指定することで、よりバグを発生させにくいコーディングができることも事実かと思います。 本記事ではPythonの型についての入門~中級の内容を扱います。 皆さんのPythonスキルアップの一助となれば幸いです。 注意事項 Pythonの静的型解析にはmypyというライブラリが必要ですが、mypyの使い方、インストール方法などについては解説しません。 ステップ1:基本的な変数の型[イミュータブル] 変数の型の書き方は下記の通りです。

                                  実践!!Python型入門(Type Hints) - Qiita
                                • 入力補完を充実させ、より堅牢なPythonコードのための型アノテーションとPyright入門 - Qiita

                                  よりVS CodeのPythonの入力補完を精度良くしたり、入力補完が効かない部分をちゃんと補完してもらったり、もしくは静的型付き言語でコンパイルして型のエラーが無いか調べるがごとく、CIなどでチェックして安全にプロジェクトを扱うためのPythonの型アノテーションやPyrightなどについて学んでいきます。 記事執筆する際に使っている環境 Python 3.7.3(Anaconda。本記事の内容は古いPythonバージョンでは使えないものが含まれます) Windows10 VS Code 1.45.1 Kite VS Code上の以下の拡張機能 Python Kite Autocomplete for Python and JavaScript Pyright ※Kiteの有無などで若干補完結果が皆さんの環境と本記事でずれたりするかもしれませんがご了承ください。 そもそも型アノテーション

                                    入力補完を充実させ、より堅牢なPythonコードのための型アノテーションとPyright入門 - Qiita
                                  • Typechecking Django and DRF

                                    As you have already know I love optional static typing. The thing is that sometimes it is not optional, but impossible. Because we have plenty of big untyped projects in Python’s ecosystem. Django and Django-Rest-Framework were two of them. Were. Because now they can be typed! Let me introduce TypedDjango organisation and stubs for django and drf. This is going to be a concise tutorial and getting

                                    • mypyで静的型チェックを導入する - け日記

                                      仕事で既存のコードへmypyの導入を試みる機会がありましたので、使い方とtipsの備忘録としてまとめます。 mypyとは インストール 型チェックの実行 Tips: 型チェック対象を限定する 設定 Tips: スタブが無いパッケージのエラーは無視させる コードの修正 Tips: Unionでの型エラー Tips: 特定箇所の型チェックエラーを無視したい まとめ mypyとは mypyはPythonで静的型チェックを行うライブラリです。型はtypingで定義します。 ドキュメント: https://mypy.readthedocs.io/en/stable/index.html GitHub: https://github.com/python/mypy PyPI: https://pypi.org/project/mypy/ インストール typingと異なり、標準ライブラリではないので、

                                        mypyで静的型チェックを導入する - け日記
                                      • Djangoでのプロジェクトだって型ヒントを運用出来る!

                                        SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI

                                          Djangoでのプロジェクトだって型ヒントを運用出来る!
                                        • Python: Queue に型を付ける - Qiita

                                          皆さん、普段 Python でコードを書くときはちゃんと型を書いてますよね? まだ型の書き方を知らない場合は Software Design 2020年 5月号の『Python でも型チェックしよう』を読むといいと思いますよ (宣伝)。 レビューのお手伝いをした『Python でも型チェックしよう』(by @t2y)が掲載されているSDが発売されました。型ヒントを使ってみたい方におすすめです。また、3.8で導入された Protocolなども紹介されており、すでに使っている方にもお勧め! / Software Design 2020年5月号 https://t.co/JL5GgO0mcq — tk0miya (@tk0miya) April 18, 2020 私はコードに型をつけ始めておおよそ 3年ぐらいになるのですが、いまでは型がないと落ち着かなくなっています。 コード規模がある程度大きく

                                            Python: Queue に型を付ける - Qiita
                                          • 最強のPython型チェッカーmypy - MicroAd Developers Blog

                                            はじめまして!今年マイクロアドに入社してサーバーサイドエンジニアとしてバッチ開発を担当している根本( id:realyutanemoto )といいます! 今回は、マイクロアドのバッチ開発で利用している静的コード解析ツールのmypyについてのご紹介です。 はじめに バッチ開発で使っているリンター・フォーマッターなど yapf mypy flake8 最強の型チェッカーmypy mypyで型チェックしよう 最近のmypy オプションの追加 エラーコードの有効化/非有効化 特定のファイル/ディレクトリをビルドから除外 スタブパッケージの自動インストール 確認不要のスタブパッケージの自動インストール Pythonのサポート対象バージョンの変更 stdlibのモジュール以外に対してのスタブをmypyが提供しなくなる メソッドや変数の型範囲を狭めやすくなった type(x) を用いた型範囲の決定 Ty

                                              最強のPython型チェッカーmypy - MicroAd Developers Blog
                                            • Mypy と Pyright の解析手法と型情報の比較 | フューチャー技術ブログ

                                              はじめにMypy や Pyright は Python の静的解析ツールとして有名ですが、これら二つに解析情報でどのような違いがあるのかわからなかったので、実験することにしました。Pyright は Mypy に比べて後発のプロジェクトですが、性能面で優れているなどとして徐々に注目を集めています。 https://github.com/python/mypy https://github.com/microsoft/pyright 解析以外での比較はこちらが参考になります。 https://qiita.com/simonritchie/items/7492d1c1a3c13b2f27aa#%E4%BA%8B%E5%89%8D%E3%81%AEpyright%E3%81%AE%E8%BF%BD%E5%8A%A0 実験概要Mypy、Pyright はともに reveal_type(expr)

                                                Mypy と Pyright の解析手法と型情報の比較 | フューチャー技術ブログ
                                              • pythonのtyping_extensions.Protocolがなぜ嬉しいか(propertyの例) - podhmo's diary

                                                mypyで使えるProtocolが便利という話の例。 structural subtypingをやる際にgoでもほしいと想うことが多かった例がProtocolでは大丈夫なので良いなーという例(今回はそのうちのひとつだけを紹介)。 Protocol? Protocolをいつ使いたくなるかというと、大抵は複数ある何かを同一視したくなった場合。 例えば以下の様な例があげられる。 クラスの継承関係を無視して同様のふるまいを持つものを同一視したいとき ある値を持つものを同一視したいとき 関数とcallable objectを同一視したいとき 同一視した表現を受け取って再帰的に同一視した表現を返したいとき (self-reference) mypyでの型チェックはnominalなので、こういう構造を利用して同一視したい場合にはstructural subtypingが欲しくなる。これ用のinterfa

                                                  pythonのtyping_extensions.Protocolがなぜ嬉しいか(propertyの例) - podhmo's diary
                                                • Professional-grade mypy configuration

                                                  Type hints are an essential part of modern Python. Type hints are the enabler for clever IDEs, they document the code, and even reduce unit testing needs. Most importantly, type hints make the code more robust and maintainable which are the attributes that every serious project should aim for. At Wolt we have witnessed the benefits of type hints, for example, in a web backend project which has 100

                                                    Professional-grade mypy configuration
                                                  • GitHub - typeddjango/awesome-python-typing: Collection of awesome Python types, stubs, plugins, and tools to work with them.

                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                      GitHub - typeddjango/awesome-python-typing: Collection of awesome Python types, stubs, plugins, and tools to work with them.
                                                    • mypy 設定ファイルの読み合わせと修正を実施しました - CADDi Tech Blog

                                                      こんにちは MLエンジニアとMLOpsエンジニアを兼任している押条です。 CADDi の機械学習プロジェクトでは Python がよく使われています。 本番環境にリリースするコードのlinter や formatter、test に関しては、 CI で自動的に適用し運用できていました。 一方、型注釈については開発担当者に一任されており、プロジェクトごとにあるものとないものと混在していました。 採用を強化してチームを拡大していこうという動きもあり、開発に携わる人が増える見込みがあります。 そのような背景から、型注釈による既存コードの可読性の向上の重要性が増してきました。 そこで現行の mypy の設定の読み合わせと mypy 設定の修正を実施しました。 その時の議論の内容と修正後の設定をご紹介しようと思います。 目次 現行ルールがどのようなものか認識合わせする 現在のプロダクションコードを参

                                                        mypy 設定ファイルの読み合わせと修正を実施しました - CADDi Tech Blog
                                                      • PythonでProtocolを使って静的ダック・タイピング - Qiita


                                                         Advent Calendar 201914 @mito1296Terraformec2Ansible   TD;LD Python Python3.5typingmypy python3.8typing.Protocol
                                                          PythonでProtocolを使って静的ダック・タイピング - Qiita
                                                        • Python Types Intro - FastAPI

                                                          Python Types Intro¶ Python has support for optional "type hints" (also called "type annotations"). These "type hints" or annotations are a special syntax that allow declaring the type of a variable. By declaring types for your variables, editors and tools can give you better support. This is just a quick tutorial / refresher about Python type hints. It covers only the minimum necessary to use them

                                                            Python Types Intro - FastAPI
                                                          • mypy駆動リファクタリング - Qiita

                                                            はじめに Pythonは動的型付けのプログラミング言語です。そのため、実行時に型に関するチェックが実行されません。その結果、“動的型付けであるがゆえに問題がない処理”が存在してしまいます。それらは、ある時点で外部から観測される振る舞いに問題がなかったとしても、リリースを重ねていくうちにに不具合として顕在化する可能性があります。 そのような処理に対して、mypyによりコードにおけるリファクタリングをすると良い箇所を特定できます。mypyはPythonで静的型チェックを実行するツールです。 例えば、以下に該当するような、コードの検知が可能です。 型ヒントの不足 型の矛盾 つまり、mypyの出力に基づくリファクタリングでは以下の効果が期待されます。 処理の内容を型ヒントで補足することによる可読性の向上(潜在的な不具合を埋め込む可能性の解消) 型が矛盾している処理を修正することによる堅牢性の向上(

                                                              mypy駆動リファクタリング - Qiita
                                                            • GitHub - dry-python/returns: Make your functions return something meaningful, typed, and safe!

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                GitHub - dry-python/returns: Make your functions return something meaningful, typed, and safe!
                                                              • Pythonにおける型ヒント入門 - MyEnigma

                                                                Advanced Python Development: Using Powerful Language Features in Real-World Applications 目次 目次 はじめに Pythonの型ヒント 型アノテーションの書き方 静的型チェッカー mypy インストール方法 ターミナル上での使い方 mypy.iniの作り方 PyCharm PyCharmでの型入力 PyCharmでの型チェック CI上でチェックする 参考資料 MyEnigma Supporters はじめに Pythonは動的言語で、 型を指定する必要は無いのですが、 それが原因で、意図しない入力が関数が入力されたりして、 バグの温床になりがちです。 そこで、Python3.5あたりから、 型ヒント(型アノテーション)という機能が追加されました。 docs.python.org これにより、変数や、関数

                                                                  Pythonにおける型ヒント入門 - MyEnigma
                                                                • GitHub - typeddjango/django-stubs: PEP-484 stubs for Django

                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                    GitHub - typeddjango/django-stubs: PEP-484 stubs for Django
                                                                  1