プログラミング・開発言語– category –
-
プログラミング・開発言語
setuptoolsとは Pythonビルドの基盤を理解する
setuptoolsはPhillip J. Ebyが2004年にdistutils拡張として発表したPythonのビルドツールで、20年以上にわたりPyPIパッケージ作成のデファクト基盤として動き続けている。PEP 517/518以降は「build backendの一つ」という位置付けに整理され、setup.py時代... -
プログラミング・開発言語
pip-toolsとは requirements.txt運用を堅牢にする補助具
pip-toolsはJazzbandコミュニティが2015年頃から保守しているPython向けのrequirementsコンパイラ群で、requirements.inに書かれた緩い指定からハッシュ込みのrequirements.txtを生成するpip-compileと、実環境を要求通りに同期させるpip-syncを提供する。... -
プログラミング・開発言語
Hatchとは PyPA公式のモダンなPython開発ツールチェーン
HatchはOfek LevがGitHubで2017年頃から開発を始め、2022年にPython Packaging Authority(PyPA)公式プロジェクトとして組み込まれたモダンなPython開発ツールである。プロジェクトのスキャフォールド、仮想環境管理、テスト実行、wheelビルド、PyPI公開ま... -
プログラミング・開発言語
Pipenvとは PipfileとロックでPython開発を統合した試み
Pipenvは2017年1月にrequests作者として知られるKenneth Reitzが公開したPython向け開発ツールで、pip, virtualenv, requirements.txtの組み合わせを置き換えるべくPipfileとPipfile.lockによる管理体系を提示した。一時はPython Packaging Authority (PyP... -
プログラミング・開発言語
MambaとはCondaを劇的に高速化するC++実装
Mambaは2019年にQuantStackのWolf Vollprechtらが公開したCondaの後継ツールで、依存解決をC++で書かれたlibsolv上に再実装し、Conda CLI互換のmamba/micromambaコマンドを提供する。数百のパッケージ依存を解く時間が分単位から秒単位に短縮されたことで... -
プログラミング・開発言語
Condaとは 科学技術計算で標準化したパッケージ管理系
Condaは2012年にContinuum Analytics(現Anaconda Inc.)がリリースしたパッケージマネージャ兼環境管理ツールで、Pythonに限らずC/C++/R/Fortran/Juliaなどのコンパイル済みバイナリを横断的に扱える点でpipと一線を画す。科学技術計算や機械学習の現場で広... -
プログラミング・開発言語
Poetryとは Pythonの依存解決とビルドを統合するツール
Poetryは2018年2月にSébastien Eustaceが公開したPython向けプロジェクト管理ツールで、依存解決、ロックファイル生成、仮想環境管理、wheel/sdistビルド、PyPI公開を単一のCLIで統合する。pyproject.toml一本に設定を集約する設計はその後のPython標準化... -
プログラミング・開発言語
virtualenvとは Python仮想環境の祖を理解する
virtualenvは2007年9月にIan BickingがPython 2.4向けに公開した仮想環境ツールで、プロジェクトごとに独立したsite-packagesとPythonインタプリタの活性化スクリプトを生成する。後にPython 3.3でPEP 405準拠の標準モジュールvenvが追加されたが、virtual... -
プログラミング・開発言語
pipとは何か Python標準のパッケージマネージャの全体像
pipは2008年にIan BickingがEasyInstallの後継として開発を始めたPython向けパッケージ管理コマンドで、2011年のPython 3.4以降は標準ディストリビューションに同梱されるようになった。PyPI(Python Package Index)からwheelやsdistを取得し、依存ツリーを... -
プログラミング・開発言語
C# — Microsoftが.NETの旗艦として鍛え続けたマルチパラダイム言語
C#(シーシャープ)は、2000年6月にMicrosoftが.NETフレームワークと共に発表したマルチパラダイムプログラミング言語です。設計の中心人物はAnders Hejlsberg(アンダース・ヘルスバーグ)で、彼はBorland時代にTurbo Pascalや Delphiを生み出した伝説的...
