以下のstapy#98にて発表したスライドです https://startpython.connpass.com/event/296755/ PythonのPackage Managerを深く知るためのリンク集 https://gist.github.com/vaaaaanquish/1ad9…

EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解
欧州連合(EU)の政策執行機関である欧州委員会は、サイバー攻撃による社会的な被害が大きくなってきていることを背景に、現在広く普及しているさまざまなデジタル製品やサービスのセキュリティをより高める目的で、サイバーレジリエンス法案(CRA:Cyber Resilience Act)を検討しています。 この法案が目指すところは、より脆弱性の少ないデジタル製品が市場に投入されるようにすること、市場に投入後も製造者が製品のライフサイクル全体を通じてセキュリティに真剣に取り組むことを保証すること、そしてユーザーもセキュリティを考慮した製品を選択できるようにすること、などです。 欧州委員会では同時に製造者責任法の改定案も検討中です。これは従来の製造者責任法ではカバーされていなかったデジタル関連の製品やサービスに対しても製造者責任を問えるようにするものです。 しかしこれらの法案ではオープンソースの開発者が
Phylumはこのほど、「Phylum Discovers Revived Crypto Wallet Address Replacement Attack」において、PyPI (Python Package Index)リポジトリに大量の不正なPyPIパッケージが登録されていることを伝えた。タイポスクワッティングによるサイバー攻撃とされ、クリッパーマルウェアをPython開発者のシステムに感染させる450以上の悪意のあるPyPIパッケージが公開されていることが明らかとなった。 タイポスクワッティングとは、ユーザーがWebブラウザにURLを入力する際に犯す打ち間違いを悪用して、攻撃者が用意した不正なWebサイトへ誘導する攻撃手法。 Phylum Discovers Revived Crypto Wallet Address Replacement Attack Phylumにより発見された
Packaging Python Projects¶ This tutorial walks you through how to package a simple Python project. It will show you how to add the necessary files and structure to create the package, how to build the package, and how to upload it to the Python Package Index (PyPI). Tip If you have trouble running the commands in this tutorial, please copy the command and its output, then open an issue on the pack
2022年5月24日(米国時間)、SANS ISCのフォーラムでPython向けライブラリの1つ(その後PHP向けライブラリでも判明)が第三者により不正なコードを含むアップデートが行われていたとして注意を呼び掛ける投稿が行われました。その後この行為に関わっていたとして実行者とみられる人物が顛末を公開しました。ここでは関連する情報をまとめます。 改ざんされた2つのライブラリ 今回影響が確認されたのPython Package Index(Pypi.org)で公開されている「ctx」、Packagist(Packagist.org)で公開されている「PHPass」の2つ。 影響を受けたライブラリ インストール実績 改ざんされたとみられる期間 概要 ctx 約75万回 2022年5月14日~5月24日頃 辞書(dict型オブジェクト)を操作するユーティリティを提供するPython向けのパッケージ
- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂
Python には依存関係を管理するツールがたくさんあります。 Python も歴史あるプログラミング言語なので仕方ないですが、情報が多すぎて特に初心者は混乱してしまいます。 結局の所、pip、virtualenv (venv) を使えば十分な場合が多いので、まずはこれらの使い方を学習しましょう。 近頃は Pipenv という依存関係管理ツールが登場して人気です。 日本語でも Pipenv の情報をよく見かけるようになりました。 さらに、最近になって Poetry という依存関係管理とパッケージングを支援するツールが登場しました。 意外と Poetry に関する日本語の情報がないようなので、簡単に紹介してみようと思います。 各ツールの機能をまとめた表 が公開されていたので参考にしてください。 Pipenv 2017 年 1 月に Pipenv というツールが登場しました。 Pipenv に
Twineを使ったPyPI/TestPyPIへのパッケージ更新 By raimon, 2018-03-29(木), in category Python setupスクリプトからTwineへの移行 Migrating to PyPI.orgで案内されている通り python setup.py register や python setup.py upload といったsetupスクリプトを使って登録・更新しようとするとサーバー側から410 Errorが応答されるようになった。 上記の移行ガイドにおいて、Twineでの設定方法が案内されている。 PyPIの練習用サーバーであるTestPyPIでも、Twineで更新できるよう、移行しておくのが良いだろう。 PyPI/TestPyPIへのTwineからの更新用設定 Twineを導入していなかれば、自身のvenv環境などにインストールする。
pip showコマンドで「License: UNKNOWN」と表示されるライブラリのライセンスを調べるには By raimon, 2018-02-18(日), in category Python 「License: UNKNOWN」問題 pip installでインストールしたPythonライブラリについてpip showコマンドで情報表示すると、「License: UNKNOWN」と出力されるケースがある。例えばPythonでは著名なCLIライブラリであるclickも該当する。 $ pip show click Name: click Version: 6.7 Summary: A simple wrapper around optparse for powerful command line utilities. Home-page: http://github.com/mitsu
PythonパッケージをPyPIにアップロードする際にMarkdownをreSTに変換 By raimon, 2018-01-30(火), in category Python MarkdownフォーマットではHTML描画されない問題 Pythonパッケージの開発もGitHubが使われるケースが増えている。それに伴って、パッケージのドキュメントもMarkdownフォーマットが採用されるケースも散見される。 ただし、MarkdownフォーマットでPyPIサーバーにアップロードすると、Web UIではHTML描画されないため、ユーザーフレンドリーではない。 そこで、Pythonパッケージの新しいバージョンをPyPIサーバーにアップロードする際に、オンデマンドでreStructuredText(以降「reST」)フォーマットにオンデマンドで変換してやると、いい感じにWeb UIでもHTML描画さ
はじめに こんにちは、Python界のラファエル・ナダルです。全豪オープンテニス、盛り上がりましたね。さて、先日次のようなエントリーを立て続けに書いたんですが、「なぜAnacondaに関しての記述がないのか」という突っ込みをもらったので、参照用にメモを残しておきます。 Pythonの仮想環境構築 2017.01版 - YAMAGUCHI::weblog Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください 2017.01 - YAMAGUCHI::weblog なおこの記事の作成にあたっては @aodag に数多くのアドバイスをいただきました。この場を借りて感謝。 TL;DR condaの開発者はPyPAともっとコミュニケーションとってほしい。 前提 この記事はPythonを触り始めたばかりだけど、パッケージ管理ツール等々のスタンダードがどのようになっているかな
Adopt cachecontrol 0.12.0 with msgpack support というコミットがありました。 どうやら CacheControl というのが pip が使っている requests 用のキャッシュライブラリで、その最新版が msgpack を使っているようです。 前のバージョンはバイナリデータを base64 した上で json に入れて gzip していたのですが、もともと圧縮されてるバイナリを扱うときに gzip は base64 によって増えた分を減らす以上の効果は期待できない上、 PyPI からダウンロードするファイルってほぼ100%圧縮済みなので、キャッシュファイルの読み書きで無駄なオーバーヘッドがあったみたいですね。 バンドルされてる msgpack は pure Python で実行できる fallback モジュールのみなのでどこでも動くし、
A sample project that exists as an aid to the Python Packaging User Guide's Tutorial on Packaging and Distributing Projects. This project does not aim to cover best practices for Python project development as a whole. For example, it does not provide guidance or tool recommendations for version control, documentation, or testing. The source for this project is available here. The metadata for a Py
43. cmspkit # リモートにてコマンド実行 $ cmspkit remote exec [options] # リモートのファイル取得 $ cmspkit remote get [options] # リモートにファイルを転送 $ cmspkit remote push [options] 主なオプション -s, --sudo ... sudo を利用して root 実行をする -H, --hostname ... 実行対象をIPやホスト名指定`,`区切りで複数化 -R, --roles ... 実行対象をロール名で指定する `,` 区切りで複数化 -P, --parallel ... パラレルで実行数も指定可能 -c, --command ... exec 用オプション 実行するシェルコマンド指定する 44. cmspkit 例 構成管理するまでもないスクリプトファイルの配布
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く