おさかなせいざ

おさかなせいざ

プログラミングメモや日記がわりに

アドベントカレンダー日記20日目 自分の Project.toml からすべての Julia パッケージを紹介

adventar.org

今日は自分の julia v1.7 の environment に入っているパッケージを紹介します.

  • BSON.jl Binary JSON を扱うパッケージ
  • BenchmarkTools.jl @time よりも多くの情報を提示してくれるベンチマーク
  • CSV.jl CSV の入出力用
  • CUDA.jl CUDA を Julia で扱う
  • Cairo Display がない環境での Plot のバックエンドとして役立つ
  • ColorSchemes.jl 色
  • Colors.jl 色を扱う
  • Conda.jl Python の Conda を Julia で管理する
  • Crayons.jl Terminal での色付けに使用
  • DataFrames.jl Python の pandas みたいなもの
  • DataStructures.jl 様々なデータ構造を提供 AtCoder ではバージョンが古いのもあってほぼ PriorityQueue 用
  • Debugger.jl REPL で Debug ができ, break やその時点での変数の値を確認できる
  • Distributions.jl 分布を扱う場合には必須
  • Documenter.jl 多くの Julia パッケージのドキュメントがこれで生成されている
  • ETLCDBReader.jl ELTCDB の一部しか対応してない Reader. GitHub で検索しないとでない
  • FileIO.jl ファイルでの入出力で使用.ファイルの拡張子でいい感じに書き込んでくれたりする
  • FixedPointNumbers.jl 0.0:1.0の範囲で正規化された値を提供する. Color.jl で使用されている
  • Flux.jl 深層学習用パッケージ
  • GLPK.jl 線形計画問題を解いてくれる JuMP.jl のバックエンドとして動作する
  • GR.jl プロットのバックエンド
  • Gadfly.jl おしゃんなプロットツール
  • Gaston.jl Gnuplot のラッパ.シンプルで使いやすい
  • Gnuplot.jl Gnuplot まんまのプロットツール
  • Gtk.jl Gtk のラッパ
  • Gumbo.jl Google の gumbo のラッパ.HTML parser
  • HTTP.jl HTTP のサーバもクライアントもどっちも扱うパッケージ
  • IJulia.jl Jupyter を Julia で使うためのライブラリ.Pythonのインストール管理もしてくれるので環境を汚さず便利
  • ImageMagick.jl ImageMagick のラッパーパッケージ
  • ImageQualityIndexes.jl 画像品質評価を行うパッケージ
  • ImageView.jl Window に画像を表示してくれるパッケージ
  • Images.jl 画像を扱うパッケージ
  • Interpolations.jl B-spline や線形補間などの補間関係の関数を提供
  • JSON.jl JSON を扱うやつ
  • JuMP.jl 数理最適化パッケージ
  • JuliaFormatter.jl Julia 用コードフォーマッタ vim なら JuliaFormatter.vim を一緒に使用する LanguageServer.jl も使ってるらしい
  • JupyterParameters.jl なんだこれは使った覚えがないけど Jupyter に関してのなにか
  • LanguageServer.jl lsp で使用するライブラリ
  • Latexify.jl julia のコードを LaTeX として吐き出してくれるいいやつ
  • LocalREPLHistory.jl REPLのヒストリーをディレクトリ固有でもってくれるツール
  • Makie.jl 3D もいけるヌルヌルプロットツール
  • OhMyREPL.jl REPL に色を付けてくれたり簡単な補完をしてくれる
  • PackageCompiler.jl パッケージを含めて Julia としてコンパイルしてくれる
  • PkgTemplates.jl Pkg よりもより詳細にパッケージの雛形を作成してくれる
  • Plotly.jl これもよくわかってないけどプロットツール
  • Plots.jl Plots 系の親玉これいれれば大体使える
  • Pluto.jl Julia 純正のノートブック.書くそばから結果が更新されていく.Jupyter notebook とは違う
  • Primes.jl 素数を扱うパッケージもとは標準ライブラリだった
  • ProgressMeter.jl for loop などの進捗を出してくれる.機械学習の学習の進捗確認とかに使う
  • Revise.jl REPL で using や import, includet したパッケージの変更を即座に反映してくれる.めっちゃ便利
  • SymbolServer.jl LanguageServer が使ってるはず
  • TerminalUserInterfaces.jl ncurses のような TUI 作成用パッケージ
  • Test.jl 標準のTestパッケージ
  • TestImages.jl 標準画像を提供してくれるパッケージ.劣化した画像を使ってるようなのでどこから持ってきた画像かは不明.lenna は将来的に削除予定らしい
  • Transformers.jl BERT や GPT などの Transformer のモデルのパッケージ.Flux で書かれている
  • UnicodePlots.jl Terminal でのプロットを行うパッケージ.TerminalUserInterfaces と合わせると可能性無限大

みなさんマイナーバージョンがあがったときどうしてますか? 自分は前のバージョンの environment をコピーしちゃってるんですけどどうするのが正解なんですかね? v1.7から using して add されてなかったら add するか聞いてくれるんであまり気にする必要ないかもしれません.

今日の日記は以上です.また明日