ツールやライブラリの一覧

ツールやライブラリの一覧#

ツールやライブラリのメモをしておく。

ツール・ライブラリ一覧#

名称

対象言語

用途

ライセンス

メモ

aiohttp

Python

HTTP クライアント/サーバ

Apache 2.0

aiohttp

Approval Tests for C++

C++

テスト

Apache 2.0

様々な言語のバージョンがあるうちの C++ 版。Approval Tests を Catch2 v3 で使用する

axios

Javascript, TypeScript

HTTP クライアント

MIT

JSON を使用した HTTP 通信に便利なライブラリ。

backward-cpp

C++

バックトレースの取得

MIT

backward-cpp ライブラリ

bigfloat

Python

任意精度演算ライブラリ

LGPL 3.0

任意精度演算ライブラリ bigfloat

Boost

C++

C++ の補助的なライブラリ

Boost 1.0

別途ビルドして使用する必要がある。

Catch2

C++11

ユニットテスト

Boost 1.0

アサートが書きやすい。ベンチマークもできる。

CMake

C, C++, …

ビルドツール

BSD 3 clause

clang

C, C++, …

コンパイラ

Apache 2.0 (with exception)

clangd

C++

C++ のエディタ向けの言語サーバ

Apache 2.0 (with exception)

Clangd の利用

Conan

C, C++

パッケージマネージャ

MIT

Conan を用いた CMake の依存ライブラリ管理

cpp-taskflow

C++

並行処理

MIT

未使用。

CSpell

ソースコード向けのスペルチェッカー

MIT

CSpell - ソースコードのスペルチェッカー

Cython

Python

処理の高速化、C / C++ の処理の呼び出し

Apache 2.0

Cython による C / C++ モジュールの作成

Doxygen

C, C++, …

ドキュメンテーションの作成

GPL

Eigen

C++98

行列演算

MPL2 (+ LGPL)

flask

Python

Web サーバ用フレームワーク

BSD 3 clause

軽量な Web フレームワーク。

fmt

C++11

文字列のフォーマッティング

MIT (with exception)

FreeGLUT

C++

OpenGL のラッパ

独自

未使用。

GCC

C++

コンパイラ

GPL / LGPL

Jinja

Python

テンプレート処理

BSD 3 clause

lcov

C++

GCC のカバレッジの HTML 化

GPL

llvm-cov

C++

Clang のカバレッジの集計・出力

Apache 2.0 (with exception)

marshmallow

Python

データのバリデーション、シリアライズ、デシリアライズ

MIT

matplotlib-cpp

C++

グラフ描画

MIT

未使用。

msgpack-c

C++11

MessagePack の読み書き

Boost 1.0

JSON よりも速い。

nlohmann/json

C++11

JSON の読み書き

MIT

リポジトリが重い。

PICT

組み合わせテスト生成

MIT

制約つきの組み合わせテストを生成できる。

pipenv

Python

Python の仮想環境の管理

MIT

慣れれば使いやすいが、動作が遅い。

Plotly.py

Python

インタラクティブなグラフのプロット

MIT

HTML 形式でインタラクティブなグラフが描ける。Plotly の Python ライブラリでグラフをプロット

POCO C++ Libraries

C++

C++ の補助的なライブラリ

Boost 1.0

未使用。別途ビルドして使用する必要がある。

poetry

Python

Python の仮想環境の管理、パッケージ作成

MIT

依存ライブラリの解決が速い。

Pybind11

C++

C++ と Python における型や関数の相互変換

BSD

Pybind11 関連のメモ

pyenv

Python

Python のバージョンの管理

MIT

simplejson

Python

JSON の読み書き

MIT

Python 標準の json より速いらしい。

sqlite_orm

C++14

SQLite の Object-Relational Mapping

BSD 3 clause

未使用。気になる。

tomlplusplus

C++17

TOML の読み書き

MIT

toml11

C++11

TOML の読み書き

MIT

未使用。試したい。

UIKit

HTML

HTML の UI フレームワーク

MIT

vcpkg

C, C++

パッケージマネージャ

MIT

vcpkg を用いた CMake の依存ライブラリ管理

VTK

C++, Python

3 次元のコンピュータグラフィックス

BSD 3 clause

別途ビルドして使用する必要がある。

Vue.js

Javascript, TypeScript

フロントサイドのフレームワーク

MIT

yaml-cpp

C++11

YAML の読み書き

MIT