Github: https://github.com/lauris/awesome-scala
恐ろしいスカラー
有用なScalaライブラリ、フレームワーク、ソフトウェアのコミュニティ指向のリスト。 これはすべての図書館のカタログではなく、あなたの探索の出発点です。 素晴らしいPythonに触発されました。 他の驚くほど素晴らしいリストは、 素晴らしいawesomenessリストで見つけることができます。
Scalaライブラリの検索可能な、タグ付きの、集中化されたインデックスであるScaladexも素晴らしいです。
500人以上の視覚障害者がいるプロジェクトは太字で表示されています。
目次
データベース
Scalaのデータベースアクセスライブラリ
- ★311⧗8 – Scalaでのプラガブルオブジェクト永続化を有効にする 。
- Anorm★135 – シンプルなSQLデータへのアクセス。
- Casbah ( repo ) – 公式にサポートされているMongoDB用のScalaドライバ
- CouchDB-Scala★59⧗21 – CouchDB用の純粋に機能的なScalaクライアント
- doobie★812⧗0 – スカラ用の純粋な機能のJDBCレイヤー。
- Elastic4s★1049⧗0 – Elasticsearch用スケーラ DSL /リアクティブクライアント
- Finagle★42⧗71 – Finagle用PostgreSQLプロトコルのサポート
- 長寿★78⧗21 – ドメイン主導の設計オリエンテーションによるScalaとNoSQLの永続化フレームワーク
- lucene4s★3⧗56 – 複雑なタスクを簡素化し、Scalaの砂糖を追加するためのLuceneの周りの軽量の便利なラッパー。
- MapperDao★12⧗36 – oracle、mysql、mssql、およびpostgresql用のORMライブラリ
- Memcontinuationed★51⧗245 – ScalaのMemcachedクライアント。
- Morpheus★104⧗0 – リアクティブタイプの安全なScalaドライバ(MySQL / Postgres用)。
- neo4akka★6⧗117 – コンパイル時クエリー補間、ケースクラスサポート、真のノンブロッキングIOなど、Akka HTTPを使用するNeo4j Scalaクライアント。
- Phantom★903⧗5 – Apache Cassandraのリアクション型のScalaドライバ。
- PostgreSQLとMySQL async★983⧗0 – ScalaのPostgreSQLとMySQLと対話する非同期データベースドライバ。
- Pulsar4s★15 – Apache Pulsar用のScalaクライアント。
- Quill★865⧗0 – Scalaのコンパイル時言語統合クエリ
- ReactiveCouchbase – Couchbaseの反応的なScalaドライバ。 また、Playプラグインも含まれています。 公式のプラグインも開発中です。
- ReactiveMongo★704⧗8 – MongoDB用の反応的なScalaドライバ。
- ReactiveNeo★73⧗114 – Neo4Jの反応型セーフティScalaドライバ。
- rediscala★642⧗0 – Non-blocking、Reactive Redisドライバ( Scalar用)(センチネルサポート付き)
- Relate★110⧗7 – SQLの完全な制御を維持しながら、JDBCのidiosyncriciesを抽象化するScala用の軽量で驚異的なデータベースアクセス層。
- rethink-scala★95⧗144 – RethinkDB用のScalaドライバ
- Salat★490⧗9 – MongoDBのORM。 関連するPlayプラグインも利用できます。
- Scala ActiveRecord★297⧗3 – Ruby on RailsのActiveRecordに触発された、scala用のORMライブラリ。
- Scala-Forklift★91⧗1 – Slick、Gitなどのためのタイプセーフなデータベース移行
- scala-redis★739⧗1 – クラスタリングをサポートするredisサーバに接続するためのScalaライブラリ
- scala-sql★14⧗34 – さらに別のSQLベースのスカラー言語用DBアクセスライブラリ
- ScalaRelational★51 – SQLデータベースを定義、変更、およびクエリするための1型の安全なフレームワーク。
- ScalikeJDBC★746⧗1 – Scala開発者用のきれいなSQLベースのDBアクセスライブラリ。
- Scanamo★92⧗1 – Scalaを使用してDynamoDBをよりシンプルに、エラーを起こしにくくするためのライブラリ。
- scredis★149⧗29 – Akka IOの上に構築されたノンブロッキングRedisクライアント(Livestreamで使用)
- シェード★82⧗32 – Spymemcachedに基づく、Scala用Memcachedクライアント
- Slick★1795⧗0 – Scala用の最新のデータベースクエリとアクセスライブラリ。
- Sorm★239⧗2 – 機能的なボイラープレートフリーのScala ORM。
- Squeryl★484⧗1 – 最低限の冗長性と最大タイプの安全性を備えたデータベースとの会話用のScala DSL。
- Tepkin★86⧗251 – Scala用のリアクティブMongoDBドライバは、Akka IOとAkka Streamの上に構築されています。
メッセージング
- Op-Rabbit★153⧗2 – AkkaとOp-Rabbit用の高レベルメッセージングライブラリ。
グラフィカルユーザーインターフェイス
グラフィカルユーザーインターフェイスを作成するためのライブラリ
- ScalaFX – JavaFX上にあるグラフィカルユーザインタフェースを作成するためのScala DSL。
Webフレームワーク
Web開発用のScalaフレームワーク。
- Analogweb – Scalaの小さな、シンプルでプラグイン可能なWebフレームワーク。
- Chaos★220⧗27 – ScalaでRESTサービスを書く軽量フレームワーク。
- Colossus★811⧗70 – Non-blockingネットワークI / Oを必要とするScalaの高性能アプリケーションを構築するための軽量フレームワーク。
- Finatra★1558⧗0 – Finagleの上を走るスカラのためのシナトラからインスピレーションを受けたWebフレームワーク。
- リフト★1069⧗0 – 安全で強力なフルスタックのWebフレームワーク( 議論 )。
- peregine★11⧗40 – シンプルで非同期の軽量Scala Webフレームワーク。
- Play★9229⧗0 – Java&Scalaを使用してスケーラブルで高速かつリアルタイムのWebアプリケーションを簡単に構築できます。
- Play Pagelets★47⧗11 – 弾力的でモジュラーなPlayアプリケーションをエレガントで簡潔な方法で構築するためのPlay Framework用モジュール。
- Reactive★194 – FRPとWebの抽象化。これはWebフレームワークにプラグインすることができます(現在はLiftのバインドしかありません)。
- Scalatra★2146⧗0 – SinatraにインスパイアされたTiny Scalaの高性能、非同期Webフレームワーク。
- スキンフレームワーク★621⧗1 – Scalaの急速な開発のためのScalatraのフルスタックWebアプリケーションフレームワーク。
- Socko – NettyネットワーキングとAkka処理を搭載した組込みScala Webサーバー。
- suzaku – Scala用Suzaku Web UIフレームワーク
- Unfiltered★673 – ScalaでHTTPとWebSocketのリクエストを処理するためのプリプロティネーションされていないプリミティブのモジュラーセット。
- Xitrum – Netty、Akka、およびHazelcastの上に非同期でクラスタリングされたScala WebフレームワークとHTTP(S)サーバーの融合。
- youll★81⧗12 – ScalaとScala.jsのための次世代のユーザーインターフェイスフレームワークとサーバーエンジン。
リアクティブWebフレームワーク
リアクティブWeb開発のためのScalaライブラリ
- Binding.scala★935⧗0 – 反応的なWebフレームワーク。 ネイティブXMLリテラル構文を使用して反応性DOMノードを作成することができます。このノードは、データソースが変更されるたびに自動的に変更できます。
- Korolev – サーバー側で動作する最新のシングルページアプリケーション
- Udash – Scala.jsに基づくWebフレームワークで、プロパティバインディング、フロントエンドルーティング、i18nなどをサポートしています。 また、WebSocketに基づいた強く型付けされたクライアントRPC RPCシステムを提供します。
- Widok – JVMとScala.jsのための反応的なWebフレームワーク
- React Webアプリケーションを構築するVert.x Web – Toolkit
データのバインドと検証
データバインディングと検証のためのScalaライブラリ
- Accord★379⧗0 – Scalaの正当な検証ライブラリ
- フォームバインダー★17⧗29 – 非常に使いやすく、ハックするマイクロデータバインディングと検証フレームワーク
- Monkeytail★55 – cats.Validatedの検証マクロとヘルパーのセット
i18n
i18n用のScalaライブラリ
- scala-xgettext★19⧗99 – GNU xgettextコマンドのように動作し、Scalaソースコードファイルのi18n文字列をGettext .poファイルに抽出するコンパイラプラグイン。
- Scaposer★30⧗99 – ScalaのGNU Gettext .poファイルローダー。
認証
認証スキームを実装するためのライブラリ。
- akka-http-session★268⧗11 – akka-httpベースのアプリケーション用のWebおよびモバイルクライアント側セッション(オプションのJWTサポートあり)
- AWS Request Signer★4⧗43 – Amazon Web ServicesへのHTTPリクエストの署名ヘッダーを評価するためのヘルパー。
- OAuth2-mock-play★16⧗23 – 模擬 /テスト用に設計され、(Typesafe設定を使用して)環境変数で設定可能なOAuth2サーバーの実装。
- Play Google Auth Module★17⧗76 – Play 2アプリケーション用のGoogle OpenID Connect認証の非常に単純な実装です。
- play-pac4j★255⧗0 – JavaおよびScalaでPlay 2.xの認証(CAS、OAuth、OpenID、SAML、LDAP、SQL、JWT …)、認証およびログアウトを管理するセキュリティライブラリ。
- play-silhouette★600⧗1 – OAuth1、OAuth2、OpenID、Credentials、カスタム認証方式など、いくつかの認証方式をサポートするPlay Frameworkアプリケーション用の認証ライブラリ。
- play2-auth★617⧗4 – Play2.x認証と認可モジュール。
- scala-oauth2-provider★419⧗7 – Scalaで書かれたOAuth 2.0サーバー側実装。
- SecureSocial★1210⧗1 – Play Frameworkアプリケーション用のOAuth、OAuth2、OpenID認証を提供するモジュール。
承認
承認戦略を実施するためのライブラリ。
- deadbolt-2★467⧗3 – ロールベースおよび独自の権限をサポートするPlay 2.xモジュール。 ScalaとJava API用の慣用APIが提供されています。
暗号
暗号化と暗号化ライブラリ。
- Scrypto★50⧗4 – 万能の暗号フレームワーク。
- TSec★27⧗0 – 型安全で機能的な汎用暗号ライブラリ
テスト
コードテストのためのライブラリ。
- cornichon★109⧗3 – HTTP JSON APIをテストするためのScala DSL。
- Gatling – Async Scala-Akka-Nettyベースのストレスツール。
- ScalaCheck★1196⧗6 – Scalaのプロパティベースのテスト。
- Minitest – シンプルさを重視したテストフレームワーク。
- ScalaMeter – パフォーマンス&メモリフットプリント測定、回帰テスト。
- ScalaMock – ScalaのネイティブMockingフレームワーク
- scalaprops★171⧗5 – Scala用の別のプロパティベースのテストライブラリ
- ScalaTest★532⧗5 – ScalaとJava開発者のためのテストツール。
- Scalive★187⧗20 – Scala REPLを事前設定なしで実行中のJVMプロセスに接続します。 このライブラリは、プロダクションモードでシステムを検査するために使用されます。
- Specs2★570⧗1 – Scalaのソフトウェア仕様。
- μTest★197⧗0 – Scala用の小型でポータブルなテストライブラリです。
- testcontainers-scala★52⧗2 – ScalaでテストするためのDockerコンテナ。
JSON
jsonと連携するためのライブラリ。
- argonaut – Scalaの純粋に機能的なJSON
- circe★824⧗2 – ArgonautベースのJSONライブラリ、Catsに依存
- diffson★94⧗14 – Json用のスカラ差分/パッチライブラリ
- jackson-module-scala★313⧗8 – JacksonがScala固有のデータ型をサポートするためのアドオンモジュール。
- jawn★252⧗4 – 高速jsonパーサー(それらによると、java gson / jackson speedとの競争力)
- json4s★877⧗0 – プロジェクトは、他のスカラjsonライブラリで使用される単一のASTを提供することを目的としています。
- jsoniter-scala★47⧗7 – コンパイル時に超高速JSONコーデックを生成するためのScalaマクロ。
- persist-json★9⧗49 – 高速jsonパーサー。
- play-json★39⧗7 – 柔軟でパワフルなJSONの操作、検証、シリアライゼーション。実行時には反映されません。
- Pushka★75⧗21 – 注釈付きのJSONシリアライズライブラリ。
- qbproject – Play Framework用のJSONとAPI開発に関するScala ライブラリです。
- rapture -json – クリーンで、直感的で、非介入で、定型化されていないScala API
- scala-jsonapi★95⧗240 – ScalaとSpray JSONでJSON API仕様を統合するためのサポートライブラリ、Play! JSONまたはCirce。
- scalajack★81⧗35 – オプションのMongoDBをサポートすることで、高速で簡単なJSONシリアライズ。 ボンネットの下でジャクソンを使用します。
- sonofjson★23⧗11 – JSONをネイティブであると感じる方法でJSONを扱うためのScalaライブラリ。
- spray-json★606⧗2 – Scalaでの軽量でクリーンで効率的なJSON実装。
- JSON文書の簡単で静的な型指定された暗黙的なアクセスのためのScalaのケースクラスを生成するsbt-json -sbtプラグイン
YAML
YAMLで作業するためのライブラリ。
- MoultingYAML★43⧗2 – SnakeYAMLの上にタイプクラスベースのYAMLシリアライゼーションとデシリアライゼーション。
CSV
CSVで作業するためのライブラリ。
- kantan.csv★143⧗24 – 複数のバックエンドを持つScalaのCSV処理ライブラリ。
- Scala-CSV★365⧗1 – Scala用のCSVリーダー/ライター。
- fm-flatfile★1⧗1 – Scala用の非常に柔軟なフラットファイル(CSV、TSV、Excelなど)リーダー。
シリアライゼーション
ストレージまたはトランスポートのためにデータをシリアライズおよびデシリアライズするためのライブラリ。
- avro-codegen★24⧗23 – avroスキーマから、avroメッセージをシリアライズ/デシリアライズするためのコード生成。
- Chill★378⧗4 – Kryoシリアライゼーションライブラリの拡張で、HadoopやStormなどのシステムでの設定が容易になりました。
- msgpack★75⧗57 – 効率的なバイナリ直列化ライブラリ。
- 酸洗い★808⧗0 – 迅速でカスタマイズ可能な定型的な酸洗いのサポート。
- ScalaBuff★218⧗1 – Scalaプロトコルバッファ(protobuf)コンパイラ
- ScalaPB – Scala用のプロトコルバッファジェネレータ。
- scodec★474⧗10 – バイナリデータを扱うコンビネータライブラリ。
- Scrooge – Scala用のApache Thriftコードジェネレータ。
- 検証★177⧗3 – JSON、HTMLフォームデータなどの高度な検証とシリアライズ。実行時に反映されません。
- μPickle – ScalaJSで動作するScala用の軽量シリアル化ライブラリ。JVMとJavaScript間で構造化データの転送が可能です。
科学とデータ分析
科学計算、データ解析、数値処理のためのライブラリ。
- Algebird★1478⧗0 – スカラの抽象代数。
- Axle★51⧗9 – 科学的なクラウドコンピューティングのためのSpireベースのDSL。
- BigDL★1662⧗0 – BigDLはApache Sparkのための分散型深層学習ライブラリです。
- Breeze★2028⧗0 – BreezeはScalaの数値処理ライブラリです。
- チョーク★231⧗6 – チョークは自然言語処理ライブラリです。
- FACTORIE★486⧗7 – Scalaのソフトウェアライブラリとして実装された、展開可能な確率モデルのためのツールキット。
- Figaro★461⧗0 – Figaroは非常に豊富な確率モデルの開発をサポートする確率的プログラミング言語です。
- Libra★142 – 天秤座は、形のない、尖塔とシングルトーンに基づいた寸法分析ライブラリです。 これには、すべての数値型のSI単位のサポートが含まれています。
- MGO★37⧗55 – モジュラー多目的進化アルゴリズム最適化ライブラリは、不変性を強制します。
- MLLib – Sparkの機械学習フレームワーク
- ND4S★201⧗0 – Numpyに似たAPIを使ってScala用のN次元配列と線形代数。 ND4Sは、ND4Jを中心とするスケーララッパーです 。
- Numsca★8⧗0 – NumscaはScala用のNumpyです。
- OpenMOLE★65⧗5 – OpenMOLE(Open MOdeL Experiment)は、自然な並列処理に分散実行環境のコンピューティングパワーを活用するように設計されたワークフローエンジンです。
- OscaR – Operations Researchの問題を解決するためのScalaツールキット
- Persist-Units★9⧗40 – Scalaで測定の単位をタイプします。
- PredictionIO★10105⧗0 – 開発者やデータ科学者向けの機械学習サーバー。 Apache Spark、HBase、Sprayで構築
- リング★3⧗0 – 多項式環のための効率的なライブラリ。 代数的代数、多項式GCD、多項式分解、その他のsciのものが本当に高速です。
- サドル★428⧗2 – ミニマリストのパンダとスカラ
- スマイル – 統計的機械知能と学習エンジン。 スマイルは、迅速かつ総合的な機械学習システムです。
- Spark Notebook★1896⧗0 – スケーラブルで安定したScalaとSparkは、JVMとデータ・サイエンティスト間のギャップを埋めるノートブックです(拡張可能、タイプセーフな、リアクティブ・チャートを含む)。
- Spire★1152⧗3 – Scalaの強力な新しい数値型と数値抽象化。
- Squants★388⧗1 – Scala API for Quantities、測定単位と次元分析。
- SwiftLearner★20⧗5 – 機械学習の学習や独自の実装の記述に役立つアルゴリズムを簡単に記述しました。
- Tensorflow_scala – Scalaプログラミング言語のTensorFlow API
- Tyche★89⧗17 – 確率分布、確率論的/マルコフ過程、ラティスウォーク、単純ランダムサンプリング。 シンプルで堅牢なScalaライブラリ。
- Zeppelin – ScalaとSpark Notebook(IPythonノートブックのようなもの)
ビッグデータ
- BIDMach★745⧗0 – GPU計算にJNIを使用するCPUとGPUマシン学習ライブラリ。
- Flink★2414⧗0 – 強力なストリーム処理機能とバッチ処理機能を備えた処理フレームワーク。
- ギアポンプ★619⧗5 – 軽量のリアルタイムビッグデータストリーミングエンジン
- GridScale★15⧗5 – クラスタとグリッドを計算するためのScala API。
- Kafka★5035⧗0 – Kafkaは、メッセージブローカープロジェクトであり、リアルタイムのデータフィードを処理するための統一された高スループット、低遅延のプラットフォームを提供することを目指しています。
- Reactive-kafka★753⧗0 – Apache KafkaのリアクティブストリームAPI。
- Scalding★2783⧗2 – Hadoop MapReduceのカスケーディング抽象化のためのScalaバインディング。
- Scio – Apache BeamとGoogle Cloud Dataflow用のScala API – なし
- Scoobi★486⧗5 – タイプセーフなHadoopプログラムを慣用的なScalaの方法で書く
- Scoozie★71⧗0 – Oozie XML上のScala DSL
- Scrunch – MapReduceパイプラインの作成、テスト、および実行のためのフレームワークを提供するApache Crunch用のScalaラッパー。
- Shadoop★8⧗69 – Hadoop MapReduce用のスカラDSL。
- Spark – 高速クラスタコンピューティング – 反復アルゴリズム(メモリキャッシング)でHadoopより100倍高速で、シングルパスMapReduceジョブではHadoopより10倍高速です。 YARN対応のHadoopクラスタと互換性があり、Mesosおよびスタンドアロンモードでも実行できます。
- spark-deployer★69⧗29 – AWS EC2のようなクラウドシステム上でApache Sparkスタンドアロンクラスタを展開し、ジョブを送信するのに役立つsbtプラグイン。
- Sparkta★320⧗1 – Spark Streamingに基づくリアルタイム集計。
- Sparkplug★4⧗1 – SQLベースのルールを使用してデータの穴を “プラグ”するためのパッケージを起動
- Summingbird★1841年1月 – ソフトウェアの抽象化としての「ラムダアーキテクチャ」の実装 – HadoopとStormのための単一のAPI。
- Vegas – Scala + Sparkのための欠けているMatPlotLib
画像処理と画像解析
2Dおよび3D画像処理および画像解析
- scalismo★45⧗9 – 形状モデリングとモデルベースの画像解析。
- scrimage★476⧗0 – イメージio、サイズ変更、操作、サムネイル。
サウンド処理と音楽
- ScalaCollider★121⧗5 – SuperColliderのサウンド合成と信号処理クライアント。
機能的反応プログラミング
イベントストリーム、信号、観測値など
- Monix★754⧗0 – マルチスレッドプリミティブと機能的リアクティブプログラミングのためのScalaの標準ライブラリへの拡張。 Scala.jsと互換性があります。
- リアクティブ・コレクション★2⧗165 – リアクション・コンテナと呼ばれる特殊なコレクションでイベント・ストリームとシグナルを組み込み、分離とチャネルを使用して並行性を表現するライブラリ。
- RxScala★644⧗0 – Scalaのリアクティブエクステンション – 観測可能なシーケンスを使って非同期およびイベントベースのプログラムを作成するためのライブラリ
- scala.frp★21⧗101 – Scalaのための機能的なアクティブプログラミング(イベントストリーム)。
- Scala.Rx★771⧗4 – Scalaの機能的反応プログラミングの実験的ライブラリ(反応変数)。 Scala.jsと互換性があります。
- SynapseGrid★109⧗1 – リアクティブリアルタイム不変データフローシステムを構築するためのFRPフレームワーク。 これは、ペトリネットに基づいてイベント駆動型システムを実行および整理する独自の方法を実装します。 トポロジは.dotグラフとして表示できます。 このライブラリはAkkaと互換性があり、他のアクタとシームレスに通信できます。
- Vert.x – node.jsの代わりになることを目指す、JVM用の多言語対応のアプリケーションプラットフォームです。 その並行性モデルはアクターに似ています。 Scala 、Clojure、Java、Javascript、Ruby、Groovy、Pythonをサポートしています。
モジュール化と依存性注入
アプリケーションのモジュール化、依存性注入など
- Airframe★25⧗13 – Scalaに合わせた依存性注入ライブラリ。
- Cableguy★1⧗269 – マクロベースのコンパイル時間依存性注入ライブラリ。
- Domino★2⧗463 – ScalaでエレガントなOSGiバンドルアクティベーターを作成します。
- Grafter★148⧗0 – GrafterはScalaアプリケーションの設定と配線を行うライブラリです。
- MacWire 661⧗0 – スカラマクロは、クラスのインスタンス化のための配線コードを生成します。 DIコンテナの交換。
- Scala-Guice★211⧗10 – Google GuiceのためのScala拡張
- Scaldi★252⧗1 – 軽量のScala依存性注入ライブラリ。
- Sclasner★9⧗130 – Scalaクラスパススキャナ。
- SubCut★403⧗9 – 特性の下で一意に束縛されたスカラクラス。
分散システム
分散アプリケーションを作成するためのライブラリとフレームワーク。
- Akka – 高度に同時、分散、フォールトトレラントのイベント駆動型アプリケーションを構築するためのツールキットとランタイム
- Akka-tracing★252⧗2 – Akkaの分散トレース拡張。 Playフレームワーク、Spray、Akka HTTPとの統合を提供します。
- 自動ブレーカー★6⧗93 – サーキットブレーカーで先物を返すクラスを自動的にラップします。
- Clump – 表現力豊かで効率的なサービス構成のためのライブラリ
- CurioDB★459⧗4 – Scala&Akkaで構築された分散&持続性Redisクローン。
- Finagle – 高性能と並行性のために設計された、拡張可能でプロトコルに依存しないRPCシステム。
- Glokka★46⧗148 – Akkaクラスターの名前でアクターを登録して検索するライブラリー。
- Lagom – マイクロサービスベースのシステムを作成するためのフレームワーク。
- リアクター – 機能的な反応プログラミングと従来のアクターを融合させた分散コンピューティングのための基盤フレームワーク。
拡張機能
スカラ拡張。
- Ammonite-Ops – Scalaの安全で簡単なファイルシステム操作は、Bashシェルのように便利です。
- より良いファイル★824⧗0 – シンプルで安全で直感的なScala I / O。 より良いファイルはJava NIOを対象とした、依存関係のない実用的ではないScalaラッパーです。
- Cassovary★881⧗0 – 数十億のノードとエッジを持つグラフを処理する、空間効率の面から設計されたScalaライブラリ。
- cats★1697⧗0 – 関数型プログラミングのための軽量、モジュール、および拡張可能なライブラリ。
- それぞれ★146⧗0 – ネイティブ命令文をScalazのモナド表現に変換するマクロライブラリ。
- Eff★220⧗6 – 拡張可能なエフェクトは、機能的な方法でエフェクトを計算するモナドトランスの代替品です。
- enableIf.scala★40⧗25 – C / C ++の
#if
ように、コンパイル時にScalaコードを切り替えるライブラリ。 - Enumeratum★374 0 – Scalaの列挙をケースオブジェクトの密閉されたファミリに置き換えるマクロ。 これにより、コンパイラの追加のチェックが可能になります(例:match文の欠落の場合)。 JsonライブラリとPlayフレームワークのサポートが追加されました。
- Freasy-Monad★90⧗14 – ファーストクラスのIntellijをサポートするScalaマクロを使用して、猫とScalazのための無料のMonadを作成する簡単な方法。
- Freedsl★25⧗5 – ラッピングタイプの型枠とフリーモナドを合成可能な副作用を実装するライブラリ。
- Freestyle★430⧗0 – FP中心のScalaライブラリの凝集力と実用的な枠組み。
- Hamsters★216⧗0 – ミニスカラユーティリティライブラリ。 関数型プログラミングの初心者との互換性。 バリデーション、モナドトランス、HList、ユニオンタイプが特徴です。
- idid★4⧗43 – 異なるIDタイプの共通インターフェースを定義するライブラリー。
- Lamma★70⧗8 – 日付とスケジュール生成用のScalaの日付ライブラリ。
- LArray★225⧗25 – 大規模なオフヒープ配列(> 2 GB)とmmapファイル。
- Log4s – SLF4Jの上に高速で、スカラに優しいロギング・バインディングを提供します。 極端なパフォーマンスのためにマクロを使用します。
- Monocle★757⧗0 – 不変オブジェクトを純粋に機能的に操作するためのOptics / Lensライブラリ。
- n-scala★662⧗3 – Joda時間のScalaラッパー。
- Persist-Logging★33⧗48 – Scala用包括的なロギングライブラリ。
- Quicklens★245⧗0 – 優雅なAPIを使って深くネストされたケースクラスフィールドを変更する
- Rapture ( repo ) – 一般的な日々のプログラミングタスク(I / O、JSON、i18nなど)用のライブラリのコレクションです。
- Scalaのレコード★125⧗55 – 構造の洗練タイプとマクロに基づいたScala用のラベル付きレコード。
- 洗練された★447⧗3 – コンパイルとランタイムチェックを伴うシンプルな洗練タイプ
- Resolvable★0⧗94 – いくつかの形式で複数のエンドポイントから不変なデータ構造を取り出すことを最適化するためのライブラリ。
- Sauron★159⧗58 – Scalaの50行未満の軽量レンズライブラリ。
- Scala Async★778⧗0 – Scala用の非同期プログラミング機能。
- Scala Blitz – コンパイル時のランタイムオーバーヘッドとカスタムデータ並列操作ランタイムを削除することにより、Scalaのコレクション操作をスピードアップするライブラリ。
- Scala Graph – Scalaの標準コレクションライブラリにシームレスに適合する基本的なグラフ機能を備えたScalaライブラリ。
- scala.meta – Scalaのメタプログラミングツールキットのクリーンルーム実装。
- Scalactic – コードを明確かつ正確に保つのに役立つ、品質に関するユーティリティの小さなライブラリ。
- Scalaz★3045⧗0 – 関数型プログラミングのためのコアScalaライブラリへの拡張。
- scribe★36⧗3 – 他のロギングフレームワークに依存せず、プログラムで完全に構成できる実用的なロギングフレームワーク。
- Shapeless★2002⧗0 – Scala用の型クラスと従属型の汎用プログラミングライブラリ。
- Simulacrum★484⧗2 – Scalaの型クラスのためのファーストクラスの構文サポート。
- Stateless Future★165⧗35 – 完全な機能を備えたScala構文の非同期プログラミング。
- Twitter Util★1809⧗1 – 将来の実装やその他の並行処理ツールを含む汎用のScalaライブラリ。
- wvlet-log★43⧗13 – 色とソースコードの場所を使ってアプリケーションログを強化するためのライブラリ。
その他
特定のカテゴリに収まらないプロジェクト。
- アゴラ – 選挙のための投票集計アルゴリズムのライブラリ。
- Ammonite-REPL – 改良されたScala REPL:構文強調表示、出力書式設定、複数行入力など。
- BootZooka★331⧗5 – AngularJSとAkka HTTPを使って、ログイン、ユーザー登録などを書く必要なく、すぐにWebアプリケーションの開発を開始する簡単なプロジェクト。
- Eclair★469 – ACINQのLightning Network実装はScalaで書かれています。 Lightning Networkは、スケーラビリティ、プライバシー、確認時間などの多くの問題に対処するために、ビットコインの上に構築された第2層プロトコルです。
- Fansi★96⧗15 – Scala / Scala.jsライブラリを操作するためのFancy Ansi色の文字列
- GoogleApiScala★5⧗3 – Googleドライブ、カレンダー、およびAdmin SDKのコントロールを提供するシンプルなスカラーライブラリです。
- mailgun4s★7⧗4 – Mailgun APIのScalaラッパー
- media4s★5⧗3 – ffmpeg、ffprobe、ImageMagick、およびメディアに関連する他のツールを取り巻くコマンドラインラッパーです。
- Miniboxing – プログラムのパフォーマンスを向上させるScalaコンパイラプラグイン – プロジェクトのWebサイトを参照 – より少ないボックス
- Openquant★73⧗0 – Scalaオープンソースの量的取引プラットフォーム
- Ostinato★27⧗7 – サーバ(Scala)とブラウザ(ScalaJS)で動作するチェスライブラリ
- pdf4s★3⧗3 – ScalaでPDFを作成する簡易ラッパー。
- Play Swagger★174⧗3 – Play REST API用のスワッガードキュメントを自動的に作成する
- powerscala★11⧗80 – Scala言語の上に多くの便利なユーティリティと機能を提供する強力なフレームワーク。
- pprint – 読み取りとデバッグのためのScalaの値と型のためのプリティプリンタ
- PureConfig★337⧗2 – 設定ファイルを読み込むための定型的なスカラライブラリ。
- REPLesent★319⧗5 – Scala REPLの内部に構築されたプレゼンテーションツール。 1回のキーストロークでスライドからコードを直接実行します。
- scala-debugger★52⧗18 – Java Debugger Interfaceを利用したScalaライブラリとツール。
- scala-ssh★186⧗6 – Scalaアプリケーション用のSSHによるリモートシェルアクセス
- Scalan★81⧗67 – Scalaにおけるドメイン固有のコンパイラの開発のためのフレームワーク
- ScalaSTM – Scala用のソフトウェアトランザクションメモリ
- スカベンジャー – 実験的な自動定理証明。
- settler★4⧗171 – Scalaでの定型的な入力設定の自動生成。
- シンプルなScala Config★43⧗5 – カスタム
Reader[T]
サポートしたTypesafe Configの周りにある細い、慣用的なScalaラッパー。 - YahooFinanceScala★15⧗2 – Akka httpを使用してYahoo Financeから株データを取得します。
アンドロイド
Android開発のためのScalaライブラリとラッパー。
- SBT用のAndroid SDKプラグイン★609⧗1 – Androidアプリケーションを開発するためのタスクを追加するsbtプラグイン。
- Gradle Android Scala Plugin★318⧗20 – AndroidでScalaを使用できるようにするgradleプラグイン
- Macroid★511⧗3 – Android向けのモジュール式の機能的なUI言語。
- Scaloid★2065⧗0 – ScalaによるAndroidの苦痛を軽減します 。
HTTP
HTTPクライアントのためのScalaライブラリとラッパー
- Akka HTTP★306⧗1 – AkkaのStreaming-first HTTPサーバー/モジュール。
- Dispatch★366 6 – 非同期HTTPの相互作用のためのライブラリ。 Javaのasync-http-client用のScalaボキャブラリを提供します 。
- Finch.io★1005⧗3 – Finagleのまさに機能的なREST API。
- Fintrospect★37⧗0 – Finagle用の高速、型安全なHTTP Webサービスを実装します。
- Http4s★732⧗3 – HTTP用の最小限の、慣用的なScalaインターフェース。
- jefe★2⧗105 – スタンドアロンやWebアプリケーションのインストール、更新、ダウンロード、起動、エラー報告、プロキシ、マルチサーバー管理などを管理します。
- lolhttp★64⧗10 Scala用HTTP&HTTP / 2サーバーとクライアントライブラリ。
- Netcaty★13⧗67 – NettyとScala愛好家のためのシンプルなネットテストクライアント/サーバー。
- Newman★241⧗88 – Dispatch、Finagle、Apache HttpClientからベストを尽くそうとするREST DSL。 理論的根拠についてはこちらを参照してください。
- RösHTTP★79⧗9 – Scala.jsを念頭に置いた軽量の非同期HTTP APIです。 JVMおよびNode.jsのランタイムとほとんどのブラウザをサポートします。
- scalaj-http★580⧗0 – HttpURLConnection(OAuthサポートを含む)のためのシンプルなスカラーラッパー。
- Scalaxb★235⧗18 – W3C XMLスキーマ(xsd)とWebサービス記述言語(wsdl)を入力ファイルとしてサポートするScala用XMLデータバインディングツール。
- スプレー – httpインタラクションのためのアクタベースのライブラリ。
- sttp – いつも望んでいたScala HTTPクライアント!
- Tubesocks★12 174 – websocketサーバーとの双方向通信をサポートするライブラリ。
セマンティックWeb
Web of Dataや他のRDFツールとのやりとりのためのScalaライブラリ
- Banana-RDF★207⧗26 – RDFとリンクされたデータ技術のためのスカラーフレンドリーな抽象化。 Jena、ゴマ、ネイティブのScalaをサポートします。
- rdfp★4⧗50 – ScalaのRDFストリーム処理フレームワーク
- Scowl★16⧗36 – OWL APIを使用してOWL式と公理を構成するための宣言的アプローチを可能にするScala DSL。
メトリックと監視
メトリックを収集し、アプリケーションを監視するためのScalaライブラリ
- Kamon – Akka、Spray、Playで構築されたアプリケーションからメトリックを収集します! ユーザーメトリクスもサポートしています。
- Metrics-Scala★335 – DropwizardのMetricsライブラリ用のScala API。
解析
パーサーを作成するためのScalaライブラリ
- atto★148⧗1 – Attoparsecに基づいて、Scala用の純粋な機能的なインクリメンタルテキスト解析ライブラリ。
- CLIST★43⧗24 – コマンドラインインターフェースScala Toolkit
- Fast Parse★467⧗1 – 速く書く、Scalaの高速実行パーサー
- Parboiled2★502⧗7 – Scala 2.10.3以降用の高速パーサジェネレータ。
- Scala Parser Combinators ★ 221 ⧗ 0 – Scala Standard Parser Combinator Library.
- Scopt ★ 678 ⧗ 0 – Simple scala command line options parsing.
Sbt plugins
Sbt plugins to make your life easier.
- coursier ★ 847 ⧗ 0 – A Scala library to fetch dependencies from Maven / Ivy repositories
- pttrt ★ 4 ⧗ 259 – A sbt plugin, designed to pass data from compile-time to run-time.
- sbt-api-mappings ★ 38 ⧗ 67 – A Sbt plugin that resolves external API links to common Scala libraries.
- sbt-buildinfo ★ 274 ⧗ 1 – Generates Scala source from build definition.
- sbt-classfinder ★ 3 ⧗ 39 – Retrieves runtime information about the classes and traits in a project.
- sbt-cppp ★ 4 ⧗ 272 – A sbt plugin to support Protocol Buffers , especially in multi-project builds.
- sbt-dependency-graph ★ 731 ⧗ 1 – Create a dependency graph for your project.
- sbt-docker ★ 422 ⧗ 3 – Create Docker images directly from sbt
- sbt-ensime ★ 197 ⧗ 11 – Generates .ensime config files for SBT projects http://ensime.org/build_tools/sbt
- sbt-groll ★ 87 ⧗ 10 – sbt plugin to roll the Git history.
- sbt-haxe ★ 9 ⧗ 274 – A Sbt plugin to compile Haxe sources.
- sbt-ide-settings ★ 32 ⧗ 27 – SBT plugin for tweaking various IDE settings
- sbt-native-packager ★ 811 ⧗ 3 – Bundle up Scala software for native packaging systems, like deb, rpm, homebrew, msi..
- sbt-pack ★ 284 ⧗ 7 – A sbt plugin for creating distributable Scala packages.
- sbt-pantarhei ★ 3 ⧗ 0 – SBT plugin to generate release notes from the pull requests and git commits in GitHub.
- sbt-revolver ★ 519 ⧗ 0 – Fork & Stop processes from sbt.
- sbt-robovm ★ 107 ⧗ 17 – An sbt plugin for iOS development in Scala
- sbt-scala-js-map ★ 12 ⧗ 2 – A sbt plugin that configures source mapping for Scala.js projects hosted on Github
- sbt-sublime ★ 145 ⧗ 38 – Create Sublime Text projects with library dependencies sources
- sbt-updates ★ 316 ⧗ 3 – Shows sbt project’s dependency updates.
- sbt-versions ★ 14 ⧗ 167 – Plugin that checks for updated versions of your project’s dependencies.
- sbt-view ★ 7 ⧗ 18 – View ScalaDoc/JavaDoc in browser window.
- sbteclipse ★ 632 ⧗ 0 – Create Eclipse project definitions from sbt builds.
- scala-clippy ★ 211 ⧗ 5 – Good advice and coloring for Scala compiler errors
- ScalaKata2 ★ 79 ⧗ 0 – Scala playground & Documentation tool.
- tut ★ 364 ⧗ 2 – Tool for writing documentation with typechecked examples.
- xsbt-web-plugin ★ 334 ⧗ 1 – Build enterprise J2EE Web applications in Scala.
- sbt-hepek ★ 5 ⧗ 0 – Make static websites in Scala code (render
object
to file!).
XML / HTML
XML and HTML generation and processing
- scala-scraper ★ 316 ⧗ 1 – A library for scraping content from HTML pages.
- xs4s ★ 29 ⧗ 47 – XML Streaming for Scala for processing large (gigabytes and over) XML files.
マークダウン
- Laika ★ 161 – Text Markup Transformer for sbt and Scala applications, transforming Markdown and reStructuredText to HTML and PDF.
Learning Scala
Nice books, blogs and other resources to learn Scala
- Demos and Examples in Scala (Chinese) ★ 525 ⧗ 2 – repo of sample Scala library usage, written in Chinese
- A Tour of Scala – Bite-sized introductions to some of the core language concepts.
- Deploying Scala libraries to Sonatype for dummies ★ 23 ⧗ 25 – None
- Functional Programming in Scala – Coursera Specialization (5 courses) created by Martin Odersky et al. at the EPFL (Ecole polytechnique fédérale de Lausanne).
- Reactive Programming with Scala and Akka – Use the concepts of reactive programming to build distributed systems running on multiple nodes
- Scala Collections Cookbook – Scala collections introduction. written in Chinese.
- Scala Exercises – Brings the popular Scala Koans to the web. Offering hundreds of solvable exercises organized into 42 categories covering the basics of the Scala language.
- Exercism – Scala Exercises – Community-driven Scala exercises.
- Scala With Cats – Learn system architecture and design using the techniques of modern functional programming with Cats
- Scala in Depth – None
- Scala school – Scala school started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers.
- Essential Scala – None
- Scalera Blog – Blog about Scala language and its environment (howto’s, good practices, tips,…). Weekly posts written in both spanish and english
- The Neophyte’s Guide to Scala – None
- Resources by Dr. Mark Lewis >> Website | Youtube Playlists
- Functional Programming for Mortals – None
- The Type Astronaut’s Guide to Shapeless – None
- Learn-by-doing functional programming course on Scala – Covers type classes, functors, applicatives, monads, monad transformers, free monad
- Get Programming with Scala – Tutorial-driven introduction to Scala
- Introduction to programming with dependent types in Scala – Video Course by Dmytro Mitin
JavaScript
JavaScript generation and interop libraries.
- js-scala ★ 155 ⧗ 9 – JavaScript as an embedded DSL in Scala
- scala-js-fiddle ( repo ) – Browser-based Scala.js playground
- Scala.js ( repo ) – Scala to JavaScript compiler
スケジューリング
- akka-quartz-scheduler ★ 365 – Quartz Extension and utilities for cron-style scheduling in Akka.
テンプレート
Web templating engines.
- Beard ★ 67 ⧗ 3 – lightweight logicless templating engine inspired by Mustache
- Scalatags ★ 492 ⧗ 3 – Write html as scala code and have your IDE syntax check it.
- Twirl ★ 324 ⧗ 3 – The Play Scala Template Compiler
ツール
- Abide ★ 243 ⧗ 3 – Library for quick scala code checking and validation
- Codacy – Automated Code Reviews for Scala
- Fastring ★ 97 ⧗ 2 – Extremely fast string formatting
- Gitbucket ★ 6296 ⧗ 0 – The easily installable GitHub clone powered by Scala
- sbt ( repo ) – The interactive build tool for Scala
- Scala @LibHunt – The go-to Scala Toolbox.
- scala-trace-debug ★ 80 ⧗ 14 – Multithreaded print debug tool
- Scalariform ★ 116 ⧗ 47 – Scala source code formatter
- Scalastyle ★ 463 ⧗ 1 – Scala style checker.
- Scalatex ★ 236 ⧗ 12 – Programmable, Typesafe Document Generation
- Scapegoat ★ 230 ⧗ 6 – Scala compiler plugin for static code analysis
- Scaps ( repo ) – A search engine for Scala libraries
- Scoverage – Scala Code Coverage tool
- Wartremover ★ 662 ⧗ 1 – Wartremover a flexible Scala code linting tool
- Giter8 command line tool to generate files and directories from templates published on Github
Geospatial
Libraries to aid with geospatial calculations and artifacts.
- Geotrellis ★ 553 ⧗ 0 – Scalable raster toolkit for GIS processing
- osm4scala ★ 8 ⧗ 40 – OpenStreetMap PBF2 file parser
- sfcurve ★ 20 ⧗ 1 – Space filling curves in Scala for geospatial indexing and query
Devops
DevOps related tools and libraries.
- Skuber ★ 85 ⧗ 0 – Kubernetes client in Scala
貢献する
Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project that hasn’t been updated in the past 6 months or is not awesome.