<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    
    <title>GitHub Scala Weekly Trending Repositories</title>
    <description>Weekly Trending Repositories of Scala on GitHub</description>
    
    <pubDate>Mon, 10 Aug 2026 07:35:54 GMT</pubDate>
    <link>https://mshibanami.github.io/GitHubTrendingRSS</link>
    
    <item>
      <title>apache/spark</title>
      <link>https://github.com/apache/spark</link>
      <description>&lt;p&gt;Apache Spark - A unified analytics engine for large-scale data processing&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Apache Spark&lt;/h1&gt; 
&lt;p&gt;Spark is a unified analytics engine for large-scale data processing. It provides high-level APIs in Scala, Java, Python, and R (Deprecated), and an optimized engine that supports general computation graphs for data analysis. It also supports a rich set of higher-level tools including Spark SQL for SQL and DataFrames, pandas API on Spark for pandas workloads, MLlib for machine learning, GraphX for graph processing, and Structured Streaming for stream processing.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Official version: &lt;a href=&quot;https://spark.apache.org/&quot;&gt;https://spark.apache.org/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Development version: &lt;a href=&quot;https://apache.github.io/spark/&quot;&gt;https://apache.github.io/spark/&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href=&quot;https://opensource.org/licenses/Apache-2.0&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/License-Apache%202.0-blue.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://search.maven.org/search?q=g:org.apache.spark&quot;&gt;&lt;img src=&quot;https://img.shields.io/maven-central/v/org.apache.spark/spark-core_2.13.svg?filter=!*preview*&quot; alt=&quot;Maven Central&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://adoptium.net/temurin/releases/?version=17&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Java-17+-orange.svg?sanitize=true&quot; alt=&quot;Java&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://codecov.io/gh/apache/spark&quot;&gt;&lt;img src=&quot;https://codecov.io/gh/apache/spark/branch/master/graph/badge.svg?sanitize=true&quot; alt=&quot;PySpark Coverage&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://pypi.org/project/pyspark/&quot;&gt;&lt;img src=&quot;https://static.pepy.tech/personalized-badge/pyspark?period=month&amp;amp;units=international_system&amp;amp;left_color=black&amp;amp;right_color=orange&amp;amp;left_text=PyPI%20downloads&quot; alt=&quot;PyPI Downloads&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Online Documentation&lt;/h2&gt; 
&lt;p&gt;You can find the latest Spark documentation, including a programming guide, on the &lt;a href=&quot;https://spark.apache.org/documentation.html&quot;&gt;project web page&lt;/a&gt;. This README file only contains basic setup instructions.&lt;/p&gt; 
&lt;h2&gt;Build Pipeline Status&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Branch&lt;/th&gt; 
   &lt;th&gt;Status&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;master&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/release.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/release.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/publish_snapshot.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/publish_snapshot.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_infra_images_cache.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_infra_images_cache.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_uds.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_uds.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_rockdb_as_ui_backend.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_rockdb_as_ui_backend.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java25.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java25.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21_macos26.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21_macos26.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21_arm.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21_arm.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_coverage.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_coverage.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_classic_only.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_classic_only.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_arm.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_arm.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_macos26.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_macos26.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_pandas_3.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.12_pandas_3.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.13.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.13.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14_nogil.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14_nogil.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_minimum.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_minimum.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_connect40.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_connect40.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_connect.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_connect.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_sparkr_window.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_sparkr_window.yml/badge.svg?sanitize=true&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;branch-4.x&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml?query=branch%3Abranch-4.x&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml/badge.svg?branch=branch-4.x&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;branch-4.3&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml?query=branch%3Abranch-4.3&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml/badge.svg?branch=branch-4.3&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;branch-4.2&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java25.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml?query=branch%3Abranch-4.2&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml/badge.svg?branch=branch-4.2&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;branch-4.1&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.14.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_pypy3.10.yml?query=branch%3Abranch-4.1&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_pypy3.10.yml/badge.svg?branch=branch-4.1&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;branch-4.0&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java17.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_java21.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_non_ansi.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_maven_java21.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.11.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_pypy3.10.yml?query=branch%3Abranch-4.0&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_pypy3.10.yml/badge.svg?branch=branch-4.0&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;branch-3.5&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-3.5&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_main.yml/badge.svg?branch=branch-3.5&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_scala213.yml?query=branch%3Abranch-3.5&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_scala213.yml/badge.svg?branch=branch-3.5&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.9.yml?query=branch%3Abranch-3.5&quot;&gt;&lt;img src=&quot;https://github.com/apache/spark/actions/workflows/build_python_3.9.yml/badge.svg?branch=branch-3.5&quot; alt=&quot;GitHub Actions Build&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Building Spark&lt;/h2&gt; 
&lt;p&gt;Spark is built using &lt;a href=&quot;https://maven.apache.org/&quot;&gt;Apache Maven&lt;/a&gt;. To build Spark and its example programs, run:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./build/mvn -DskipTests clean package
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;(You do not need to do this if you downloaded a pre-built package.)&lt;/p&gt; 
&lt;p&gt;More detailed documentation is available from the project site, at &lt;a href=&quot;https://spark.apache.org/docs/latest/building-spark.html&quot;&gt;&quot;Building Spark&quot;&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;For general development tips, including info on developing Spark using an IDE, see &lt;a href=&quot;https://spark.apache.org/developer-tools.html&quot;&gt;&quot;Useful Developer Tools&quot;&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Interactive Scala Shell&lt;/h2&gt; 
&lt;p&gt;The easiest way to start using Spark is through the Scala shell:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./bin/spark-shell
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Try the following command, which should return 1,000,000,000:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;scala&amp;gt; spark.range(1000 * 1000 * 1000).count()
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Interactive Python Shell&lt;/h2&gt; 
&lt;p&gt;Alternatively, if you prefer Python, you can use the Python shell:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./bin/pyspark
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;And run the following command, which should also return 1,000,000,000:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;&amp;gt;&amp;gt;&amp;gt; spark.range(1000 * 1000 * 1000).count()
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Example Programs&lt;/h2&gt; 
&lt;p&gt;Spark also comes with several sample programs in the &lt;code&gt;examples&lt;/code&gt; directory. To run one of them, use &lt;code&gt;./bin/run-example &amp;lt;class&amp;gt; [params]&lt;/code&gt;. For example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./bin/run-example SparkPi
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;will run the Pi example locally.&lt;/p&gt; 
&lt;p&gt;You can set the MASTER environment variable when running examples to submit examples to a cluster. This can be spark:// URL, &quot;yarn&quot; to run on YARN, and &quot;local&quot; to run locally with one thread, or &quot;local[N]&quot; to run locally with N threads. You can also use an abbreviated class name if the class is in the &lt;code&gt;examples&lt;/code&gt; package. For instance:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;MASTER=spark://host:7077 ./bin/run-example SparkPi
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Many of the example programs print usage help if no params are given.&lt;/p&gt; 
&lt;h2&gt;Running Tests&lt;/h2&gt; 
&lt;p&gt;Testing first requires &lt;a href=&quot;https://raw.githubusercontent.com/apache/spark/master/#building-spark&quot;&gt;building Spark&lt;/a&gt;. Once Spark is built, tests can be run using:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./dev/run-tests
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Please see the guidance on how to &lt;a href=&quot;https://spark.apache.org/developer-tools.html#individual-tests&quot;&gt;run tests for a module, or individual tests&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;There is also a Kubernetes integration test, see resource-managers/kubernetes/integration-tests/README.md&lt;/p&gt; 
&lt;h2&gt;A Note About Hadoop Versions&lt;/h2&gt; 
&lt;p&gt;Spark uses the Hadoop core library to talk to HDFS and other Hadoop-supported storage systems. Because the protocols have changed in different versions of Hadoop, you must build Spark against the same version that your cluster runs.&lt;/p&gt; 
&lt;p&gt;Please refer to the build documentation at &lt;a href=&quot;https://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version-and-enabling-yarn&quot;&gt;&quot;Specifying the Hadoop Version and Enabling YARN&quot;&lt;/a&gt; for detailed guidance on building for a particular distribution of Hadoop, including building for particular Hive and Hive Thriftserver distributions.&lt;/p&gt; 
&lt;h2&gt;Configuration&lt;/h2&gt; 
&lt;p&gt;Please refer to the &lt;a href=&quot;https://spark.apache.org/docs/latest/configuration.html&quot;&gt;Configuration Guide&lt;/a&gt; in the online documentation for an overview on how to configure Spark.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Please review the &lt;a href=&quot;https://spark.apache.org/contributing.html&quot;&gt;Contribution to Spark guide&lt;/a&gt; for information on how to get started contributing to the project.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/5bcd388357c13f9a0fb4c803bd03123cabbf790d61bcc01e9c2bfa2245001ba4/apache/spark" medium="image" />
      
    </item>
    
    <item>
      <title>twitter/the-algorithm</title>
      <link>https://github.com/twitter/the-algorithm</link>
      <description>&lt;p&gt;Source code for the X Recommendation Algorithm&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;X&#39;s Recommendation Algorithm&lt;/h1&gt; 
&lt;p&gt;X&#39;s Recommendation Algorithm is a set of services and jobs that are responsible for serving feeds of posts and other content across all X product surfaces (e.g. For You Timeline, Search, Explore, Notifications). For an introduction to how the algorithm works, please refer to our &lt;a href=&quot;https://blog.x.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm&quot;&gt;engineering blog&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Architecture&lt;/h2&gt; 
&lt;p&gt;Product surfaces at X are built on a shared set of data, models, and software frameworks. The shared components included in this repository are listed below:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Type&lt;/th&gt; 
   &lt;th&gt;Component&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Data&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/tweetypie/server/README.md&quot;&gt;tweetypie&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Core service that handles the reading and writing of post data.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/unified_user_actions/README.md&quot;&gt;unified-user-actions&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Real-time stream of user actions on X.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/user-signal-service/README.md&quot;&gt;user-signal-service&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Centralized platform to retrieve explicit (e.g. likes, replies) and implicit (e.g. profile visits, tweet clicks) user signals.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Model&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/scala/com/twitter/simclusters_v2/README.md&quot;&gt;SimClusters&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Community detection and sparse embeddings into those communities.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/twitter/the-algorithm-ml/raw/main/projects/twhin/README.md&quot;&gt;TwHIN&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Dense knowledge graph embeddings for Users and Posts.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/trust_and_safety_models/README.md&quot;&gt;trust-and-safety-models&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Models for detecting NSFW or abusive content.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/scala/com/twitter/interaction_graph/README.md&quot;&gt;real-graph&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Model to predict the likelihood of an X User interacting with another User.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/scala/com/twitter/graph/batch/job/tweepcred/README&quot;&gt;tweepcred&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Page-Rank algorithm for calculating X User reputation.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/recos-injector/README.md&quot;&gt;recos-injector&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Streaming event processor for building input streams for &lt;a href=&quot;https://github.com/twitter/GraphJet&quot;&gt;GraphJet&lt;/a&gt; based services.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/graph-feature-service/README.md&quot;&gt;graph-feature-service&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Serves graph features for a directed pair of users (e.g. how many of User A&#39;s following liked posts from User B).&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/topic-social-proof/README.md&quot;&gt;topic-social-proof&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Identifies topics related to individual posts.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/representation-scorer/README.md&quot;&gt;representation-scorer&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Compute scores between pairs of entities (Users, Posts, etc.) using embedding similarity.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Software framework&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/navi/README.md&quot;&gt;navi&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;High performance, machine learning model serving written in Rust.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/product-mixer/README.md&quot;&gt;product-mixer&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Software framework for building feeds of content.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/timelines/data_processing/ml_util/aggregation_framework/README.md&quot;&gt;timelines-aggregation-framework&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Framework for generating aggregate features in batch or real time.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/representation-manager/README.md&quot;&gt;representation-manager&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Service to retrieve embeddings (i.e. SimClusers and TwHIN).&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/twml/README.md&quot;&gt;twml&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Legacy machine learning framework built on TensorFlow v1.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;The product surfaces currently included in this repository are the For You Timeline and Recommended Notifications.&lt;/p&gt; 
&lt;h3&gt;For You Timeline&lt;/h3&gt; 
&lt;p&gt;The diagram below illustrates how major services and jobs interconnect to construct a For You Timeline.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/docs/system-diagram.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;The core components of the For You Timeline included in this repository are listed below:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Type&lt;/th&gt; 
   &lt;th&gt;Component&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Candidate Source&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/java/com/twitter/search/README.md&quot;&gt;search-index&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Find and rank In-Network posts. ~50% of posts come from this candidate source.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/tweet-mixer&quot;&gt;tweet-mixer&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Coordination layer for fetching Out-of-Network tweet candidates from underlying compute services.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/scala/com/twitter/recos/user_tweet_entity_graph/README.md&quot;&gt;user-tweet-entity-graph&lt;/a&gt; (UTEG)&lt;/td&gt; 
   &lt;td&gt;Maintains an in memory User to Post interaction graph, and finds candidates based on traversals of this graph. This is built on the &lt;a href=&quot;https://github.com/twitter/GraphJet&quot;&gt;GraphJet&lt;/a&gt; framework. Several other GraphJet based features and candidate sources are located &lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/scala/com/twitter/recos&quot;&gt;here&lt;/a&gt;.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/follow-recommendations-service/README.md&quot;&gt;follow-recommendation-service&lt;/a&gt; (FRS)&lt;/td&gt; 
   &lt;td&gt;Provides Users with recommendations for accounts to follow, and posts from those accounts.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ranking&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/README.md&quot;&gt;light-ranker&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Light Ranker model used by search index (Earlybird) to rank posts.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/twitter/the-algorithm-ml/raw/main/projects/home/recap/README.md&quot;&gt;heavy-ranker&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Neural network for ranking candidate posts. One of the main signals used to select timeline posts post candidate sourcing.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Post mixing &amp;amp; filtering&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/home-mixer/README.md&quot;&gt;home-mixer&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Main service used to construct and serve the Home Timeline. Built on &lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/product-mixer/README.md&quot;&gt;product-mixer&lt;/a&gt;.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/visibilitylib/README.md&quot;&gt;visibility-filters&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Responsible for filtering X content to support legal compliance, improve product quality, increase user trust, protect revenue through the use of hard-filtering, visible product treatments, and coarse-grained downranking.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/timelineranker/README.md&quot;&gt;timelineranker&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Legacy service which provides relevance-scored posts from the Earlybird Search Index and UTEG service.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Recommended Notifications&lt;/h3&gt; 
&lt;p&gt;The core components of Recommended Notifications included in this repository are listed below:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Type&lt;/th&gt; 
   &lt;th&gt;Component&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Service&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/pushservice/README.md&quot;&gt;pushservice&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Main recommendation service at X used to surface recommendations to our users via notifications.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ranking&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/pushservice/src/main/python/models/light_ranking/README.md&quot;&gt;pushservice-light-ranker&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Light Ranker model used by pushservice to rank posts. Bridges candidate generation and heavy ranking by pre-selecting highly-relevant candidates from the initial huge candidate pool.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/twitter/the-algorithm/main/pushservice/src/main/python/models/heavy_ranking/README.md&quot;&gt;pushservice-heavy-ranker&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Multi-task learning model to predict the probabilities that the target users will open and engage with the sent notifications.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Build and test code&lt;/h2&gt; 
&lt;p&gt;We include Bazel BUILD files for most components, but not a top-level BUILD or WORKSPACE file. We plan to add a more complete build and test system in the future.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We invite the community to submit GitHub issues and pull requests for suggestions on improving the recommendation algorithm. We are working on tools to manage these suggestions and sync changes to our internal repository. Any security concerns or issues should be routed to our official &lt;a href=&quot;https://hackerone.com/x&quot;&gt;bug bounty program&lt;/a&gt; through HackerOne. We hope to benefit from the collective intelligence and expertise of the global community in helping us identify issues and suggest improvements, ultimately leading to a better X.&lt;/p&gt; 
&lt;p&gt;Read our blog on the open source initiative &lt;a href=&quot;https://blog.x.com/en_us/topics/company/2023/a-new-era-of-transparency-for-twitter&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/847cdfccd203a39a2bb4694cc8d181400d47928df9df966329c09ef9bd88c830/twitter/the-algorithm" medium="image" />
      
    </item>
    
    <item>
      <title>lichess-org/lila</title>
      <link>https://github.com/lichess-org/lila</link>
      <description>&lt;p&gt;♞ lichess.org: the forever free, adless and open source chess server ♞&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;&lt;a href=&quot;https://lichess.org&quot;&gt;lichess.org&lt;/a&gt;&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://crowdin.com/project/lichess&quot;&gt;&lt;img src=&quot;https://d322cqt584bo4o.cloudfront.net/lichess/localized.svg?sanitize=true&quot; alt=&quot;Crowdin&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://mastodon.online/@lichess&quot;&gt;&lt;img src=&quot;https://img.shields.io/mastodon/follow/109298525492334687?domain=mastodon.online&quot; alt=&quot;Mastodon&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://bsky.app/profile/lichess.org&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky&amp;amp;logoColor=fff&quot; alt=&quot;Bluesky&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/lichess&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/280713822073913354?label=Discord&amp;amp;logo=discord&amp;amp;style=flat&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://deepwiki.com/lichess-org/lila&quot;&gt;&lt;img src=&quot;https://deepwiki.com/badge.svg?sanitize=true&quot; alt=&quot;Ask DeepWiki&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;img src=&quot;https://raw.githubusercontent.com/lichess-org/lila/master/public/images/home-bicolor.png&quot; alt=&quot;Lichess homepage&quot; title=&quot;Lichess comes with light and dark theme, this screenshot shows both.&quot; /&gt; 
&lt;p&gt;Lila (li[chess in sca]la) is a free online chess game server focused on &lt;a href=&quot;https://lichess.org/games&quot;&gt;realtime&lt;/a&gt; gameplay and ease of use.&lt;/p&gt; 
&lt;p&gt;It features a &lt;a href=&quot;https://lichess.org/games/search&quot;&gt;search engine&lt;/a&gt;, &lt;a href=&quot;https://lichess.org/ief49lif&quot;&gt;computer analysis&lt;/a&gt; distributed with &lt;a href=&quot;https://github.com/lichess-org/fishnet&quot;&gt;fishnet&lt;/a&gt;, &lt;a href=&quot;https://lichess.org/tournament&quot;&gt;tournaments&lt;/a&gt;, &lt;a href=&quot;https://lichess.org/simul&quot;&gt;simuls&lt;/a&gt;, &lt;a href=&quot;https://lichess.org/forum&quot;&gt;forums&lt;/a&gt;, &lt;a href=&quot;https://lichess.org/team&quot;&gt;teams&lt;/a&gt;, &lt;a href=&quot;https://lichess.org/training&quot;&gt;tactic trainer&lt;/a&gt;, a &lt;a href=&quot;https://lichess.org/app&quot;&gt;mobile app&lt;/a&gt;, and a &lt;a href=&quot;https://lichess.org/study&quot;&gt;shared analysis board&lt;/a&gt;. The UI is available in more than &lt;a href=&quot;https://crowdin.com/project/lichess&quot;&gt;140 languages&lt;/a&gt; thanks to the community.&lt;/p&gt; 
&lt;p&gt;Lichess is written in &lt;a href=&quot;https://www.scala-lang.org/&quot;&gt;Scala 3&lt;/a&gt;, and relies on a modified &lt;a href=&quot;https://www.playframework.com/&quot;&gt;Play 2.8&lt;/a&gt; framework. &lt;a href=&quot;https://com-lihaoyi.github.io/scalatags/&quot;&gt;scalatags&lt;/a&gt; is used for templating. Pure chess logic is contained in the &lt;a href=&quot;https://github.com/lichess-org/scalachess&quot;&gt;scalachess&lt;/a&gt; submodule. The server is fully asynchronous, making heavy use of Scala Futures and &lt;a href=&quot;https://pekko.apache.org&quot;&gt;Pekko streams&lt;/a&gt;. WebSocket connections are handled by a &lt;a href=&quot;https://github.com/lichess-org/lila-ws&quot;&gt;separate server&lt;/a&gt; that communicates using &lt;a href=&quot;https://redis.io/&quot;&gt;redis&lt;/a&gt;. Lichess talks to &lt;a href=&quot;https://stockfishchess.org/&quot;&gt;Stockfish&lt;/a&gt; deployed in an &lt;a href=&quot;https://github.com/lichess-org/fishnet&quot;&gt;AI cluster&lt;/a&gt; of donated servers. It uses &lt;a href=&quot;https://www.mongodb.com&quot;&gt;MongoDB&lt;/a&gt; to store more than 12 billion games, which are indexed by &lt;a href=&quot;https://github.com/elastic/elasticsearch&quot;&gt;elasticsearch&lt;/a&gt;. HTTP requests and WebSocket connections can be proxied by &lt;a href=&quot;https://nginx.org&quot;&gt;nginx&lt;/a&gt;. The web client is written in &lt;a href=&quot;https://www.typescriptlang.org/&quot;&gt;TypeScript&lt;/a&gt; and &lt;a href=&quot;https://github.com/snabbdom/snabbdom&quot;&gt;snabbdom&lt;/a&gt;, using &lt;a href=&quot;https://sass-lang.com/&quot;&gt;Sass&lt;/a&gt; to generate CSS. All rated games are published in a &lt;a href=&quot;https://database.lichess.org&quot;&gt;free PGN database&lt;/a&gt;. Browser testing done with &lt;a href=&quot;https://www.browserstack.com&quot;&gt;Browserstack&lt;/a&gt;. Proxy detection done with &lt;a href=&quot;https://www.ip2location.com/database/ip2proxy&quot;&gt;IP2Proxy database&lt;/a&gt;. Please help us &lt;a href=&quot;https://crowdin.com/project/lichess&quot;&gt;translate Lichess with Crowdin&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://lichess.org/source&quot;&gt;lichess.org/source&lt;/a&gt; for a list of repositories.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://discord.gg/lichess&quot;&gt;Join us on Discord&lt;/a&gt; for more info. Use &lt;a href=&quot;https://github.com/lichess-org/lila/issues&quot;&gt;GitHub issues&lt;/a&gt; for bug reports and feature requests.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;./lila.sh # thin wrapper around sbt
run
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The Wiki describes &lt;a href=&quot;https://github.com/lichess-org/lila/wiki/Lichess-Development-Onboarding&quot;&gt;how to setup a development environment&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;HTTP API&lt;/h2&gt; 
&lt;p&gt;Feel free to use the &lt;a href=&quot;https://lichess.org/api&quot;&gt;Lichess API&lt;/a&gt; in your applications and websites.&lt;/p&gt; 
&lt;h2&gt;Supported browsers&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Name&lt;/th&gt; 
   &lt;th&gt;Version&lt;/th&gt; 
   &lt;th&gt;Notes&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Firefox&lt;/td&gt; 
   &lt;td&gt;115+&lt;/td&gt; 
   &lt;td&gt;Full support (recommended)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Chromium / Chrome&lt;/td&gt; 
   &lt;td&gt;112+&lt;/td&gt; 
   &lt;td&gt;Full support&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Edge&lt;/td&gt; 
   &lt;td&gt;111+&lt;/td&gt; 
   &lt;td&gt;Full support&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Opera&lt;/td&gt; 
   &lt;td&gt;97+&lt;/td&gt; 
   &lt;td&gt;Reasonable support&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Safari&lt;/td&gt; 
   &lt;td&gt;16.2+&lt;/td&gt; 
   &lt;td&gt;Reasonable support&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Older browsers will not work. For your own sake, please upgrade. Security and performance, think about it!&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Lila is licensed under the GNU Affero General Public License 3 or any later version at your choice. See &lt;a href=&quot;https://github.com/lichess-org/lila/raw/master/COPYING.md&quot;&gt;copying&lt;/a&gt; for details.&lt;/p&gt; 
&lt;h2&gt;Production architecture (as of July 2022)&lt;/h2&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/lichess-org/lila/master/public/images/architecture.png&quot; alt=&quot;Lichess production server architecture diagram&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Credits&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://lichess.org/thanks&quot;&gt;lichess.org/thanks&lt;/a&gt; and the contributors here:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/lichess-org/lila/graphs/contributors&quot;&gt;&lt;img src=&quot;https://contrib.rocks/image?repo=lichess-org/lila&quot; alt=&quot;GitHub contributors&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Competence development program&lt;/h2&gt; 
&lt;p&gt;Lichess would like to support its contributors in their competence development by covering costs of relevant training materials and activities. This is a small way to further empower contributors who have given their time to Lichess and to enable or improve additional contributions to Lichess in the future. For more information, including how to apply, check &lt;a href=&quot;https://lichess.org/page/competence-development&quot;&gt;Competence Development for Lichess contributors&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/3507455/cd8d0b00-1485-11ea-8a70-5b1b83e9ece8" medium="image" />
      
    </item>
    
    <item>
      <title>chipsalliance/chisel</title>
      <link>https://github.com/chipsalliance/chisel</link>
      <description>&lt;p&gt;Chisel: A Modern Hardware Design Language&lt;/p&gt;&lt;hr&gt;&lt;a href=&quot;https://www.chisel-lang.org&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/docs/src/images/chisel_logo.svg?sanitize=true&quot; height=&quot;60&quot; /&gt; &lt;/a&gt; 
&lt;a href=&quot;https://www.chipsalliance.org&quot;&gt; &lt;img align=&quot;right&quot; src=&quot;https://raw.githubusercontent.com/chipsalliance/.github/main/profile/images/chips_alliance.svg?sanitize=true&quot; height=&quot;60&quot; /&gt; &lt;/a&gt; 
&lt;p&gt;The &lt;strong&gt;Constructing Hardware in a Scala Embedded Language&lt;/strong&gt; (&lt;a href=&quot;https://www.chisel-lang.org&quot;&gt;&lt;strong&gt;Chisel&lt;/strong&gt;&lt;/a&gt;) is an open-source hardware description language (HDL) used to describe digital electronics and circuits at the register-transfer level that facilitates &lt;strong&gt;advanced circuit generation and design reuse for both ASIC and FPGA digital logic designs&lt;/strong&gt;.&lt;/p&gt; 
&lt;p&gt;Chisel adds hardware construction primitives to the &lt;a href=&quot;https://www.scala-lang.org&quot;&gt;Scala&lt;/a&gt; programming language, providing designers with the power of a modern programming language to write complex, parameterizable circuit generators that produce synthesizable Verilog. This generator methodology enables the creation of re-usable components and libraries, such as the FIFO queue and arbiters in the &lt;a href=&quot;https://www.chisel-lang.org/api/latest/#chisel3.util.package&quot;&gt;Chisel Standard Library&lt;/a&gt;, raising the level of abstraction in design while retaining fine-grained control.&lt;/p&gt; 
&lt;p&gt;For more information on the benefits of Chisel see: &lt;a href=&quot;https://stackoverflow.com/questions/53007782/what-benefits-does-chisel-offer-over-classic-hardware-description-languages&quot;&gt;&quot;What benefits does Chisel offer over classic Hardware Description Languages?&quot;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Chisel is powered by &lt;a href=&quot;https://github.com/chipsalliance/firrtl-spec&quot;&gt;FIRRTL (Flexible Intermediate Representation for RTL)&lt;/a&gt;, a hardware compiler framework implemented by &lt;a href=&quot;https://github.com/llvm/circt&quot;&gt;LLVM CIRCT&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Chisel is &lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/LICENSE&quot;&gt;permissively licensed&lt;/a&gt; (Apache 2.0) under the guidance of &lt;a href=&quot;https://www.chipsalliance.org&quot;&gt;CHIPS Alliance&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#what-does-chisel-code-look-like&quot;&gt;What does Chisel code look like?&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#led-blink&quot;&gt;LED blink&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#fir-filter&quot;&gt;FIR Filter&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#getting-started&quot;&gt;Getting Started&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#bootcamp-interactive-tutorial&quot;&gt;Bootcamp Interactive Tutorial&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#a-textbook-on-chisel&quot;&gt;A Textbook on Chisel&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#build-your-own-chisel-projects&quot;&gt;Build Your Own Chisel Projects&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#guide-for-new-contributors&quot;&gt;Guide For New Contributors&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#design-verification&quot;&gt;Design Verification&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#documentation&quot;&gt;Documentation&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#useful-resources&quot;&gt;Useful Resources&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#chisel-dev-meeting&quot;&gt;Chisel Dev Meeting&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#data-types-overview&quot;&gt;Data Types Overview&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#contributor-documentation&quot;&gt;Contributor Documentation&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#useful-resources-for-contributors&quot;&gt;Useful Resources for Contributors&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#compiling-and-testing-chisel&quot;&gt;Compiling and Testing Chisel&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#running-projects-against-local-chisel&quot;&gt;Running Projects Against Local Chisel&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#chisel-architecture-overview&quot;&gt;Chisel Architecture Overview&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#chisel-sub-projects&quot;&gt;Chisel Sub-Projects&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#which-version-should-i-use&quot;&gt;Which version should I use?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#roadmap&quot;&gt;Roadmap&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;p&gt;&lt;a href=&quot;https://gitter.im/freechipsproject/chisel3?utm_source=badge&amp;amp;utm_medium=badge&amp;amp;utm_campaign=pr-badge&amp;amp;utm_content=badge&quot;&gt;&lt;img src=&quot;https://matrix.to/img/matrix-badge.svg?sanitize=true&quot; alt=&quot;Join the chat at https://gitter.im/freechipsproject/chisel3&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://javadoc.io/doc/org.chipsalliance/chisel_2.13/latest&quot;&gt;&lt;img src=&quot;https://www.javadoc.io/badge/org.chipsalliance/chisel_2.13.svg?color=blue&amp;amp;label=Scaladoc&quot; alt=&quot;Scaladoc&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;https://github.com/chipsalliance/chisel/actions/workflows/test.yml/badge.svg?sanitize=true&quot; alt=&quot;CI&quot; /&gt; &lt;a href=&quot;https://github.com/chipsalliance/chisel/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/tag/chipsalliance/chisel.svg?include_prereleases&amp;amp;sort=semver&quot; alt=&quot;GitHub tag (latest SemVer)&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://index.scala-lang.org/chipsalliance/chisel/chisel&quot;&gt;&lt;img src=&quot;https://index.scala-lang.org/chipsalliance/chisel/chisel/latest-by-scala-version.svg?platform=jvm&quot; alt=&quot;Scala version support&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;What does Chisel code look like?&lt;/h2&gt; 
&lt;h3&gt;LED blink&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;import chisel3._
import chisel3.util.Counter
import circt.stage.ChiselStage

class Blinky(freq: Int, startOn: Boolean = false) extends Module {
  val io = IO(new Bundle {
    val led0 = Output(Bool())
  })
  // Blink LED every second using Chisel built-in util.Counter
  val led = RegInit(startOn.B)
  val (_, counterWrap) = Counter(true.B, freq / 2)
  when(counterWrap) {
    led := ~led
  }
  io.led0 := led
}

object Main extends App {
  // These lines generate the Verilog output
  println(
    ChiselStage.emitSystemVerilog(
      new Blinky(1000),
      firtoolOpts = Array(&quot;-disable-all-randomization&quot;, &quot;-strip-debug-info&quot;)
    )
  )
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Should output the following Verilog:&lt;/p&gt; 
&lt;!--
Note that you can regenerate the HTML below by using VSCode with extensions:
* Markdown All in One: https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one
* Verilog-HDL/SystemVerilog/Bluespec SystemVerilog: https://marketplace.visualstudio.com/items?itemName=mshr-h.VerilogHDL

You then generate the Verilog and place it in a syntax highlighted code block in this file, eg.
```verilog
...
```
You can then run the command: &gt; Markdown All in One: Print current document to HTML
Then you can open the generated HTML and copy-paste
--&gt; 
&lt;details&gt; 
 &lt;summary&gt;Click to expand!&lt;/summary&gt; 
 &lt;p&gt;&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-verilog&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;// Generated by CIRCT firtool-1.37.0&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;module&lt;/span&gt; Blinky(
  &lt;span class=&quot;hljs-keyword&quot;&gt;input&lt;/span&gt;  clock,
         reset,
  &lt;span class=&quot;hljs-keyword&quot;&gt;output&lt;/span&gt; io_led0
);

  &lt;span class=&quot;hljs-keyword&quot;&gt;reg&lt;/span&gt;       led;
  &lt;span class=&quot;hljs-keyword&quot;&gt;reg&lt;/span&gt; [&lt;span class=&quot;hljs-number&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;] counterWrap_c_value;
  &lt;span class=&quot;hljs-keyword&quot;&gt;always&lt;/span&gt; @(&lt;span class=&quot;hljs-keyword&quot;&gt;posedge&lt;/span&gt; clock) &lt;span class=&quot;hljs-keyword&quot;&gt;begin&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (reset) &lt;span class=&quot;hljs-keyword&quot;&gt;begin&lt;/span&gt;
      led &amp;lt;= &lt;span class=&quot;hljs-number&quot;&gt;1&#39;h0&lt;/span&gt;;
      counterWrap_c_value &amp;lt;= &lt;span class=&quot;hljs-number&quot;&gt;9&#39;h0&lt;/span&gt;;
    &lt;span class=&quot;hljs-keyword&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;begin&lt;/span&gt;
      &lt;span class=&quot;hljs-keyword&quot;&gt;automatic&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;logic&lt;/span&gt; counterWrap = counterWrap_c_value == &lt;span class=&quot;hljs-number&quot;&gt;9&#39;h1F3&lt;/span&gt;;
      led &amp;lt;= counterWrap ^ led;
      &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (counterWrap)
        counterWrap_c_value &amp;lt;= &lt;span class=&quot;hljs-number&quot;&gt;9&#39;h0&lt;/span&gt;;
      &lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;/span&gt;
        counterWrap_c_value &amp;lt;= counterWrap_c_value + &lt;span class=&quot;hljs-number&quot;&gt;9&#39;h1&lt;/span&gt;;
    &lt;span class=&quot;hljs-keyword&quot;&gt;end&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;hljs-comment&quot;&gt;// always @(posedge)&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;assign&lt;/span&gt; io_led0 = led;
&lt;span class=&quot;hljs-keyword&quot;&gt;endmodule&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;h3&gt;FIR Filter&lt;/h3&gt; 
&lt;p&gt;Consider an FIR filter that implements a convolution operation, as depicted in this block diagram:&lt;/p&gt; 
&lt;img src=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/docs/src/images/fir_filter.svg?sanitize=true&quot; width=&quot;512&quot; /&gt; 
&lt;p&gt;While Chisel provides similar base primitives as synthesizable Verilog, and &lt;em&gt;could&lt;/em&gt; be used as such:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;// 3-point moving sum implemented in the style of a FIR filter
class MovingSum3(bitWidth: Int) extends Module {
  val io = IO(new Bundle {
    val in = Input(UInt(bitWidth.W))
    val out = Output(UInt(bitWidth.W))
  })

  val z1 = RegNext(io.in)
  val z2 = RegNext(z1)

  io.out := (io.in * 1.U) + (z1 * 1.U) + (z2 * 1.U)
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;the power of Chisel comes from the ability to create generators, such as an FIR filter that is defined by the list of coefficients:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;// Generalized FIR filter parameterized by the convolution coefficients
class FirFilter(bitWidth: Int, coeffs: Seq[UInt]) extends Module {
  val io = IO(new Bundle {
    val in = Input(UInt(bitWidth.W))
    val out = Output(UInt(bitWidth.W))
  })
  // Create the serial-in, parallel-out shift register
  val zs = Reg(Vec(coeffs.length, UInt(bitWidth.W)))
  zs(0) := io.in
  for (i &amp;lt;- 1 until coeffs.length) {
    zs(i) := zs(i-1)
  }

  // Do the multiplies
  val products = VecInit.tabulate(coeffs.length)(i =&amp;gt; zs(i) * coeffs(i))

  // Sum up the products
  io.out := products.reduce(_ + _)
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;and use and re-use them across designs:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;val movingSum3Filter = Module(new FirFilter(8, Seq(1.U, 1.U, 1.U)))  // same 3-point moving sum filter as before
val delayFilter = Module(new FirFilter(8, Seq(0.U, 1.U)))  // 1-cycle delay as a FIR filter
val triangleFilter = Module(new FirFilter(8, Seq(1.U, 2.U, 3.U, 2.U, 1.U)))  // 5-point FIR filter with a triangle impulse response
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The above can be converted to Verilog using &lt;code&gt;ChiselStage&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;import chisel3.stage.ChiselGeneratorAnnotation
import circt.stage.{ChiselStage, FirtoolOption}

(new ChiselStage).execute(
  Array(&quot;--target&quot;, &quot;systemverilog&quot;),
  Seq(ChiselGeneratorAnnotation(() =&amp;gt; new FirFilter(8, Seq(1.U, 1.U, 1.U))),
    FirtoolOption(&quot;--disable-all-randomization&quot;))
)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Alternatively, you may generate some Verilog directly for inspection:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;val verilogString = chisel3.getVerilogString(new FirFilter(8, Seq(0.U, 1.U)))
println(verilogString)
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;h3&gt;Bootcamp Interactive Tutorial&lt;/h3&gt; 
&lt;p&gt;The &lt;a href=&quot;https://mybinder.org/v2/gh/freechipsproject/chisel-bootcamp/master&quot;&gt;&lt;strong&gt;online Chisel Bootcamp&lt;/strong&gt;&lt;/a&gt; is the recommended way to get started with and learn Chisel. &lt;strong&gt;No setup is required&lt;/strong&gt; (it runs in the browser), nor does it assume any prior knowledge of Scala.&lt;/p&gt; 
&lt;p&gt;The &lt;a href=&quot;https://github.com/ucb-bar/chisel-tutorial&quot;&gt;&lt;strong&gt;classic Chisel tutorial&lt;/strong&gt;&lt;/a&gt; contains small exercises and runs on your computer.&lt;/p&gt; 
&lt;h3&gt;A Textbook on Chisel&lt;/h3&gt; 
&lt;p&gt;If you like a textbook to learn Chisel and also a bit of digital design in general, you may be interested in reading &lt;a href=&quot;http://www.imm.dtu.dk/~masca/chisel-book.html&quot;&gt;&lt;strong&gt;Digital Design with Chisel&lt;/strong&gt;&lt;/a&gt;. It is available in English, Chinese, Japanese, and Vietnamese.&lt;/p&gt; 
&lt;h3&gt;Build Your Own Chisel Projects&lt;/h3&gt; 
&lt;p&gt;Please see &lt;a href=&quot;https://www.chisel-lang.org/docs/installation&quot;&gt;the Installation page&lt;/a&gt; of the Chisel website for information about how to use Chisel locally.&lt;/p&gt; 
&lt;p&gt;When you&#39;re ready to build your own circuits in Chisel, &lt;strong&gt;we recommend starting from the &lt;a href=&quot;https://github.com/chipsalliance/chisel-template&quot;&gt;Chisel Template&lt;/a&gt; repository&lt;/strong&gt;, which provides a pre-configured project, example design, and testbench. Follow the &lt;a href=&quot;https://github.com/chipsalliance/chisel-template&quot;&gt;chisel-template README&lt;/a&gt; to get started.&lt;/p&gt; 
&lt;p&gt;If you insist on setting up your own project from scratch, your project needs to depend on both the chisel-plugin (Scalac plugin) and the chisel library. For example, in SBT this could be expressed as:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;// build.sbt
scalaVersion := &quot;2.13.16&quot;
val chiselVersion = &quot;7.2.0&quot;
addCompilerPlugin(&quot;org.chipsalliance&quot; % &quot;chisel-plugin&quot; % chiselVersion cross CrossVersion.full)
libraryDependencies += &quot;org.chipsalliance&quot; %% &quot;chisel&quot; % chiselVersion
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For Chisel prior to v5.0.0, Chisel was published using a different artifact name:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;// build.sbt
scalaVersion := &quot;2.13.10&quot;
addCompilerPlugin(&quot;edu.berkeley.cs&quot; % &quot;chisel3-plugin&quot; % &quot;3.6.0&quot; cross CrossVersion.full)
libraryDependencies += &quot;edu.berkeley.cs&quot; %% &quot;chisel3&quot; % &quot;3.6.0&quot;
// We also recommend using chiseltest for writing unit tests
libraryDependencies += &quot;edu.berkeley.cs&quot; %% &quot;chiseltest&quot; % &quot;0.6.0&quot; % &quot;test&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Guide For New Contributors&lt;/h3&gt; 
&lt;p&gt;If you are trying to make a contribution to this project, please read &lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Design Verification&lt;/h3&gt; 
&lt;p&gt;These simulation-based verification tools are available for Chisel:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/svsim&quot;&gt;&lt;strong&gt;svsim&lt;/strong&gt;&lt;/a&gt; is the lightweight testing library for Chisel, included in this repository.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ucb-bar/chiseltest&quot;&gt;&lt;strong&gt;chiseltest (Chisel 6.0 and before)&lt;/strong&gt;&lt;/a&gt; is the batteries-included testing and formal verification library for Chisel-based RTL designs and a replacement for the former PeekPokeTester, providing the same base constructs but with a streamlined interface and concurrency support with &lt;code&gt;fork&lt;/code&gt; and &lt;code&gt;join&lt;/code&gt; with internal and Verilator integration for simulations.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;h3&gt;Useful Resources&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/freechipsproject/chisel-cheatsheet/releases/latest/download/chisel_cheatsheet.pdf&quot;&gt;&lt;strong&gt;Cheat Sheet&lt;/strong&gt;&lt;/a&gt;, a 2-page reference of the base Chisel syntax and libraries&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.chisel-lang.org/api/latest/index.html&quot;&gt;&lt;strong&gt;ScalaDoc (latest)&lt;/strong&gt;&lt;/a&gt;, a listing, description, and examples of the functionality exposed by Chisel, &lt;a href=&quot;https://www.chisel-lang.org/api/&quot;&gt;older versions&lt;/a&gt; are also available&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://gitter.im/freechipsproject/chisel3&quot;&gt;&lt;strong&gt;Gitter&lt;/strong&gt;&lt;/a&gt;, where you can ask questions or discuss anything Chisel&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.chisel-lang.org&quot;&gt;&lt;strong&gt;Website&lt;/strong&gt;&lt;/a&gt; (&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/website&quot;&gt;source&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://scastie.scala-lang.org/CsDO7Q3TQHmBWJfKEB85Tw&quot;&gt;&lt;strong&gt;Scastie (v6.0.0)&lt;/strong&gt;&lt;/a&gt; - cannot generate Verilog (firtool does not work in Scastie)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://scastie.scala-lang.org/1XICrlaZQs6ZvxpuKdFdDw&quot;&gt;&lt;strong&gt;Scastie (v3.6.0)&lt;/strong&gt;&lt;/a&gt; - generates Verilog with legacy Scala FIRRTL Compiler&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://www.asic-world.com/verilog/veritut.html&quot;&gt;&lt;strong&gt;asic-world&lt;/strong&gt;&lt;/a&gt; If you aren&#39;t familiar with verilog, this is a good tutorial.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you are migrating from Chisel2, see &lt;a href=&quot;https://www.chisel-lang.org/chisel3/docs/appendix/chisel3-vs-chisel2.html&quot;&gt;the migration guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Chisel Dev Meeting&lt;/h3&gt; 
&lt;p&gt;Chisel/FIRRTL development meetings happen every Monday from 9:00-10:00 am PT.&lt;/p&gt; 
&lt;p&gt;Call-in info and meeting notes are available &lt;a href=&quot;https://docs.google.com/document/d/1BLP2DYt59DqI-FgFCcjw8Ddl4K-WU0nHmQu0sZ_wAGo/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Data Types Overview&lt;/h3&gt; 
&lt;p&gt;These are the base data types for defining circuit components:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/docs/src/images/type_hierarchy.svg?sanitize=true&quot; alt=&quot;Image&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Contributor Documentation&lt;/h2&gt; 
&lt;p&gt;This section describes how to get started contributing to Chisel itself, including how to test your version locally against other projects that pull in Chisel using &lt;a href=&quot;https://www.scala-sbt.org/1.x/docs/Library-Dependencies.html&quot;&gt;sbt&#39;s managed dependencies&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Useful Resources for Contributors&lt;/h3&gt; 
&lt;p&gt;The &lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/#useful-resources&quot;&gt;Useful Resources&lt;/a&gt; for users are also helpful for contributors.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.google.com/presentation/d/1gMtABxBEDFbCFXN_-dPyvycNAyFROZKwk-HMcnxfTnU/edit?usp=sharing&quot;&gt;&lt;strong&gt;Chisel Breakdown Slides&lt;/strong&gt;&lt;/a&gt;, an introductory talk about Chisel&#39;s internals&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Compiling and Testing Chisel&lt;/h3&gt; 
&lt;p&gt;You must first install required dependencies to build Chisel locally, please see &lt;a href=&quot;https://www.chisel-lang.org/docs/installation&quot;&gt;the installation instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Clone and build the Chisel library:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/chipsalliance/chisel.git
cd chisel
./mill chisel[].compile
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In order to run the following unit tests, you will need several tools on your &lt;code&gt;PATH&lt;/code&gt;, namely &lt;a href=&quot;https://www.veripool.org/verilator/&quot;&gt;verilator&lt;/a&gt;, &lt;a href=&quot;https://yosyshq.net/yosys/&quot;&gt;yosys&lt;/a&gt;, &lt;a href=&quot;https://github.com/chipsalliance/espresso&quot;&gt;espresso&lt;/a&gt;, &lt;a href=&quot;https://github.com/MikePopoloski/slang&quot;&gt;slang&lt;/a&gt;, and &lt;a href=&quot;https://llvm.org/docs/CommandGuide/FileCheck.html&quot;&gt;filecheck&lt;/a&gt;. Check that each is installed on your &lt;code&gt;PATH&lt;/code&gt; by running &lt;code&gt;which verilator&lt;/code&gt; and so on.&lt;/p&gt; 
&lt;p&gt;If the compilation succeeded and the dependencies noted above are installed, you can then run the included unit tests by invoking:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Run the ScalaTest unit tests:
./mill chisel[].test
# Run the Chisel unit tests (modules marked with chisel3.UnitTest trait):
./mill chisel[].unitTest
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Running Projects Against Local Chisel&lt;/h3&gt; 
&lt;p&gt;To use the development version of Chisel (&lt;code&gt;main&lt;/code&gt; branch), you will need to build from source and publish locally. The repository version can be found by running &lt;code&gt;./mill show unipublish[2.13].publishVersion&lt;/code&gt;. As of the time of writing it was: &lt;code&gt;7.1.1+16-767b9eb3-SNAPSHOT&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;To publish your version of Chisel to the local Ivy repository, run:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./mill unipublish[2.13].publishLocal
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The compiled version gets placed in &lt;code&gt;~/.ivy2/local/org.chipsalliance/&lt;/code&gt;. If you need to un-publish your local copy of Chisel, remove the directory generated in &lt;code&gt;~/.ivy2/local/org.chipsalliance/&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;In order to have your projects use this version of Chisel, you should update the &lt;code&gt;libraryDependencies&lt;/code&gt; setting in your project&#39;s build.sbt file to use the current version, for example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;val chiselVersion = &quot;7.1.1+16-767b9eb3-SNAPSHOT&quot;
addCompilerPlugin(&quot;org.chipsalliance&quot; % &quot;chisel-plugin&quot; % chiselVersion cross CrossVersion.full)
libraryDependencies += &quot;org.chipsalliance&quot; %% &quot;chisel&quot; % chiselVersion
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Chisel Architecture Overview&lt;/h3&gt; 
&lt;p&gt;The Chisel compiler consists of these main parts:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;The frontend&lt;/strong&gt;, &lt;code&gt;chisel3.*&lt;/code&gt;, which is the publicly visible &quot;API&quot; of Chisel and what is used in Chisel RTL. These just add data to the...&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;The Builder&lt;/strong&gt;, &lt;code&gt;chisel3.internal.Builder&lt;/code&gt;, which maintains global state (like the currently open Module) and contains commands, generating...&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;The intermediate data structures&lt;/strong&gt;, &lt;code&gt;chisel3.firrtl.*&lt;/code&gt;, which are syntactically very similar to Firrtl. Once the entire circuit has been elaborated, the top-level object (a &lt;code&gt;Circuit&lt;/code&gt;) is then passed to...&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;The Firrtl emitter&lt;/strong&gt;, &lt;code&gt;chisel3.firrtl.Emitter&lt;/code&gt;, which turns the intermediate data structures into a string that can be written out into a Firrtl file for further processing.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Also included is:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;The standard library&lt;/strong&gt; of circuit generators, &lt;code&gt;chisel3.util.*&lt;/code&gt;. These contain commonly used interfaces and constructors (like &lt;code&gt;Decoupled&lt;/code&gt;, which wraps a signal with a ready-valid pair) as well as fully parameterizable circuit generators (like arbiters and multiplexors).&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Chisel Stage&lt;/strong&gt;, &lt;code&gt;chisel3.stage.*&lt;/code&gt;, which contains compilation and test functions that are invoked in the standard Verilog generation and simulation testing infrastructure. These can also be used as part of custom flows.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Chisel Sub-Projects&lt;/h3&gt; 
&lt;p&gt;Chisel consists of several Scala projects; each is its own separate compilation unit:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/core&quot;&gt;&lt;code&gt;core&lt;/code&gt;&lt;/a&gt; is the bulk of the source code of Chisel, depends on &lt;code&gt;firrtl&lt;/code&gt;, &lt;code&gt;svsim&lt;/code&gt;, and &lt;code&gt;macros&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/firrtl&quot;&gt;&lt;code&gt;firrtl&lt;/code&gt;&lt;/a&gt; is the vestigial remains of the old Scala FIRRTL compiler, much if it will likely be absorbed into &lt;code&gt;core&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/macros&quot;&gt;&lt;code&gt;macros&lt;/code&gt;&lt;/a&gt; is most of the macros used in Chisel, no internal dependencies&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/plugin&quot;&gt;&lt;code&gt;plugin&lt;/code&gt;&lt;/a&gt; is the compiler plugin, no internal dependencies&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/src/main&quot;&gt;&lt;code&gt;src/main&lt;/code&gt;&lt;/a&gt; is the &quot;main&quot; that brings it all together and includes a &lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/src/main/scala/chisel3/util&quot;&gt;&lt;code&gt;util&lt;/code&gt;&lt;/a&gt; library, which depends on &lt;code&gt;core&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/svsim&quot;&gt;&lt;code&gt;svsim&lt;/code&gt;&lt;/a&gt; is a low-level library for compiling and controlling SystemVerilog simulations, currently targeting Verilator and VCS as backends&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Code that touches lots of APIs that are private to the &lt;code&gt;chisel3&lt;/code&gt; package should belong in &lt;code&gt;core&lt;/code&gt;, while code that is pure Chisel should belong in &lt;code&gt;src/main&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;Which version should I use?&lt;/h3&gt; 
&lt;p&gt;We encourage Chisel users (as opposed to Chisel developers), to use the latest release version of Chisel. This &lt;a href=&quot;https://github.com/chipsalliance/chisel-template&quot;&gt;chisel-template&lt;/a&gt; repository is kept up-to-date, depending on the most recent version of Chisel. The recommended version is also captured near the top of this README, and in the &lt;a href=&quot;https://github.com/chipsalliance/chisel/releases&quot;&gt;Github releases&lt;/a&gt; section of this repo. If you encounter an issue with a released version of Chisel, please file an issue on GitHub mentioning the Chisel version and provide a simple test case (if possible). Try to reproduce the issue with the associated latest minor release (to verify that the issue hasn&#39;t been already addressed).&lt;/p&gt; 
&lt;p&gt;For more information on our versioning policy and what versions of the various Chisel ecosystem projects work together, see &lt;a href=&quot;https://www.chisel-lang.org/chisel3/docs/appendix/versioning.html&quot;&gt;Chisel Project Versioning&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;If you&#39;re developing a Chisel library (or &lt;code&gt;chisel3&lt;/code&gt; itself), you&#39;ll probably want to work closer to the tip of the development trunk. By default, the main branch of the chisel repository is configured to build and publish its version of the code as &lt;code&gt;&amp;lt;version&amp;gt;+&amp;lt;n&amp;gt;-&amp;lt;commit hash&amp;gt;-SNAPSHOT&lt;/code&gt;. Updated SNAPSHOTs are published on every push to main. You are encouraged to do your development against the latest SNAPSHOT, but note that neither API nor ABI compatibility is guaranteed so your code may break at any time.&lt;/p&gt; 
&lt;h3&gt;Roadmap&lt;/h3&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/chipsalliance/chisel/main/ROADMAP.md&quot;&gt;Roadmap&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/34695562/1ec57b00-7266-11e9-8b9b-dee5383ea658" medium="image" />
      
    </item>
    
    <item>
      <title>scala/scala3</title>
      <link>https://github.com/scala/scala3</link>
      <description>&lt;p&gt;The Scala 3 compiler, also known as Dotty.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Scala 3&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/scala/scala3/actions/workflows/ci.yaml?query=branch%3Amain&quot;&gt;&lt;img src=&quot;https://github.com/scala/scala3/actions/workflows/ci.yaml/badge.svg?branch=main&quot; alt=&quot;Scala 3 CI&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.com/invite/scala&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/632150470000902164&quot; alt=&quot;Join the chat at https://discord.com/invite/scala&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;This is the home of the &lt;a href=&quot;https://www.scala-lang.org&quot;&gt;Scala 3&lt;/a&gt; standard library, compiler, and language spec. More documentation &lt;a href=&quot;https://docs.scala-lang.org/scala3/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Building a Local Distribution&lt;/h1&gt; 
&lt;ol&gt; 
 &lt;li&gt;&lt;code&gt;sbt dist/Universal/packageBin&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Find the newly-built distributions in &lt;code&gt;dist/target/&lt;/code&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h1&gt;Code of Conduct&lt;/h1&gt; 
&lt;p&gt;Scala 3 uses the &lt;a href=&quot;https://www.scala-lang.org/conduct.html&quot;&gt;Scala Code of Conduct&lt;/a&gt; for all communication and discussion. This includes both GitHub, Discord and other more direct lines of communication such as email.&lt;/p&gt; 
&lt;h1&gt;How to Contribute&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/scala/scala3/main/CONTRIBUTING.md&quot;&gt;Contributing guide&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/scala/scala3/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22&quot;&gt;Issues where help is wanted&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/scala/scala3/main/LLM_POLICY.md&quot;&gt;Policy regarding the use of LLM-based tools&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;License&lt;/h1&gt; 
&lt;p&gt;Scala 3 is licensed under the &lt;a href=&quot;https://www.apache.org/licenses/LICENSE-2.0&quot;&gt;Apache License Version 2.0&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/232677f08b5ae4a080fc44b1c32d7f2c4edfb45ae079870ea9ae24ac06b3f93f/scala/scala3" medium="image" />
      
    </item>
    
    <item>
      <title>joernio/joern</title>
      <link>https://github.com/joernio/joern</link>
      <description>&lt;p&gt;Open-source code analysis platform for C/C++/Java/Binary/Javascript/Python/Kotlin based on code property graphs. Discord https://discord.gg/vv4MH284Hc&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Joern - The Bug Hunter&#39;s Workbench&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/joernio/joern/actions/workflows/release.yml&quot;&gt;&lt;img src=&quot;https://github.com/joernio/joern/actions/workflows/release.yml/badge.svg?sanitize=true&quot; alt=&quot;release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://index.scala-lang.org/joernio/joern&quot;&gt;&lt;img src=&quot;https://index.scala-lang.org/joernio/joern/latest.svg?sanitize=true&quot; alt=&quot;Joern SBT&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/joernio/joern/releases/&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/joernio/joern/total.svg?sanitize=true&quot; alt=&quot;Github All Releases&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.com/invite/vv4MH284Hc&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/-Discord-lime?style=for-the-badge&amp;amp;logo=discord&amp;amp;logoColor=white&amp;amp;color=black&quot; alt=&quot;Gitter&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Joern is a platform for analyzing source code, bytecode, and binary executables. It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis. Code property graphs are stored in a custom graph database. This allows code to be mined using search queries formulated in a Scala-based domain-specific query language. Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.&lt;/p&gt; 
&lt;p&gt;Website: &lt;a href=&quot;https://joern.io&quot;&gt;https://joern.io&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Documentation: &lt;a href=&quot;https://docs.joern.io/&quot;&gt;https://docs.joern.io/&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Specification: &lt;a href=&quot;https://cpg.joern.io&quot;&gt;https://cpg.joern.io&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;News / Changelog&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Joern v4.0.0 &lt;a href=&quot;https://raw.githubusercontent.com/joernio/joern/master/changelog/4.0.0-flatgraph.md&quot;&gt;migrates from overflowdb to flatgraph&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Joern v2.0.0 &lt;a href=&quot;https://raw.githubusercontent.com/joernio/joern/master/changelog/2.0.0-scala3.md&quot;&gt;upgrades from Scala2 to Scala3&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Joern v1.2.0 removes the &lt;code&gt;overflowdb.traversal.Traversal&lt;/code&gt; class. This change is not completely backwards compatible. See &lt;a href=&quot;https://raw.githubusercontent.com/joernio/joern/master/changelog/traversal_removal.md&quot;&gt;here&lt;/a&gt; for a detailed writeup.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Requirements&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;JDK 21 (other versions &lt;em&gt;might&lt;/em&gt; work, but have not been properly tested)&lt;/li&gt; 
 &lt;li&gt;&lt;em&gt;optional&lt;/em&gt;: gcc and g++ (for auto-discovery of C/C++ system header files if included/used in your C/C++ code)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Quick Installation&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;wget https://github.com/joernio/joern/releases/latest/download/joern-install.sh
chmod +x ./joern-install.sh
sudo ./joern-install.sh
joern

     ██╗ ██████╗ ███████╗██████╗ ███╗   ██╗
     ██║██╔═══██╗██╔════╝██╔══██╗████╗  ██║
     ██║██║   ██║█████╗  ██████╔╝██╔██╗ ██║
██   ██║██║   ██║██╔══╝  ██╔══██╗██║╚██╗██║
╚█████╔╝╚██████╔╝███████╗██║  ██║██║ ╚████║
 ╚════╝  ╚═════╝ ╚══════╝╚═╝  ╚═╝╚═╝  ╚═══╝
Version: 2.0.1
Type `help` to begin

joern&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If the installation script fails for any reason, try&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;./joern-install --interactive
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Development Requirements&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://jdk.java.net/&quot;&gt;java&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.scala-sbt.org&quot;&gt;sbt&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Run unit and integration tests locally&lt;/h2&gt; 
&lt;p&gt;Unit tests:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sbt test
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Integration tests:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sbt joerncli/stage querydb/createDistribution
python -m pip install requests pexpect # wexpect on Windows
python -u ./testDistro.py
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;There is an experimental partial Bazel build setup. Check &lt;a href=&quot;http://bazel.md&quot;&gt;bazel.md&lt;/a&gt; for further details.&lt;/p&gt; 
&lt;h2&gt;Docker based execution&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern joern
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To run joern in server mode:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern joern --server
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Almalinux 9 requires the CPU to support SSE4.2. For kvm64 VM use the Almalinux 8 version instead.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern-alma8 joern
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Releases&lt;/h2&gt; 
&lt;p&gt;A new release is &lt;a href=&quot;https://raw.githubusercontent.com/joernio/joern/master/.github/workflows/release.yml&quot;&gt;created automatically&lt;/a&gt; once per day. Contributers can also manually run the &lt;a href=&quot;https://github.com/joernio/joern/actions/workflows/release.yml&quot;&gt;release workflow&lt;/a&gt; if they need the release sooner.&lt;/p&gt; 
&lt;p&gt;Each release publishes platform-specific distribution zips:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;joern-cli-linux-x86_64.zip&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;joern-cli-linux-arm64.zip&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;joern-cli-macos-x86_64.zip&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;joern-cli-macos-arm64.zip&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;joern-cli-windows-x86_64.zip&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;joern-cli-windows-arm64.zip&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;code&gt;joern-install.sh&lt;/code&gt; detects the current platform automatically and downloads the correct zip. Windows users should download the appropriate zip directly from the &lt;a href=&quot;https://github.com/joernio/joern/releases/latest&quot;&gt;releases page&lt;/a&gt; and extract it manually.&lt;/p&gt; 
&lt;h2&gt;Developers&lt;/h2&gt; 
&lt;h3&gt;Contribution Guidelines&lt;/h3&gt; 
&lt;p&gt;Thank you for taking time to contribute to Joern! Here are a few guidelines to ensure your pull request will get merged as soon as possible:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Try to make use of the templates as far as possible, however they may not suit all needs. The minimum we would like to see is: 
  &lt;ul&gt; 
   &lt;li&gt;A title that briefly describes the change and purpose of the PR, preferably with the affected module in square brackets, e.g. &lt;code&gt;[javasrc2cpg] Addition Operator Fix&lt;/code&gt;.&lt;/li&gt; 
   &lt;li&gt;A short description of the changes in the body of the PR. This could be in bullet points or paragraphs.&lt;/li&gt; 
   &lt;li&gt;A link or reference to the related issue, if any exists.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Do not: 
  &lt;ul&gt; 
   &lt;li&gt;Immediately CC/@/email spam other contributors, the team will review the PR and assign the most appropriate contributor to review the PR. Joern is maintained by industry partners and researchers alike, for the most part with their own goals and priorities, and additional help is largely volunteer work. If your PR is going stale, then reach out to us in follow-up comments with @&#39;s asking for an explanation of priority or planning of when it may be addressed (if ever, depending on quality).&lt;/li&gt; 
   &lt;li&gt;Leave the description body empty, this makes reviewing the purpose of the PR difficult.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Remember to: 
  &lt;ul&gt; 
   &lt;li&gt;Remember to format your code, i.e. run &lt;code&gt;sbt scalafmt Test/scalafmt&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;Add a unit test to verify your change.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;IDE setup&lt;/h3&gt; 
&lt;h4&gt;Intellij IDEA&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/idea/download&quot;&gt;Download Intellij Community&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Install and run it&lt;/li&gt; 
 &lt;li&gt;Install the &lt;a href=&quot;https://plugins.jetbrains.com/plugin/1347-scala&quot;&gt;Scala Plugin&lt;/a&gt; - just search and install from within Intellij.&lt;/li&gt; 
 &lt;li&gt;Important: open &lt;code&gt;sbt&lt;/code&gt; in your local joern repository, run &lt;code&gt;compile&lt;/code&gt; and keep it open - this will allow us to use the BSP build in the next step&lt;/li&gt; 
 &lt;li&gt;Back to Intellij: open project: select your local joern clone: select to open as &lt;code&gt;BSP project&lt;/code&gt; (i.e. &lt;em&gt;not&lt;/em&gt; &lt;code&gt;sbt project&lt;/code&gt;!)&lt;/li&gt; 
 &lt;li&gt;Await the import and indexing to complete, then you can start, e.g. &lt;code&gt;Build -&amp;gt; build project&lt;/code&gt; or run a test&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;VSCode&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Install VSCode and Docker&lt;/li&gt; 
 &lt;li&gt;Install the plugin &lt;code&gt;ms-vscode-remote.remote-containers&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Open Joern project folder in VSCode 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/azure-sphere/app-development/container-build-vscode#build-and-debug-the-project&quot;&gt;Option 1&lt;/a&gt;: Visual Studio Code detects the new files and opens a message box saying: &lt;code&gt;Folder contains a Dev Container configuration file. Reopen to folder to develop in a container.&lt;/code&gt;. Select the &lt;code&gt;Reopen in Container&lt;/code&gt; button to reopen the folder in the container created by the &lt;code&gt;.devcontainer/Dockerfile&lt;/code&gt; file.&lt;/li&gt; 
   &lt;li&gt;Option 2: press &lt;code&gt;Ctrl + Shift + P&lt;/code&gt; then select &lt;code&gt;Dev Containers: Reopen in Container&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Press &lt;code&gt;Ctrl + Shift + P&lt;/code&gt; then select &lt;code&gt;Metals: Import build&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;After &lt;code&gt;Metals: Import build&lt;/code&gt; succeeds, you are ready to start writing code for Joern&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;QueryDB (queries plugin)&lt;/h2&gt; 
&lt;p&gt;Quick way to develop and test QueryDB:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;sbt stage
./querydb-install.sh
./joern-scan --list-query-names
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The last command prints all available queries - add your own in querydb, run the above commands again to see that your query got deployed. More details in the &lt;a href=&quot;https://raw.githubusercontent.com/joernio/joern/master/querydb/README.md&quot;&gt;separate querydb readme&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/175681313/bf4be680-f4f8-11e9-931b-24fee121e81e" medium="image" />
      
    </item>
    
    <item>
      <title>apache/gluten</title>
      <link>https://github.com/apache/gluten</link>
      <description>&lt;p&gt;Gluten is a middle layer responsible for offloading JVM-based SQL engines&#39; execution to native engines.&lt;/p&gt;&lt;hr&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/image/gluten-logo.svg?sanitize=true&quot; alt=&quot;Gluten&quot; width=&quot;260&quot; /&gt; 
&lt;p&gt;&lt;strong&gt;A Middle Layer for Offloading JVM-Based SQL Execution to Native Engines&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.bestpractices.dev/projects/8452&quot;&gt;&lt;img src=&quot;https://www.bestpractices.dev/projects/8452/badge&quot; alt=&quot;OpenSSF Best Practices&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;1. Introduction&lt;/h2&gt; 
&lt;h3&gt;Background&lt;/h3&gt; 
&lt;p&gt;Apache Spark is a mature and stable project that has been under continuous development for many years. It is one of the most widely used frameworks for scaling out the processing of petabyte-scale datasets. Over time, the Spark community has had to address significant performance challenges, which required a variety of optimizations. A major milestone came with Spark 2.0, where Whole-Stage Code Generation replaced the Volcano Model, delivering up to a 2× speedup. Since then, most subsequent improvements have focused on the query plan level, while the performance of individual operators has almost stopped improving.&lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://user-images.githubusercontent.com/47296334/199853029-b6d0ea19-f8e4-4f62-9562-2838f7f159a7.png&quot; width=&quot;700&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;In recent years, several native SQL engines have been developed, such as ClickHouse and Velox. With features like native execution, columnar data formats, and vectorized data processing, these engines can outperform Spark’s JVM-based SQL engine. However, they currently don&#39;t directly support Spark SQL execution.&lt;/p&gt; 
&lt;h3&gt;Design Overview&lt;/h3&gt; 
&lt;p&gt;“Gluten” is Latin for &quot;glue&quot;. The main goal of the Gluten project is to glue native engines to Spark SQL. Thus, we can benefit from the high performance of native engines and the high scalability enabled by the Spark ecosystem.&lt;/p&gt; 
&lt;p&gt;The basic design principle is to reuse Spark’s control flow, while offloading compute-intensive data processing to the native side. More specifically:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Transform Spark’s physical plan into a Substrait plan, then transform it into the native engine&#39;s plan.&lt;/li&gt; 
 &lt;li&gt;Offload performance-critical data processing to native engine.&lt;/li&gt; 
 &lt;li&gt;Define clear JNI interfaces for native SQL engines.&lt;/li&gt; 
 &lt;li&gt;Allow easy switching between available native backends.&lt;/li&gt; 
 &lt;li&gt;Reuse Spark’s distributed control flow.&lt;/li&gt; 
 &lt;li&gt;Manage data sharing between JVM and native.&lt;/li&gt; 
 &lt;li&gt;Provide extensibility to support more native engines.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Target Users&lt;/h3&gt; 
&lt;p&gt;Gluten&#39;s target users include anyone who wants to fundamentally accelerate Spark SQL. As a plugin to Spark, Gluten requires no changes to the DataFrame API or SQL queries; users only need to configure it correctly.&lt;/p&gt; 
&lt;h2&gt;2. Architecture&lt;/h2&gt; 
&lt;p&gt;The overview chart is shown below. &lt;a href=&quot;https://substrait.io/&quot;&gt;Substrait&lt;/a&gt; provides a well-defined, cross-language specification for data compute operations. Spark’s physical plan is transformed into a Substrait plan, which is then passed to the native side through a JNI call. On the native side, a chain of native operators is constructed and offloaded to the native engine. Gluten returns the results as a ColumnarBatch, and Spark’s Columnar API (introduced in Spark 3.0) is used during execution. Gluten adopts the Apache Arrow data format as its underlying representation.&lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://user-images.githubusercontent.com/47296334/199617207-1140698a-4d53-462d-9bc7-303d14be060b.png&quot; width=&quot;700&quot; /&gt; &lt;/p&gt; Currently, Gluten supports only the ClickHouse and Velox backends. Velox is a C++ database acceleration library that provides reusable, extensible, and high-performance data processing components. In addition, Gluten is designed to be extensible, allowing support for additional backends in the future. 
&lt;p&gt;Gluten&#39;s key components:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Query Plan Conversion&lt;/strong&gt;: Converts Spark&#39;s physical plan to Substrait plan.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Unified Memory Management&lt;/strong&gt;: Manages native memory allocation.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Columnar Shuffle&lt;/strong&gt;: Handles shuffling of Gluten&#39;s columnar data. The shuffle service of Spark core is reused, while a columnar exchange operator is implemented to support Gluten&#39;s columnar data format.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Fallback Mechanism&lt;/strong&gt;: Provides fallback to vanilla Spark for unsupported operators. Gluten&#39;s ColumnarToRow (C2R) and RowToColumnar (R2C) convert data between Gluten&#39;s columnar format and Spark&#39;s internal row format to support fallback transitions.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Metrics&lt;/strong&gt;: Collected from Gluten native engine to help monitor execution, identify bugs, and diagnose performance bottlenecks. The metrics are displayed in Spark UI.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Shim Layer&lt;/strong&gt;: Ensures compatibility with multiple Spark versions. Gluten supports the latest 3–4 Spark releases during its development cycle, and currently supports Spark 3.3, 3.4, 3.5, 4.0, and 4.1.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;3. User Guide&lt;/h2&gt; 
&lt;p&gt;Below is a basic configuration to enable Gluten in Spark.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;export GLUTEN_JAR=/PATH/TO/GLUTEN_JAR
spark-shell \
  --master yarn --deploy-mode client \
  --conf spark.plugins=org.apache.gluten.GlutenPlugin \
  --conf spark.memory.offHeap.enabled=true \
  --conf spark.memory.offHeap.size=20g \
  --conf spark.driver.extraClassPath=${GLUTEN_JAR} \
  --conf spark.executor.extraClassPath=${GLUTEN_JAR} \
  --conf spark.shuffle.manager=org.apache.spark.shuffle.sort.ColumnarShuffleManager
  ...
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;There are two ways to acquire Gluten jar for the above configuration.&lt;/p&gt; 
&lt;h3&gt;Use Released JAR&lt;/h3&gt; 
&lt;p&gt;Please download the tar package &lt;a href=&quot;https://gluten.apache.org/downloads/&quot;&gt;here&lt;/a&gt;, then extract the Gluten JAR from it. Additionally, Gluten provides nightly builds based on the main branch for early testing. The nightly build JARs are available at &lt;a href=&quot;https://nightlies.apache.org/gluten/&quot;&gt;Apache Gluten Nightlies&lt;/a&gt;. They have been verified on Centos 7/8/9, Ubuntu 20.04/22.04.&lt;/p&gt; 
&lt;h3&gt;Build From Source&lt;/h3&gt; 
&lt;p&gt;For &lt;strong&gt;Velox&lt;/strong&gt; backend, please refer to &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/get-started/Velox.md&quot;&gt;Velox.md&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/get-started/build-guide.md&quot;&gt;build-guide.md&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;For &lt;strong&gt;ClickHouse&lt;/strong&gt; backend, please refer to &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/get-started/ClickHouse.md&quot;&gt;ClickHouse.md&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The Gluten JAR will be generated under &lt;code&gt;/PATH/TO/GLUTEN/package/target/&lt;/code&gt; after the build.&lt;/p&gt; 
&lt;h3&gt;Configurations&lt;/h3&gt; 
&lt;p&gt;Common configurations used by Gluten are listed in &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/Configuration.md&quot;&gt;Configuration.md&lt;/a&gt;. Velox specific configurations are listed in &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/velox-configuration.md&quot;&gt;velox-configuration.md&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The Gluten Velox backend honors some Spark configurations, ignores others, and many are transparent to it. See &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/velox-spark-configuration.md&quot;&gt;velox-spark-configuration.md&lt;/a&gt; for details, and &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/velox-parquet-write-configuration.md&quot;&gt;velox-parquet-write-configuration.md&lt;/a&gt; for Parquet write configurations.&lt;/p&gt; 
&lt;h2&gt;4. Resources&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://gluten.apache.org/&quot;&gt;Gluten website&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/facebookincubator/velox&quot;&gt;Velox repository&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Kyligence/ClickHouse&quot;&gt;ClickHouse repository&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=0Q6gHT_N-1U&quot;&gt;Gluten Intro Video at Data AI Summit 2022&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://medium.com/intel-analytics-software/accelerate-spark-sql-queries-with-gluten-9000b65d1b4e&quot;&gt;Gluten Intro Article on Medium&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://cn.kyligence.io/blog/gluten-spark/&quot;&gt;Gluten Intro Article on Kyligence.io (Chinese)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://engineering.fb.com/2023/03/09/open-source/velox-open-source-execution-engine/&quot;&gt;Velox Intro from Meta&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;5. Contribution&lt;/h2&gt; 
&lt;p&gt;Welcome to contribute to the Gluten project! See &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for guidelines on how to make contributions.&lt;/p&gt; 
&lt;h2&gt;6. Community&lt;/h2&gt; 
&lt;p&gt;Here are several ways to connect with the community.&lt;/p&gt; 
&lt;h3&gt;GitHub&lt;/h3&gt; 
&lt;p&gt;Welcome to report issues or start discussions in GitHub. Please search the GitHub issue list before creating a new one to avoid duplication.&lt;/p&gt; 
&lt;h3&gt;Mailing List&lt;/h3&gt; 
&lt;p&gt;For any technical discussions, please email &lt;a href=&quot;mailto:dev@gluten.apache.org&quot;&gt;dev@gluten.apache.org&lt;/a&gt;. You can browse the &lt;a href=&quot;https://lists.apache.org/list.html?dev@gluten.apache.org&quot;&gt;archives&lt;/a&gt; to view past discussions, or &lt;a href=&quot;mailto:dev-subscribe@gluten.apache.org&quot;&gt;subscribe to the mailing list&lt;/a&gt; to receive updates.&lt;/p&gt; 
&lt;h3&gt;Slack Channel (English)&lt;/h3&gt; 
&lt;p&gt;Request an invitation to the ASF Slack workspace via &lt;a href=&quot;https://github.com/apache/gluten/discussions/8429&quot;&gt;this page&lt;/a&gt;. Once invited, you can join the &lt;strong&gt;gluten&lt;/strong&gt; channel.&lt;/p&gt; 
&lt;p&gt;The ASF Slack login entry: &lt;a href=&quot;https://the-asf.slack.com/&quot;&gt;https://the-asf.slack.com/&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;WeChat Group (Chinese)&lt;/h3&gt; 
&lt;p&gt;Please contact weitingchen at &lt;a href=&quot;http://apache.org&quot;&gt;apache.org&lt;/a&gt; or zhangzc at &lt;a href=&quot;http://apache.org&quot;&gt;apache.org&lt;/a&gt; to request an invitation to the WeChat group. It is for Chinese-language communication.&lt;/p&gt; 
&lt;h2&gt;7. Performance&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/tools/workload/tpch&quot;&gt;TPC-H&lt;/a&gt; is used to evaluate Gluten&#39;s performance. Please note that the results below do not reflect the latest performance.&lt;/p&gt; 
&lt;h3&gt;Velox Backend&lt;/h3&gt; 
&lt;p&gt;The Gluten Velox backend demonstrated an overall speedup of 2.71x, with up to a 14.53x speedup observed in a single query.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/image/velox_decision_support_bench1_22queries_performance.png&quot; alt=&quot;Performance&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;sub&gt;Tested in Jun. 2023. Test environment: single node with 2TB data, using Spark 3.3.2 as the baseline and with Gluten integrated into the same Spark version.&lt;/sub&gt;&lt;/p&gt; 
&lt;h3&gt;ClickHouse Backend&lt;/h3&gt; 
&lt;p&gt;ClickHouse backend demonstrated an average speedup of 2.12x, with up to 3.48x speedup observed in a single query.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/gluten/main/docs/image/clickhouse_decision_support_bench1_22queries_performance.png&quot; alt=&quot;Performance&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;sub&gt;Test environment: a 8-nodes AWS cluster with 1TB data, using Spark 3.1.1 as the baseline and with Gluten integrated into the same Spark version.&lt;/sub&gt;&lt;/p&gt; 
&lt;h2&gt;8. Qualification Tool&lt;/h2&gt; 
&lt;p&gt;The &lt;a href=&quot;https://raw.githubusercontent.com/apache/gluten/main/tools/qualification-tool/README.md&quot;&gt;Qualification Tool&lt;/a&gt; is a utility to analyze Spark event log files and assess the compatibility and performance of SQL workloads with Gluten. This tool helps users understand how their workloads can benefit from Gluten.&lt;/p&gt; 
&lt;h2&gt;9. License&lt;/h2&gt; 
&lt;p&gt;Gluten is licensed under &lt;a href=&quot;https://www.apache.org/licenses/LICENSE-2.0&quot;&gt;Apache License Version 2.0&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;10. Acknowledgements&lt;/h2&gt; 
&lt;p&gt;Gluten was initiated by Intel and Kyligence in 2022 and became an Apache Top-Level Project in March 2026. Several other companies are also actively contributing to its development, including BIGO, Meituan, Alibaba Cloud, NetEase, Baidu, Microsoft, IBM, Google, and others.&lt;/p&gt; 
&lt;a href=&quot;https://github.com/apache/gluten/graphs/contributors&quot;&gt; &lt;img src=&quot;https://contrib.rocks/image?repo=apache/gluten&amp;amp;columns=25&quot; /&gt; &lt;/a&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/d0528de2403587f25da2f0fe87b93d7e5ce18f40bcd19cc9ef1ba5e6f44028c1/apache/gluten" medium="image" />
      
    </item>
    
    <item>
      <title>NVIDIA/cudf-spark</title>
      <link>https://github.com/NVIDIA/cudf-spark</link>
      <description>&lt;p&gt;NVIDIA cuDF for Apache Spark plugin - accelerate Apache Spark with GPUs&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;NVIDIA cuDF plugin for Apache Spark&lt;/h1&gt; 
&lt;p&gt;NOTE: For the latest stable &lt;a href=&quot;https://github.com/nvidia/cudf-spark/raw/main/README.md&quot;&gt;README.md&lt;/a&gt; ensure you are on the main branch.&lt;/p&gt; 
&lt;p&gt;The NVIDIA cuDF plugin for &lt;a href=&quot;https://spark.apache.org&quot;&gt;Apache Spark&lt;/a&gt; provides a plugin library that leverages GPUs to accelerate processing via the &lt;a href=&quot;https://github.com/rapidsai/cudf&quot;&gt;cuDF&lt;/a&gt; (CUDA DataFrame) libraries.&lt;/p&gt; 
&lt;p&gt;Documentation on the current release can be found &lt;a href=&quot;https://nvidia.github.io/cudf-spark/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;To get started and try the plugin out use the &lt;a href=&quot;https://docs.nvidia.com/spark-rapids/user-guide/latest/getting-started/overview.html&quot;&gt;getting started guide&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://deepwiki.com/NVIDIA/cudf-spark&quot;&gt;&lt;img src=&quot;https://deepwiki.com/badge.svg?sanitize=true&quot; alt=&quot;Ask DeepWiki&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Note: The NVIDIA cuDF plugin for Apache Spark was formerly known as the RAPIDS Accelerator for Apache Spark. The RAPIDS name will be sunset over time. Github links from &lt;code&gt;spark-rapids&lt;/code&gt; will redirect to &lt;code&gt;cudf-spark&lt;/code&gt;. Artifact names will remain the same for now.&lt;/p&gt; 
&lt;h2&gt;Compatibility&lt;/h2&gt; 
&lt;p&gt;The SQL plugin tries to produce results that are bit for bit identical with Apache Spark. Operator compatibility is documented &lt;a href=&quot;https://raw.githubusercontent.com/NVIDIA/cudf-spark/main/docs/compatibility.md&quot;&gt;here&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Tuning&lt;/h2&gt; 
&lt;p&gt;To get started tuning your job and get the most performance out of it please start with the &lt;a href=&quot;https://docs.nvidia.com/spark-rapids/user-guide/latest/tuning-guide.html&quot;&gt;tuning guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Configuration&lt;/h2&gt; 
&lt;p&gt;The plugin has a set of Spark configs that control its behavior and are documented &lt;a href=&quot;https://raw.githubusercontent.com/NVIDIA/cudf-spark/main/docs/configs.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Issues &amp;amp; Questions&lt;/h2&gt; 
&lt;p&gt;We use github to track bugs, feature requests, and answer questions. File an &lt;a href=&quot;https://github.com/NVIDIA/cudf-spark/issues/new/choose&quot;&gt;issue&lt;/a&gt; for a bug or feature request. Ask or answer a question on the &lt;a href=&quot;https://github.com/NVIDIA/cudf-spark/discussions&quot;&gt;discussion board&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Download&lt;/h2&gt; 
&lt;p&gt;The jar files for the most recent release can be retrieved from the &lt;a href=&quot;https://nvidia.github.io/cudf-spark/docs/download.html&quot;&gt;download&lt;/a&gt; page.&lt;/p&gt; 
&lt;h2&gt;Building From Source&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://raw.githubusercontent.com/NVIDIA/cudf-spark/main/CONTRIBUTING.md#building-from-source&quot;&gt;build instructions in the contributing guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Testing&lt;/h2&gt; 
&lt;p&gt;Tests are described &lt;a href=&quot;https://raw.githubusercontent.com/NVIDIA/cudf-spark/main/tests/README.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Integration&lt;/h2&gt; 
&lt;p&gt;The cuDF plugin provides some APIs for doing zero copy data transfer into other GPU enabled applications. It is described &lt;a href=&quot;https://docs.nvidia.com/spark-rapids/user-guide/latest/additional-functionality/ml-integration.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Currently, we are working with XGBoost to try to provide this integration out of the box.&lt;/p&gt; 
&lt;p&gt;You may need to disable RMM caching when exporting data to an ML library as that library will likely want to use all of the GPU&#39;s memory and if it is not aware of RMM it will not have access to any of the memory that RMM is holding.&lt;/p&gt; 
&lt;h2&gt;Qualification and Profiling tools&lt;/h2&gt; 
&lt;p&gt;The Qualification and Profiling tools have been moved to &lt;a href=&quot;https://github.com/NVIDIA/spark-rapids-tools&quot;&gt;nvidia/spark-rapids-tools&lt;/a&gt; repo.&lt;/p&gt; 
&lt;p&gt;Please refer to &lt;a href=&quot;https://docs.nvidia.com/spark-rapids/user-guide/latest/qualification/overview.html&quot;&gt;Qualification tool documentation&lt;/a&gt; and &lt;a href=&quot;https://docs.nvidia.com/spark-rapids/user-guide/latest/profiling/overview.html&quot;&gt;Profiling tool documentation&lt;/a&gt; for more details on how to use the tools.&lt;/p&gt; 
&lt;h2&gt;Dependency for External Projects&lt;/h2&gt; 
&lt;p&gt;If you develop functionality on top of the cuDF plugin (we currently limit support to GPU-accelerated UDFs) we recommend you declare the distribution artifact as a &lt;code&gt;provided&lt;/code&gt; dependency.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-xml&quot;&gt;&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;com.nvidia&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;rapids-4-spark_2.12&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;26.10.0-SNAPSHOT&amp;lt;/version&amp;gt;
    &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
&amp;lt;/dependency&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/3ddf9d7ed630dc706b2e7418cc2fb901a458b07bd36ed23c48c4262906adc08c/NVIDIA/cudf-spark" medium="image" />
      
    </item>
    
    <item>
      <title>delta-io/delta</title>
      <link>https://github.com/delta-io/delta</link>
      <description>&lt;p&gt;An open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark, PrestoDB, Flink, Trino, and Hive and APIs&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/delta-io/delta/master/docs/src/assets/delta-lake-logo-light.svg?sanitize=true&quot; width=&quot;200&quot; alt=&quot;Delta Lake Logo&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/delta-io/delta/actions/workflows/test.yaml&quot;&gt;&lt;img src=&quot;https://github.com/delta-io/delta/actions/workflows/test.yaml/badge.svg?sanitize=true&quot; alt=&quot;Test&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/delta-io/delta/raw/master/LICENSE.txt&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-Apache%202-brightgreen.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://pypi.org/project/delta-spark/&quot;&gt;&lt;img src=&quot;https://img.shields.io/pypi/v/delta-spark.svg?sanitize=true&quot; alt=&quot;PyPI&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://pypistats.org/packages/delta-spark&quot;&gt;&lt;img src=&quot;https://img.shields.io/pypi/dm/delta-spark&quot; alt=&quot;PyPI - Downloads&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Delta Lake is an open-source storage framework that enables building a &lt;a href=&quot;http://cidrdb.org/cidr2021/papers/cidr2021_paper17.pdf&quot;&gt;Lakehouse architecture&lt;/a&gt; with compute engines including Spark, PrestoDB, Flink, Trino, and Hive and APIs for Scala, Java, Rust, Ruby, and Python.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;See the &lt;a href=&quot;https://docs.delta.io&quot;&gt;Delta Lake Documentation&lt;/a&gt; for details.&lt;/li&gt; 
 &lt;li&gt;See the &lt;a href=&quot;https://docs.delta.io/latest/quick-start.html&quot;&gt;Quick Start Guide&lt;/a&gt; to get started with Scala, Java and Python.&lt;/li&gt; 
 &lt;li&gt;Note, this repo is one of many Delta Lake repositories in the &lt;a href=&quot;https://github.com/delta-io&quot;&gt;delta.io&lt;/a&gt; organizations including &lt;a href=&quot;https://github.com/delta-io/delta&quot;&gt;delta&lt;/a&gt;, &lt;a href=&quot;https://github.com/delta-io/delta-rs&quot;&gt;delta-rs&lt;/a&gt;, &lt;a href=&quot;https://github.com/delta-io/delta-sharing&quot;&gt;delta-sharing&lt;/a&gt;, &lt;a href=&quot;https://github.com/delta-io/kafka-delta-ingest&quot;&gt;kafka-delta-ingest&lt;/a&gt;, and &lt;a href=&quot;https://github.com/delta-io/website&quot;&gt;website&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The following are some of the more popular Delta Lake integrations, refer to &lt;a href=&quot;https://delta.io/integrations/&quot;&gt;delta.io/integrations&lt;/a&gt; for the complete list:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.delta.io/&quot;&gt;Apache Spark™&lt;/a&gt;: This connector allows Apache Spark™ to read from and write to Delta Lake.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/delta-io/delta/tree/master/connectors/flink&quot;&gt;Apache Flink (Preview)&lt;/a&gt;: This connector allows Apache Flink to write to Delta Lake.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://prestodb.io/docs/current/connector/deltalake.html&quot;&gt;PrestoDB&lt;/a&gt;: This connector allows PrestoDB to read from Delta Lake.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://trino.io/docs/current/connector/delta-lake.html&quot;&gt;Trino&lt;/a&gt;: This connector allows Trino to read from and write to Delta Lake.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.delta.io/latest/delta-standalone.html&quot;&gt;Delta Standalone&lt;/a&gt;: This library allows Scala and Java-based projects (including Apache Flink, Apache Hive, Apache Beam, and PrestoDB) to read from and write to Delta Lake.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.delta.io/latest/hive-integration.html&quot;&gt;Apache Hive&lt;/a&gt;: This connector allows Apache Hive to read from Delta Lake.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.rs/deltalake/latest/deltalake/&quot;&gt;Delta Rust API&lt;/a&gt;: This library allows Rust (with Python and Ruby bindings) low level access to Delta tables and is intended to be used with data processing frameworks like datafusion, ballista, rust-dataframe, vega, etc.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;br /&gt; 
&lt;details&gt; 
 &lt;summary&gt;&lt;strong&gt;&lt;em&gt;Table of Contents&lt;/em&gt;&lt;/strong&gt;&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#latest-binaries&quot;&gt;Latest binaries&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#api-documentation&quot;&gt;API Documentation&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#compatibility&quot;&gt;Compatibility&lt;/a&gt; 
   &lt;ul&gt; 
    &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#api-compatibility&quot;&gt;API Compatibility&lt;/a&gt;&lt;/li&gt; 
    &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#data-storage-compatibility&quot;&gt;Data Storage Compatibility&lt;/a&gt;&lt;/li&gt; 
   &lt;/ul&gt; &lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#roadmap&quot;&gt;Roadmap&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#building&quot;&gt;Building&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#transaction-protocol&quot;&gt;Transaction Protocol&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#requirements-for-underlying-storage-systems&quot;&gt;Requirements for Underlying Storage Systems&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#concurrency-control&quot;&gt;Concurrency Control&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#reporting-issues&quot;&gt;Reporting issues&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#contributing&quot;&gt;Contributing&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#license&quot;&gt;License&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#community&quot;&gt;Community&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;h2&gt;Latest Binaries&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://docs.delta.io/latest/&quot;&gt;online documentation&lt;/a&gt; for the latest release.&lt;/p&gt; 
&lt;h2&gt;API Documentation&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.delta.io/latest/delta-apidoc.html&quot;&gt;Scala API docs&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.delta.io/latest/api/java/index.html&quot;&gt;Java API docs&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.delta.io/latest/api/python/index.html&quot;&gt;Python API docs&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Compatibility&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://docs.delta.io/latest/delta-standalone.html&quot;&gt;Delta Standalone&lt;/a&gt; library is a single-node Java library that can be used to read from and write to Delta tables. Specifically, this library provides APIs to interact with a table’s metadata in the transaction log, implementing the Delta Transaction Log Protocol to achieve the transactional guarantees of the Delta Lake format.&lt;/p&gt; 
&lt;h3&gt;API Compatibility&lt;/h3&gt; 
&lt;p&gt;There are two types of APIs provided by the Delta Lake project.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Direct Java/Scala/Python APIs - The classes and methods documented in the &lt;a href=&quot;https://docs.delta.io/latest/delta-apidoc.html&quot;&gt;API docs&lt;/a&gt; are considered as stable public APIs. All other classes, interfaces, methods that may be directly accessible in code are considered internal, and they are subject to change across releases.&lt;/li&gt; 
 &lt;li&gt;Spark-based APIs - You can read Delta tables through the &lt;code&gt;DataFrameReader&lt;/code&gt;/&lt;code&gt;Writer&lt;/code&gt; (i.e. &lt;code&gt;spark.read&lt;/code&gt;, &lt;code&gt;df.write&lt;/code&gt;, &lt;code&gt;spark.readStream&lt;/code&gt; and &lt;code&gt;df.writeStream&lt;/code&gt;). Options to these APIs will remain stable within a major release of Delta Lake (e.g., 1.x.x).&lt;/li&gt; 
 &lt;li&gt;See the &lt;a href=&quot;https://docs.delta.io/latest/releases.html&quot;&gt;online documentation&lt;/a&gt; for the releases and their compatibility with Apache Spark versions.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Data Storage Compatibility&lt;/h3&gt; 
&lt;p&gt;Delta Lake guarantees backward compatibility for all Delta Lake tables (i.e., newer versions of Delta Lake will always be able to read tables written by older versions of Delta Lake). However, we reserve the right to break forward compatibility as new features are introduced to the transaction protocol (i.e., an older version of Delta Lake may not be able to read a table produced by a newer version).&lt;/p&gt; 
&lt;p&gt;Breaking changes in the protocol are indicated by incrementing the minimum reader/writer version in the &lt;code&gt;Protocol&lt;/code&gt; &lt;a href=&quot;https://github.com/delta-io/delta/raw/master/spark/src/test/scala/org/apache/spark/sql/delta/ActionSerializerSuite.scala&quot;&gt;action&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Roadmap&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;For the high-level Delta Lake roadmap, see &lt;a href=&quot;http://delta.io/roadmap&quot;&gt;Delta Lake 2022H1 roadmap&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;For the detailed timeline, see the &lt;a href=&quot;https://github.com/delta-io/delta/milestones&quot;&gt;project roadmap&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Transaction Protocol&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/PROTOCOL.md&quot;&gt;Delta Transaction Log Protocol&lt;/a&gt; document provides a specification of the transaction protocol.&lt;/p&gt; 
&lt;h2&gt;Requirements for Underlying Storage Systems&lt;/h2&gt; 
&lt;p&gt;Delta Lake ACID guarantees are predicated on the atomicity and durability guarantees of the storage system. Specifically, we require the storage system to provide the following.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;&lt;strong&gt;Atomic visibility&lt;/strong&gt;: There must be a way for a file to be visible in its entirety or not visible at all.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Mutual exclusion&lt;/strong&gt;: Only one writer must be able to create (or rename) a file at the final destination.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Consistent listing&lt;/strong&gt;: Once a file has been written in a directory, all future listings for that directory must return that file.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://docs.delta.io/latest/delta-storage.html&quot;&gt;online documentation on Storage Configuration&lt;/a&gt; for details.&lt;/p&gt; 
&lt;h2&gt;Concurrency Control&lt;/h2&gt; 
&lt;p&gt;Delta Lake ensures &lt;em&gt;serializability&lt;/em&gt; for concurrent reads and writes. Please see &lt;a href=&quot;https://docs.delta.io/concurrency-control/&quot;&gt;Delta Lake Concurrency Control&lt;/a&gt; for more details.&lt;/p&gt; 
&lt;h2&gt;Reporting issues&lt;/h2&gt; 
&lt;p&gt;We use &lt;a href=&quot;https://github.com/delta-io/delta/issues&quot;&gt;GitHub Issues&lt;/a&gt; to track community reported issues. You can also &lt;a href=&quot;https://raw.githubusercontent.com/delta-io/delta/master/#community&quot;&gt;contact&lt;/a&gt; the community for getting answers.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We welcome contributions to Delta Lake. See our &lt;a href=&quot;https://github.com/delta-io/delta/raw/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for more details.&lt;/p&gt; 
&lt;p&gt;We also adhere to the &lt;a href=&quot;https://github.com/delta-io/delta/raw/master/CODE_OF_CONDUCT.md&quot;&gt;Delta Lake Code of Conduct&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Building&lt;/h2&gt; 
&lt;p&gt;Delta Lake is compiled using &lt;a href=&quot;https://www.scala-sbt.org/1.x/docs/Command-Line-Reference.html&quot;&gt;SBT&lt;/a&gt;. Ensure that your Java version is at least 17 (you can verify with &lt;code&gt;java -version&lt;/code&gt;).&lt;/p&gt; 
&lt;p&gt;To compile, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;build/sbt compile
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To generate artifacts, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;build/sbt package
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To execute tests, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;build/sbt test
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To execute a single test suite, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;build/sbt spark/&#39;testOnly org.apache.spark.sql.delta.optimize.OptimizeCompactionSQLSuite&#39;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To execute a single test within and a single test suite, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;build/sbt spark/&#39;testOnly *.OptimizeCompactionSQLSuite -- -z &quot;optimize command: on partitioned table - all partitions&quot;&#39;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Refer to &lt;a href=&quot;https://www.scala-sbt.org/1.x/docs/Command-Line-Reference.html&quot;&gt;SBT docs&lt;/a&gt; for more commands.&lt;/p&gt; 
&lt;h2&gt;Running python tests locally&lt;/h2&gt; 
&lt;h3&gt;Setup Environment&lt;/h3&gt; 
&lt;h4&gt;Install Conda (Skip if you already installed it)&lt;/h4&gt; 
&lt;p&gt;Follow &lt;a href=&quot;https://www.anaconda.com/download/&quot;&gt;Conda Download&lt;/a&gt; to install Anaconda.&lt;/p&gt; 
&lt;h4&gt;Create an environment from environment file&lt;/h4&gt; 
&lt;p&gt;Follow &lt;a href=&quot;https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#create-env-from-file&quot;&gt;Create Environment From Environment file&lt;/a&gt; to create a Conda environment from &lt;code&gt;&amp;lt;repo-root&amp;gt;/python/environment.yml&lt;/code&gt; and activate the newly created &lt;code&gt;delta_python_tests&lt;/code&gt; environment.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;# Note the `--file` argument should be a fully qualified path. Using `~` in file
# path doesn&#39;t work. Example valid path: `/Users/macuser/delta/python/environment.yml`

conda env create --name delta_python_tests --file=&amp;lt;absolute_path_to_delta_repo&amp;gt;/python/environment.yml`
&lt;/code&gt;&lt;/pre&gt; 
&lt;h4&gt;JDK Setup&lt;/h4&gt; 
&lt;p&gt;Build needs JDK 11. Make sure to setup &lt;code&gt;JAVA_HOME&lt;/code&gt; that points to JDK 11.&lt;/p&gt; 
&lt;h4&gt;Running tests&lt;/h4&gt; 
&lt;pre&gt;&lt;code&gt;conda activate delta_python_tests
python3 &amp;lt;delta-root&amp;gt;/python/run-tests.py
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;IntelliJ Setup&lt;/h2&gt; 
&lt;p&gt;IntelliJ is the recommended IDE to use when developing Delta Lake. To import Delta Lake as a new project:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Clone Delta Lake into, for example, &lt;code&gt;~/delta&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;In IntelliJ, select &lt;code&gt;File&lt;/code&gt; &amp;gt; &lt;code&gt;New Project&lt;/code&gt; &amp;gt; &lt;code&gt;Project from Existing Sources...&lt;/code&gt; and select &lt;code&gt;~/delta&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Under &lt;code&gt;Import project from external model&lt;/code&gt; select &lt;code&gt;sbt&lt;/code&gt;. Click &lt;code&gt;Next&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Under &lt;code&gt;Project JDK&lt;/code&gt; specify a valid Java &lt;code&gt;11&lt;/code&gt; JDK and opt to use SBT shell for &lt;code&gt;project reload&lt;/code&gt; and &lt;code&gt;builds&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Click &lt;code&gt;Finish&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;In your terminal, run &lt;code&gt;build/sbt clean package&lt;/code&gt;. Make sure you use Java &lt;code&gt;11&lt;/code&gt;. The build will generate files that are necessary for Intellij to index the repository.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Setup Verification&lt;/h3&gt; 
&lt;p&gt;After waiting for IntelliJ to index, verify your setup by running a test suite in IntelliJ.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Search for and open &lt;code&gt;DeltaLogSuite&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Next to the class declaration, right click on the two green arrows and select &lt;code&gt;Run &#39;DeltaLogSuite&#39;&lt;/code&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Troubleshooting&lt;/h3&gt; 
&lt;p&gt;If you see errors of the form&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Error:(46, 28) object DeltaSqlBaseParser is not a member of package io.delta.sql.parser
import io.delta.sql.parser.DeltaSqlBaseParser._
...
Error:(91, 22) not found: type DeltaSqlBaseParser
    val parser = new DeltaSqlBaseParser(tokenStream)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;then follow these steps:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Ensure you are using Java &lt;code&gt;11&lt;/code&gt;. You can set this using&lt;/li&gt; 
&lt;/ol&gt; 
&lt;pre&gt;&lt;code&gt;export JAVA_HOME=`/usr/libexec/java_home -v 11`
&lt;/code&gt;&lt;/pre&gt; 
&lt;ol start=&quot;2&quot;&gt; 
 &lt;li&gt;Compile using the SBT CLI: &lt;code&gt;build/sbt clean compile&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Go to &lt;code&gt;File&lt;/code&gt; &amp;gt; &lt;code&gt;Project Structure...&lt;/code&gt; &amp;gt; &lt;code&gt;Modules&lt;/code&gt; &amp;gt; &lt;code&gt;delta-spark&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;In the right panel under &lt;code&gt;Source Folders&lt;/code&gt; remove any &lt;code&gt;target&lt;/code&gt; folders, e.g. &lt;code&gt;target/scala-2.12/src_managed/main [generated]&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Click &lt;code&gt;Apply&lt;/code&gt; and then re-run your test.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Apache License 2.0, see &lt;a href=&quot;https://github.com/delta-io/delta/raw/master/LICENSE.txt&quot;&gt;LICENSE&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Community&lt;/h2&gt; 
&lt;p&gt;There are two mediums of communication within the Delta Lake community.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Public Slack Channel 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://go.delta.io/slack&quot;&gt;Register here&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://delta-users.slack.com/&quot;&gt;Login here&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/company/deltalake&quot;&gt;Linkedin page&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/deltalake&quot;&gt;Youtube channel&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Public &lt;a href=&quot;https://groups.google.com/forum/#!forum/delta-users&quot;&gt;Mailing list&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/1bcf06bcc92eee2c6330e652c1b18752703bc36401940eedece6b2877f114dd2/delta-io/delta" medium="image" />
      
    </item>
    
    <item>
      <title>sbt/sbt</title>
      <link>https://github.com/sbt/sbt</link>
      <description>&lt;p&gt;sbt, the interactive build tool&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/sbt/sbt/actions/workflows/ci.yml&quot;&gt;&lt;img src=&quot;https://github.com/sbt/sbt/actions/workflows/ci.yml/badge.svg?sanitize=true&quot; alt=&quot;CI&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://index.scala-lang.org/sbt/sbt&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/tag/sbt/sbt.svg?sanitize=true&quot; alt=&quot;Latest version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.com/channels/632150470000902164/922600050989875282&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/632150470000902164?label=Discord%20%23sbt&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;sbt&lt;/h1&gt; 
&lt;p&gt;sbt is a build tool for Scala, Java, and more.&lt;/p&gt; 
&lt;p&gt;For general documentation, see &lt;a href=&quot;https://www.scala-sbt.org/&quot;&gt;https://www.scala-sbt.org/&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;sbt 2.x&lt;/h2&gt; 
&lt;p&gt;This is the 2.x series of sbt. The source code of sbt is split across several GitHub repositories, including this one.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sbt/io&quot;&gt;sbt/io&lt;/a&gt; hosts &lt;code&gt;sbt.io&lt;/code&gt; module.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sbt/zinc&quot;&gt;sbt/zinc&lt;/a&gt; hosts Zinc, an incremental compiler for Scala.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sbt/sbt&quot;&gt;sbt/sbt&lt;/a&gt;, this repository hosts modules that implement the build tool.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Other links&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.scala-sbt.org/release/docs/Getting-Started/Setup&quot;&gt;Setup&lt;/a&gt;: Describes getting started with the latest binary release.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.scala-sbt.org/release/docs/Faq.html&quot;&gt;FAQ&lt;/a&gt;: Explains how to get help and more.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sbt/sbt-zero-seven&quot;&gt;sbt/sbt-zero-seven&lt;/a&gt;: hosts sbt 0.7.7 and earlier versions&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Issues and Pull Requests&lt;/h2&gt; 
&lt;p&gt;Please read &lt;a href=&quot;https://raw.githubusercontent.com/sbt/sbt/develop/CONTRIBUTING.md&quot;&gt;CONTRIBUTING&lt;/a&gt; carefully before opening a GitHub Issue or a pull request.&lt;/p&gt; 
&lt;p&gt;If you&#39;re looking for an idea for a contribution, issues labeled with &lt;a href=&quot;https://github.com/sbt/sbt/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22&quot;&gt;good first issue&lt;/a&gt; or &lt;a href=&quot;https://github.com/sbt/sbt/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22&quot;&gt;help wanted&lt;/a&gt; might be good starting points.&lt;/p&gt; 
&lt;p&gt;If you would like to ask questions about sbt, there&#39;s &lt;a href=&quot;https://discord.com/invite/scala&quot;&gt;sbt channel on Scala Discord&lt;/a&gt;, but it would be good to gather questions on &lt;a href=&quot;https://stackoverflow.com/questions/tagged/sbt&quot;&gt;Stackoverflow&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;license&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/sbt/sbt/develop/LICENSE&quot;&gt;LICENSE&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/0520c50d0e7cba03e896b0a15e597be798675651a131a845855a930608c81205/sbt/sbt" medium="image" />
      
    </item>
    
    <item>
      <title>http4s/http4s</title>
      <link>https://github.com/http4s/http4s</link>
      <description>&lt;p&gt;A minimal, idiomatic Scala interface for HTTP&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Http4s &lt;a href=&quot;https://github.com/http4s/http4s/actions?query=branch%3Aseries%2F0.23+workflow%3A%22Continuous+Integration%22&quot;&gt;&lt;img src=&quot;https://github.com/http4s/http4s/workflows/Continuous%20Integration/badge.svg?branch=series/0.23&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://img.shields.io/maven-central/v/org.http4s/http4s-core_2.13?versionPrefix=0.23&quot;&gt;&lt;img src=&quot;https://img.shields.io/maven-central/v/org.http4s/http4s-core_2.13?versionPrefix=0.23&quot; alt=&quot;Maven Central&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://typelevel.org/projects/#http4s&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/typelevel-library-green.svg?sanitize=true&quot; alt=&quot;Typelevel library&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://typelevel.org/cats/&quot;&gt;&lt;img src=&quot;https://typelevel.org/cats/img/cats-badge.svg?sanitize=true&quot; height=&quot;40px&quot; align=&quot;right&quot; alt=&quot;Cats friendly&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;p&gt;Http4s is a minimal, idiomatic Scala interface for HTTP services. Http4s is Scala&#39;s answer to Ruby&#39;s Rack, Python&#39;s WSGI, Haskell&#39;s WAI, and Java&#39;s Servlets.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;val http = HttpRoutes.of {
  case GET -&amp;gt; Root / &quot;hello&quot; =&amp;gt;
    Ok(&quot;Hello, better world.&quot;)
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Learn more at &lt;a href=&quot;https://http4s.org/&quot;&gt;http4s.org&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;If you run into any difficulties please enable partial unification in your &lt;code&gt;build.sbt&lt;/code&gt; (not needed for Scala 2.13 and beyond, because Scala 2.13.0+ has partial unification switched on by default)&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;scalacOptions ++= Seq(&quot;-Ypartial-unification&quot;)
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Requirements&lt;/h2&gt; 
&lt;p&gt;Running the &lt;strong&gt;blaze&lt;/strong&gt; backend requires a modern, supported version of the JVM to build and run, as it relies on server APIs unavailable before JDK8u252. Any JDK newer than JDK8u252, including 9+ is supported.&lt;/p&gt; 
&lt;h2&gt;Code of Conduct&lt;/h2&gt; 
&lt;p&gt;http4s is proud to be a &lt;a href=&quot;https://typelevel.org/&quot;&gt;Typelevel&lt;/a&gt; project. We are committed to providing a friendly, safe and welcoming environment for all, and ask that the community adhere to the &lt;a href=&quot;https://http4s.org/code-of-conduct/&quot;&gt;Scala Code of Conduct&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;This software is licensed under the Apache 2 license, quoted below.&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;Copyright 2013-2021 http4s [&lt;a href=&quot;https://http4s.org/&quot;&gt;https://http4s.org&lt;/a&gt;]&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;[&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;]&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;Acknowledgments&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.yourkit.com/&quot;&gt;&lt;img src=&quot;https://www.yourkit.com/images/yklogo.png&quot; alt=&quot;YourKit&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Special thanks to &lt;a href=&quot;https://www.yourkit.com/&quot;&gt;YourKit&lt;/a&gt; for supporting this project&#39;s ongoing performance tuning efforts with licenses to their excellent product.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/952c3fb3146a51f984caad5a905f3166f49f15aa5781e194004e3a903a1a1537/http4s/http4s" medium="image" />
      
    </item>
    
    <item>
      <title>akka/akka-core</title>
      <link>https://github.com/akka/akka-core</link>
      <description>&lt;p&gt;A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Akka&lt;/h1&gt; 
&lt;p&gt;&lt;em&gt;Akka is a powerful platform that simplifies building and operating highly responsive, resilient, and scalable services.&lt;/em&gt;&lt;/p&gt; 
&lt;p&gt;The platform consists of&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;the &lt;a href=&quot;https://doc.akka.io/java/index.html&quot;&gt;&lt;strong&gt;Akka SDK&lt;/strong&gt;&lt;/a&gt; for straightforward, rapid development with AI assist and automatic clustering. Services built with the Akka SDK are automatically clustered and can be deployed on any infrastructure.&lt;/li&gt; 
 &lt;li&gt;and &lt;a href=&quot;https://doc.akka.io/operations/akka-platform.html&quot;&gt;&lt;strong&gt;Akka Automated Operations&lt;/strong&gt;&lt;/a&gt;, a managed solution that handles everything for Akka SDK services from auto-elasticity to multi-region high availability running safely within your VPC.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The &lt;strong&gt;Akka SDK&lt;/strong&gt; and &lt;strong&gt;Akka Automated Operations&lt;/strong&gt; are built upon the foundational &lt;a href=&quot;https://doc.akka.io/libraries/akka-dependencies/current/&quot;&gt;&lt;strong&gt;Akka libraries&lt;/strong&gt;&lt;/a&gt;, providing the building blocks for distributed systems.&lt;/p&gt; 
&lt;p&gt;Akka has been downloaded more than 1 billion times and has powered thousands of systems for over 15 years. Akka enables millions of concurrent users, terabyte stream processing, low-latency read/write data access, 99.9999% availability, and multi-region high availability and disaster recovery (HA/DR).&lt;/p&gt; 
&lt;p&gt;Akka is used to build agentic AI, AI inference, transactional, analytical, digital twin, IOT, and edge-to-cloud systems. It is simple to learn and operate. Akka creates production-ready systems without requiring prior knowledge of events, threading, or distributed systems.&lt;/p&gt; 
&lt;h1&gt;Akka core library&lt;/h1&gt; 
&lt;p&gt;The Akka core library provides:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Multi-threaded behavior without the use of low-level concurrency constructs like atomics or locks — relieving you from even thinking about memory visibility issues.&lt;/li&gt; 
 &lt;li&gt;Transparent remote communication between systems and their components — relieving you from writing and maintaining difficult networking code.&lt;/li&gt; 
 &lt;li&gt;A clustered, high-availability architecture that is elastic, scales in or out, on demand — enabling you to deliver a truly reactive system.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;At Akka&#39;s core is the actor model which provides a level of abstraction that makes it easier to write correct concurrent, parallel and distributed systems. The actor model spans the full set of Akka libraries, providing you with a consistent way of understanding and using them. Thus, Akka offers a depth of integration that you cannot achieve by picking libraries to solve individual problems and trying to piece them together.&lt;/p&gt; 
&lt;p&gt;Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. This model is a perfect match for the principles laid out in the &lt;a href=&quot;https://www.reactivemanifesto.org/&quot;&gt;Reactive Manifesto&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;For resilience, we adopt the &quot;Let it crash&quot; model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.&lt;/p&gt; 
&lt;p&gt;Akka actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.&lt;/p&gt; 
&lt;h2&gt;Reference Documentation&lt;/h2&gt; 
&lt;p&gt;The current versions of all Akka libraries are listed on the &lt;a href=&quot;https://doc.akka.io/libraries/akka-dependencies/current/&quot;&gt;Akka Dependencies&lt;/a&gt; page. Releases of the Akka core libraries in this repository are listed on the &lt;a href=&quot;https://github.com/akka/akka-core/releases&quot;&gt;GitHub releases&lt;/a&gt; page.&lt;/p&gt; 
&lt;p&gt;The reference documentation for all Akka libraries is available via &lt;a href=&quot;https://doc.akka.io/libraries/&quot;&gt;doc.akka.io/libraries/&lt;/a&gt;, details for the Akka core libraries for &lt;a href=&quot;https://doc.akka.io/libraries/akka-core/current/?language=scala&quot;&gt;Scala&lt;/a&gt; and &lt;a href=&quot;https://doc.akka.io/libraries/akka-core/current/?language=java&quot;&gt;Java&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The current versions of all Akka libraries are listed on the &lt;a href=&quot;https://doc.akka.io/libraries/akka-dependencies/current/&quot;&gt;Akka Dependencies&lt;/a&gt; page. Releases of the Akka core libraries in this repository are listed on the &lt;a href=&quot;https://github.com/akka/akka-core/releases&quot;&gt;GitHub releases&lt;/a&gt; page.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Contributions are &lt;em&gt;very&lt;/em&gt; welcome!&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;If you see an issue that you&#39;d like to see fixed, or want to shape out some ideas, the best way to make it happen is to help out by submitting a pull request implementing it. We welcome contributions from all, even you are not yet familiar with this project, We are happy to get you started, and will guide you through the process once you&#39;ve submitted your PR.&lt;/p&gt; 
&lt;p&gt;Refer to the &lt;a href=&quot;https://github.com/akka/akka-core/raw/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly, or in the akka/dev chat if a more real time communication would be of benefit.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Akka is licensed under the Business Source License 1.1, please see the &lt;a href=&quot;https://akka.io/bsl-license-faq&quot;&gt;Akka License FAQ&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Tests and documentation are under a separate license, see the LICENSE file in each documentation and test root directory for details.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/130013/30fed208-ff93-41d1-8056-4721c72c829a" medium="image" />
      
    </item>
    
    <item>
      <title>zio/zio</title>
      <link>https://github.com/zio/zio</link>
      <description>&lt;p&gt;ZIO — A type-safe, composable library for async and concurrent programming in Scala&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/ZIO.png&quot; alt=&quot;ZIO Logo&quot; /&gt;&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Project Stage&lt;/th&gt; 
   &lt;th&gt;CI&lt;/th&gt; 
   &lt;th&gt;Release&lt;/th&gt; 
   &lt;th&gt;Snapshot&lt;/th&gt; 
   &lt;th&gt;Issues&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/zio/zio/wiki/Project-Stages&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Project%20Stage-Production%20Ready-brightgreen.svg?sanitize=true&quot; alt=&quot;Project stage&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;img src=&quot;https://github.com/zio/zio/workflows/CI/badge.svg?sanitize=true&quot; alt=&quot;CI&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://oss.sonatype.org/content/repositories/releases/dev/zio/zio_3/&quot; title=&quot;Sonatype Releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/maven-central/v/dev.zio/zio_3&quot; alt=&quot;Maven Central Version&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://oss.sonatype.org/content/repositories/snapshots/dev/zio/zio_3/&quot; title=&quot;Sonatype Snapshots&quot;&gt;&lt;img src=&quot;https://shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fcentral.sonatype.com%2Frepository%2Fmaven-snapshots%2Fdev%2Fzio%2Fzio_3%2Fmaven-metadata.xml&quot; alt=&quot;Snapshot Artifacts&quot; title=&quot;Sonatype Snapshots&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;http://isitmaintained.com/project/zio/zio&quot; title=&quot;Average time to resolve an issue&quot;&gt;&lt;img src=&quot;http://isitmaintained.com/badge/resolution/zio/zio.svg?sanitize=true&quot; alt=&quot;Average time to resolve an issue&quot; title=&quot;Average time to resolve an issue&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Scaladoc&lt;/th&gt; 
   &lt;th&gt;Scaladex&lt;/th&gt; 
   &lt;th&gt;Discord&lt;/th&gt; 
   &lt;th&gt;Twitter&lt;/th&gt; 
   &lt;th&gt;Gitpod&lt;/th&gt; 
   &lt;th&gt;Gurubase&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://javadoc.io/doc/dev.zio/zio_3/latest/zio/index.html&quot;&gt;Scaladoc&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://index.scala-lang.org/zio/zio/zio&quot; title=&quot;Scaladex&quot;&gt;&lt;img src=&quot;https://index.scala-lang.org/zio/zio/zio/latest.svg?sanitize=true&quot; alt=&quot;Badge-Scaladex-page&quot; title=&quot;Scaladex&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://discord.gg/2ccFBr4&quot; title=&quot;Discord&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/629491597070827530?logo=discord&quot; alt=&quot;Badge-Discord&quot; title=&quot;chat on discord&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://twitter.com/zioscala&quot;&gt;&lt;img src=&quot;https://img.shields.io/twitter/follow/zioscala.svg?style=plastic&amp;amp;label=follow&amp;amp;logo=twitter&quot; alt=&quot;Badge-Twitter&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://gitpod.io/#https://github.com/zio/zio&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod&quot; alt=&quot;Gitpod ready-to-code&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://gurubase.io/g/zio&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Gurubase-Ask%20ZIO%20Guru-006BFF&quot; alt=&quot;Gurubase&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h1&gt;Welcome to ZIO&lt;/h1&gt; 
&lt;p&gt;ZIO is a zero-dependency Scala library for asynchronous and concurrent programming.&lt;/p&gt; 
&lt;p&gt;Powered by highly-scalable, non-blocking fibers that never waste or leak resources, ZIO lets you build scalable, resilient, and reactive applications that meet the needs of your business.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;High-performance&lt;/strong&gt;. Build scalable applications with minimal runtime overhead.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Type-safe&lt;/strong&gt;. Use the full power of the Scala compiler to catch bugs at compile time.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Concurrent&lt;/strong&gt;. Easily build concurrent apps without deadlocks, race conditions, or complexity.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Asynchronous&lt;/strong&gt;. Write sequential code that looks the same whether it&#39;s asynchronous or synchronous.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Resource-safe&lt;/strong&gt;. Build apps that never leak resources (including threads!), even when they fail.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Testable&lt;/strong&gt;. Inject test services into your app for fast, deterministic, and type-safe testing.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Resilient&lt;/strong&gt;. Build apps that never lose errors, and which respond to failure locally and flexibly.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Functional&lt;/strong&gt;. Rapidly compose solutions to complex problems from simple building blocks.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;To learn more about ZIO, see the following references:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://zio.dev/&quot;&gt;Homepage&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/docs/contributor-guidelines.md&quot;&gt;Contributor&#39;s Guide&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/LICENSE&quot;&gt;License&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/zio/zio/issues&quot;&gt;Issues&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/zio/zio/pulls&quot;&gt;Pull Requests&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h1&gt;Adopters&lt;/h1&gt; 
&lt;p&gt;Following is a partial list of companies happily using ZIO in production to craft concurrent applications.&lt;/p&gt; 
&lt;p&gt;Want to see your company here? &lt;a href=&quot;https://github.com/zio/zio/edit/series/2.x/README.md&quot;&gt;Submit a PR&lt;/a&gt;!&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://adgear.com/en/&quot;&gt;AdGear / Samsung Ads&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.adidas.com/&quot;&gt;Adidas&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.adpulse.io/&quot;&gt;adpulse.io&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.adsquare.com/&quot;&gt;adsquare&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.amazon.com/&quot;&gt;Amazon&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.anduintransact.com/&quot;&gt;Anduin Transactions&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://anymindgroup.com&quot;&gt;AnyMind Group&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.ayolab.com/&quot;&gt;Ayolab&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://asana.com/&quot;&gt;Asana&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.aurinko.io/&quot;&gt;Aurinko&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://auto.ru&quot;&gt;auto.ru&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.autoscout24.de&quot;&gt;AutoScout24&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.avast.com&quot;&gt;Avast&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.bofa.com&quot;&gt;Bank of America&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.believe.com&quot;&gt;Believe&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.blueinsight.digital/&quot;&gt;Blue Insight Digital&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.bluelabs.eu/&quot;&gt;BlueLabs&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.bpp.it/&quot;&gt;Bpp&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://broad.app&quot;&gt;Broad&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.caesars.com/sportsbook-and-casino&quot;&gt;Caesars Digital&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.calcbank.com.br&quot;&gt;CalcBank&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.callhandling.co.uk/&quot;&gt;Call Handling&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.carvana.com&quot;&gt;Carvana&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.cellular.de&quot;&gt;Cellular&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://channelpilot.com/de&quot;&gt;ChannelPilot&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://chartboost.com&quot;&gt;Chartboost&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://cloudfarms.com&quot;&gt;Cloudfarms&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://codecomprehension.com&quot;&gt;CodeComprehension&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.codept.de/&quot;&gt;Codept&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.colisweb.com/en&quot;&gt;Colisweb&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.collibra.com/&quot;&gt;Collibra&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.compellon.com/&quot;&gt;Compellon&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.complicatedrobot.com/&quot;&gt;Complicated Robot&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.conduktor.io&quot;&gt;Conduktor&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.contramap.dev&quot;&gt;Contramap&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://coralogix.com&quot;&gt;Coralogix&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://creditkarma.com&quot;&gt;Credit Karma&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.currencycloud.com/&quot;&gt;CurrencyCloud&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://de-solution.com/&quot;&gt;D.E.Solution&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://dasch.swiss/&quot;&gt;DaSCH&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://datachef.co&quot;&gt;DataChef&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.demandbase.com&quot;&gt;Demandbase&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://demyst.com&quot;&gt;Demyst&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://devsisters.com/&quot;&gt;Devsisters&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.werkenbijdhl.nl/it&quot;&gt;DHL Parcel The Netherlands&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.disneyplus.com/&quot;&gt;Disney+ Streaming&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://doomoolmori.com/&quot;&gt;Doomoolmori&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.dowjones.com&quot;&gt;Dow Jones&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.dpgrecruitment.nl&quot;&gt;DPG recruitment&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://dream11.com&quot;&gt;Dream11&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://iot.telekom.com/en&quot;&gt;Deutsche Telekom IoT GmbH&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.ebay.com&quot;&gt;eBay&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.eaglescience.nl&quot;&gt;Eaglescience&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.edf.fr/&quot;&gt;Electricité de France (EDF)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.enelx.com&quot;&gt;EnelX&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://evolution.engineering&quot;&gt;Evolution&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://evo.company&quot;&gt;Evo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://flipp.com/&quot;&gt;Flipp&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.fugo.ai&quot;&gt;Fugo.ai&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.garnercorp.com/&quot;&gt;Garner Distributed Workflow&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.gleancompany.com&quot;&gt;Glean&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://grandparade.co.uk&quot;&gt;GrandParade&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://greyflower.media&quot;&gt;greyflower.media GmbH&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://hunters.ai&quot;&gt;Hunters.AI&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://hypefactors.com/&quot;&gt;Hypefactors&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.iheart.com/&quot;&gt;iHeartRadio&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://ihsmarkit.com/&quot;&gt;IHS Markit&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://investsuite.com/&quot;&gt;Investsuite&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.invia.cz/&quot;&gt;Invia&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://kaizen-solutions.net/&quot;&gt;Kaizen Solutions&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://kamon.io/&quot;&gt;Kamon APM&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.kodmagi.se&quot;&gt;Kodmagi&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://kensu.io&quot;&gt;Kensu&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.lambdaworks.io/&quot;&gt;LambdaWorks&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://leadiq.com&quot;&gt;LeadIQ&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://www.lernkunst.com/&quot;&gt;Lernkunst&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://liveintent.com&quot;&gt;LiveIntent Inc.&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://lottoland.com&quot;&gt;Lottoland&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://matechs.com&quot;&gt;MATECHS&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://megogo.net&quot;&gt;Megogo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.moia.io&quot;&gt;MOIA&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.mylivn.com/&quot;&gt;Mylivn&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://newmotion.com&quot;&gt;NewMotion&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nexxchange.com&quot;&gt;Nexxchange&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nike.com&quot;&gt;Nike&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.nslookup.io&quot;&gt;NsLookup&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://ocadotechnology.com&quot;&gt;Ocado Technology&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://olyro.de&quot;&gt;Olyro GmbH&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://optrak.com&quot;&gt;Optrak&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.performance-immo.com/&quot;&gt;Performance Immo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.pirum.com/&quot;&gt;Pirum&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.pitsdatarecovery.net/&quot;&gt;PITS Global Data Recovery Services&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playtika.com&quot;&gt;Playtika&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://ppcsamurai.com/&quot;&gt;PPC Samurai&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://prezi.com/&quot;&gt;Prezi&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.radix.bio/&quot;&gt;Radix Labs&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.railroad19.com&quot;&gt;Railroad19&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.werkenbijrandstad.nl&quot;&gt;Randstad Groep Nederland&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.rapidor.co&quot;&gt;Rapidor&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://pimsolutions.ru/&quot;&gt;PIM Solutions&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.rememberthemilk.com/&quot;&gt;Remember The Milk&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://rewe-digital.com/&quot;&gt;REWE Digital&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://lkwfee.de/&quot;&gt;LKWfee&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://riskident.com/&quot;&gt;Risk Ident&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://rocker.com/&quot;&gt;Rocker&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.rudder.io/&quot;&gt;Rudder&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://samsungfood.com/&quot;&gt;Samsung Food&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://sanjagh.pro/&quot;&gt;Sanjagh&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://scalac.io/&quot;&gt;Scalac&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.securityscorecard.io/&quot;&gt;SecurityScorecard&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.sentinelone.com/&quot;&gt;SentinelOne&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.signicat.com/&quot;&gt;Signicat&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://info.sgmarkets.com/en/&quot;&gt;Société Générale Corporate and Investment Banking&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://softwaremill.com/&quot;&gt;SoftwareMill&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.streamweaver.com/&quot;&gt;StreamWeaver&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://stuart.com/&quot;&gt;Stuart&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://teads.com&quot;&gt;Teads&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.pokemon.com/us/about-pokemon/&quot;&gt;The Pokemon Company International&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://tomtom.com&quot;&gt;TomTom&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.tinka.com/&quot;&gt;Tinka&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://tinkoff.ru&quot;&gt;Tinkoff&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://trackabus.com&quot;&gt;Trackabus&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.trainor.no&quot;&gt;Trainor&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://tranzzo.com&quot;&gt;Tranzzo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://treutech.io&quot;&gt;TreuTech&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://tweddle.com&quot;&gt;Tweddle Group&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.undo.app&quot;&gt;Undo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://unit.co&quot;&gt;Unit&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://univalence.io&quot;&gt;Univalence&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.unzer.com&quot;&gt;Unzer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.vakantiediscounter.nl&quot;&gt;Vakantiediscounter&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.verbund.com&quot;&gt;Verbund AG&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.waylay.io/&quot;&gt;Waylay&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.wehkamp.nl&quot;&gt;Wehkamp&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://wefunder.com&quot;&gt;Wefunder&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.wolt.com/&quot;&gt;Wolt&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://o.yandex.ru&quot;&gt;Yandex.Classifieds&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://audela.ca&quot;&gt;Audela&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://valamis.com&quot;&gt;Valamis Group&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://valsea.com&quot;&gt;Valsea&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://virtuslab.com/&quot;&gt;VirtusLab&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://getvish.com&quot;&gt;Vish&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://vivid.money&quot;&gt;Vivid Money&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://zalando.com/&quot;&gt;Zalando&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://zooz.com/&quot;&gt;Zooz&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Sponsors&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://ziverge.com&quot; title=&quot;Ziverge&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/website/static/img/ziverge.png&quot; alt=&quot;Ziverge&quot; title=&quot;Ziverge&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://ziverge.com&quot; title=&quot;Ziverge&quot;&gt;Ziverge&lt;/a&gt; is a leading contributor to ZIO.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://7mind.io&quot; title=&quot;Septimal Mind&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/website/static/img/septimal_mind.svg?sanitize=true&quot; alt=&quot;Septimal Mind&quot; title=&quot;Septimal Mind&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://7mind.io&quot; title=&quot;Septimal Mind&quot;&gt;Septimal Mind&lt;/a&gt; sponsors work on ZIO Tracing and continuous maintenance.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.yourkit.com&quot; title=&quot;YourKit&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/website/static/img/yourkit.png&quot; alt=&quot;YourKit&quot; title=&quot;YourKit&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.yourkit.com&quot; title=&quot;YourKit&quot;&gt;YourKit&lt;/a&gt; generously provides use of their monitoring and profiling tools to maximize the performance of ZIO applications.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h1&gt;&lt;a href=&quot;https://zio.dev/&quot;&gt;Learn More on the ZIO Homepage&lt;/a&gt;&lt;/h1&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Code of Conduct&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://raw.githubusercontent.com/zio/zio/series/2.x/docs/code-of-conduct.md&quot;&gt;Code of Conduct&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Support&lt;/h2&gt; 
&lt;p&gt;Come chat with us on &lt;a href=&quot;https://discord.gg/2ccFBr4&quot; title=&quot;Discord&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/629491597070827530?logo=discord&quot; alt=&quot;Badge-Discord&quot; title=&quot;chat on discord&quot; /&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Legal&lt;/h3&gt; 
&lt;p&gt;Copyright 2017 - 2024 John A. De Goes and the ZIO Contributors. All rights reserved.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/134079884/693faf00-8442-11e9-9591-01371d19870f" medium="image" />
      
    </item>
    
    <item>
      <title>playframework/playframework</title>
      <link>https://github.com/playframework/playframework</link>
      <description>&lt;p&gt;The Community Maintained High Velocity Web Framework For Java and Scala.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Play Framework - The High Velocity Web Framework&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://x.com/playframework&quot;&gt;&lt;img src=&quot;https://img.shields.io/twitter/follow/playframework?label=follow&amp;amp;style=flat&amp;amp;logo=x&amp;amp;color=brightgreen&quot; alt=&quot;X (formerly Twitter) Follow&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/g5s2vtZ4Fa&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/931647755942776882?logo=discord&amp;amp;logoColor=white&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/playframework/playframework/discussions&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/discussions/playframework/playframework?&amp;amp;logo=github&amp;amp;color=brightgreen&quot; alt=&quot;GitHub Discussions&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://stackoverflow.com/tags/playframework&quot;&gt;&lt;img src=&quot;https://img.shields.io/static/v1?label=stackoverflow&amp;amp;logo=stackoverflow&amp;amp;logoColor=fe7a16&amp;amp;color=brightgreen&amp;amp;message=playframework&quot; alt=&quot;StackOverflow&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.youtube.com/channel/UCRp6QDm5SDjbIuisUpxV9cg&quot;&gt;&lt;img src=&quot;https://img.shields.io/youtube/channel/views/UCRp6QDm5SDjbIuisUpxV9cg?label=watch&amp;amp;logo=youtube&amp;amp;style=flat&amp;amp;color=brightgreen&amp;amp;logoColor=ff0000&quot; alt=&quot;YouTube&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.twitch.tv/playframework&quot;&gt;&lt;img src=&quot;https://img.shields.io/twitch/status/playframework?logo=twitch&amp;amp;logoColor=white&amp;amp;color=brightgreen&amp;amp;label=live%20stream&quot; alt=&quot;Twitch Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://opencollective.com/playframework&quot;&gt;&lt;img src=&quot;https://img.shields.io/opencollective/all/playframework?label=financial%20contributors&amp;amp;logo=open-collective&quot; alt=&quot;OpenCollective&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/playframework/playframework/actions/workflows/build-test.yml&quot;&gt;&lt;img src=&quot;https://github.com/playframework/playframework/actions/workflows/build-test.yml/badge.svg?sanitize=true&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://mvnrepository.com/artifact/org.playframework/play_2.13&quot;&gt;&lt;img src=&quot;https://img.shields.io/maven-central/v/org.playframework/play_2.13.svg?logo=apache-maven&quot; alt=&quot;Maven&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/playframework/playframework&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/repo-size/playframework/playframework.svg?logo=git&quot; alt=&quot;Repository size&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://scala-steward.org&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat&amp;amp;logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=&quot; alt=&quot;Scala Steward badge&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://mergify.com&quot;&gt;&lt;img src=&quot;https://img.shields.io/endpoint.svg?url=https://api.mergify.com/v1/badges/playframework/playframework&amp;amp;style=flat&quot; alt=&quot;Mergify Status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;The Play Framework combines productivity and performance making it easy to build scalable web applications with Java and Scala. Play is developer friendly with a &quot;just hit refresh&quot; workflow and built-in testing support. With Play, applications scale predictably due to a stateless and non-blocking architecture. By being RESTful by default, including assets compilers, JSON &amp;amp; WebSocket support, Play is a perfect fit for modern web &amp;amp; mobile applications.&lt;/p&gt; 
&lt;h2&gt;Learn More&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com&quot;&gt;www.playframework.com&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/download&quot;&gt;Download&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/documentation/latest/Installing&quot;&gt;Install&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/documentation/latest/NewApplication&quot;&gt;Create a new application&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/documentation/latest/ScalaHome&quot;&gt;Play for Scala developers&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/documentation/latest/JavaHome&quot;&gt;Play for Java developers&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/documentation/latest/BuildingFromSource&quot;&gt;Build from source&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/playframework/playframework/issues&quot;&gt;Search or create issues&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/tagged/playframework&quot;&gt;Get help&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.playframework.com/contributing&quot;&gt;Contribute&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Sponsors &amp;amp; Backers&lt;/h2&gt; 
&lt;p&gt;If you find Play useful for work, please consider asking your company to support this Open Source project by &lt;a href=&quot;https://www.playframework.com/sponsors&quot;&gt;becoming a sponsor&lt;/a&gt;.&lt;br /&gt; You can also individually sponsor the project by &lt;a href=&quot;https://www.playframework.com/sponsors&quot;&gt;becoming a backer&lt;/a&gt;.&lt;/p&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;a href=&quot;https://opencollective.com/playframework&quot; target=&quot;_blank&quot;&gt; &lt;img src=&quot;https://opencollective.com/playframework/donate/button@2x.png?color=blue&quot; width=&quot;250&quot; /&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;h3&gt;Thank you to our premium sponsors!&lt;/h3&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;a href=&quot;https://theguardian.com/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/b15eb0f249dbc45089872e268d8ea5ad-the_guardian.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
 &lt;br /&gt; 
 &lt;a href=&quot;https://pronto.net/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/c77b1d664f10a1c9cb19b97c6d8bd204-pronto-software.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://depop.com/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/483f7622215dc240d6e6fc52fe167bc0-depop.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://cedarlakeventures.com/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/bec2b526c9ce52c051f9089a10044867-cedar-lake-ventures.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
 &lt;br /&gt; 
 &lt;a href=&quot;https://informaticon.com/&quot; target=&quot;_blank&quot;&gt; 
  &lt;picture&gt; 
   &lt;source width=&quot;250&quot; media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://www.playframework.com/assets/images/home/sponsors/d180a3ad763aaf69b46bff18fb110d9e-informaticon-logo-white.png&quot; /&gt; 
   &lt;source width=&quot;250&quot; media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://www.playframework.com/assets/images/home/sponsors/ad86c68a917e70a42440b4feb413c68d-informaticon-logo-black.png&quot; /&gt; 
   &lt;img width=&quot;250&quot; alt=&quot;informaticon logo fallback&quot; src=&quot;https://www.playframework.com/assets/images/home/sponsors/ad86c68a917e70a42440b4feb413c68d-informaticon-logo-black.png&quot; /&gt;
  &lt;/picture&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://nulab.com/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/6152e584aa8625eedca1c4accf8f8b63-nulab_logo_color.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://sprypoint.com/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/3fdf14f6369cf9d69f4a2a29ce26c2f8-sprypoint-logo-lrg-transparent.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
 &lt;br /&gt; 
 &lt;a href=&quot;https://evertrust.io/?utm_source%5Bplayframework%5D&amp;amp;utm_medium=partner&amp;amp;utm_campaign=partner_listing_%5B2%5D_%5B26%5D&amp;amp;utm_content=linkedin&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://www.playframework.com/assets/images/home/sponsors/3d198900af6e5f44f342ee2d0effed4e-evertrust.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; 
&lt;/div&gt; 
&lt;h3&gt;Thank you to all our backers!&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://opencollective.com/playframework#section-contributors&quot;&gt;&lt;img src=&quot;https://opencollective.com/playframework/organizations.svg?width=890&amp;amp;button=false&amp;amp;avatarHeight=46&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://opencollective.com/playframework#section-contributors&quot;&gt;&lt;img src=&quot;https://opencollective.com/playframework/individuals.svg?width=890&amp;amp;button=false&amp;amp;avatarHeight=46&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Thank you for providing free tooling!&lt;/h2&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;a href=&quot;https://jetbrains.com/&quot; target=&quot;_blank&quot;&gt;&lt;img width=&quot;250&quot; src=&quot;https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.png&quot; /&gt;&lt;/a&gt; 
&lt;/div&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Copyright (C) from 2022 The Play Framework Contributors &lt;a href=&quot;https://github.com/playframework&quot;&gt;https://github.com/playframework&lt;/a&gt;, 2011-2021 Lightbend Inc. &lt;a href=&quot;https://www.lightbend.com&quot;&gt;https://www.lightbend.com&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this project except in compliance with the License. You may obtain a copy of the License at &lt;a href=&quot;https://www.apache.org/licenses/LICENSE-2.0&quot;&gt;https://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/ee1ecbfe5ebd77e466c13032c6bf44049ca6dee15547a402e4df68248ab93618/playframework/playframework" medium="image" />
      
    </item>
    
    <item>
      <title>scalameta/metals</title>
      <link>https://github.com/scalameta/metals</link>
      <description>&lt;p&gt;Scala language server with rich IDE features 🚀&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Metals&lt;/h1&gt; 
&lt;a href=&quot;https://discord.gg/FaVDrJegEh&quot;&gt; &lt;img alt=&quot;Chat with us on discord&quot; src=&quot;https://img.shields.io/discord/632642981228314653&quot; /&gt; &lt;/a&gt; 
&lt;a href=&quot;https://twitter.com/scalameta&quot;&gt; &lt;img alt=&quot;Follow scalameta on Twitter&quot; src=&quot;https://img.shields.io/twitter/follow/scalameta.svg?logo=twitter&amp;amp;color=blue&quot; /&gt; &lt;/a&gt; 
&lt;a href=&quot;https://index.scala-lang.org/scalameta/metals/metals&quot;&gt; &lt;img alt=&quot;Find us on scaladex&quot; src=&quot;https://index.scala-lang.org/scalameta/metals/metals/latest.svg?sanitize=true&quot; /&gt; &lt;/a&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;See the website: &lt;a href=&quot;https://scalameta.org/metals/&quot;&gt;https://scalameta.org/metals/&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We organize regular online events for anyone interested in contributing to Scala tooling, everyone is invited to join us! You can find more information on the &lt;a href=&quot;https://scalameta.org/scala-tooling-spree/&quot;&gt;Scala Tooling Spree&lt;/a&gt; page.&lt;/p&gt; 
&lt;p&gt;See the contributing guide: &lt;a href=&quot;https://scalameta.org/metals/docs/contributors/getting-started.html&quot;&gt;https://scalameta.org/metals/docs/contributors/getting-started.html&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;To learn more about how Metals works, see &lt;a href=&quot;https://raw.githubusercontent.com/scalameta/metals/main/architecture.md&quot;&gt;./architecture.md&lt;/a&gt;. It explains the high-level layout of the source code. Do skim through that document.&lt;/p&gt; 
&lt;h3&gt;Acknowledgements and Development&lt;/h3&gt; 
&lt;p&gt;For more information on the current maintainers, companies that have/are sponsoring the development of Metals, and acknowledgements of previous work, please see &lt;a href=&quot;https://scalameta.org/metals/docs/acknowledgements/development.html&quot;&gt;https://scalameta.org/metals/docs/acknowledgements/development.html&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Alternatives&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/help/idea/discover-intellij-idea-for-scala.html&quot;&gt;IntelliJ IDEA&lt;/a&gt;: the most widely used IDE for Scala using a re-implementation of the Scala typechecker.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Why Metals?&lt;/h2&gt; 
&lt;p&gt;Metals = Meta (from Scalameta) + LS (from Language Server)&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/109404123/6f411500-3982-11eb-80e3-c5e614b24c2e" medium="image" />
      
    </item>
    
    <item>
      <title>apache/kyuubi</title>
      <link>https://github.com/apache/kyuubi</link>
      <description>&lt;p&gt;Apache Kyuubi is a distributed and multi-tenant gateway to provide serverless SQL on data warehouses and lakehouses.&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://svn.apache.org/repos/asf/comdev/project-logos/originals/kyuubi-1.svg?sanitize=true&quot; alt=&quot;Kyuubi logo&quot; height=&quot;120px&quot; /&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://github.com/apache/kyuubi/raw/master/LICENSE&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/license/apache/kyuubi?style=plastic&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://kyuubi.apache.org/releases.html&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/v/release/apache/kyuubi?style=plastic&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://hub.docker.com/r/apache/kyuubi&quot;&gt; &lt;img src=&quot;https://img.shields.io/docker/pulls/apache/kyuubi?style=plastic&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://github.com/apache/kyuubi/graphs/contributors&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/contributors/apache/kyuubi?style=plastic&quot; /&gt; &lt;/a&gt; &lt;a class=&quot;github-button&quot; href=&quot;https://github.com/apache/kyuubi&quot; data-icon=&quot;octicon-star&quot; aria-label=&quot;Star apache/kyuubi on GitHub&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/stars/apache/kyuubi?style=plastic&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://kyuubi.apache.org/&quot;&gt;Project&lt;/a&gt; - &lt;a href=&quot;https://kyuubi.readthedocs.io/&quot;&gt;Documentation&lt;/a&gt; - &lt;a href=&quot;https://kyuubi.apache.org/powered_by.html&quot;&gt;Who&#39;s using&lt;/a&gt; &lt;/p&gt; 
&lt;h1&gt;Apache Kyuubi&lt;/h1&gt; 
&lt;p&gt;Apache Kyuubi™ is a distributed and multi-tenant gateway to provide serverless SQL on data warehouses and lakehouses.&lt;/p&gt; 
&lt;h2&gt;What is Kyuubi?&lt;/h2&gt; 
&lt;p&gt;Kyuubi provides a pure SQL gateway through Thrift JDBC/ODBC interface for end-users to manipulate large-scale data with pre-programmed and extensible Spark SQL engines. This &quot;out-of-the-box&quot; model minimizes the barriers and costs for end-users to use Spark at the client side. At the server-side, Kyuubi server and engines&#39; multi-tenant architecture provides the administrators a way to achieve computing resource isolation, data security, high availability, high client concurrency, etc.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/kyuubi/master/docs/imgs/kyuubi_positioning.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;ul class=&quot;task-list&quot;&gt; 
 &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_0&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_0&quot;&gt; A HiveServer2-like API&lt;/label&gt;&lt;/li&gt; 
 &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_1&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_1&quot;&gt; Multi-tenant Spark Support&lt;/label&gt;&lt;/li&gt; 
 &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;cbx_2&quot; checked=&quot;true&quot; disabled=&quot;true&quot; /&gt;&lt;label for=&quot;cbx_2&quot;&gt; Running Spark in a serverless way&lt;/label&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Target Users&lt;/h3&gt; 
&lt;p&gt;Kyuubi&#39;s goal is to make it easy and efficient for &lt;code&gt;anyone&lt;/code&gt; to use Spark(maybe other engines soon) and facilitate users to handle big data like ordinary data. Here, &lt;code&gt;anyone&lt;/code&gt; means that users do not need to have a Spark technical background but a human language, SQL only. Sometimes, SQL skills are unnecessary when integrating Kyuubi with Apache Superset, which supports rich visualizations and dashboards.&lt;/p&gt; 
&lt;p&gt;In typical big data production environments with Kyuubi, there should be system administrators and end-users.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;System administrators: A small group consists of Spark experts responsible for Kyuubi deployment, configuration, and tuning.&lt;/li&gt; 
 &lt;li&gt;End-users: Focus on business data of their own, not where it stores, how it computes.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Additionally, the Kyuubi community will continuously optimize the whole system with various features, such as History-Based Optimizer, Auto-tuning, Materialized View, SQL Dialects, Functions, etc.&lt;/p&gt; 
&lt;h3&gt;Usage scenarios&lt;/h3&gt; 
&lt;h4&gt;Port workloads from HiveServer2 to Spark SQL&lt;/h4&gt; 
&lt;p&gt;In typical big data production environments, especially secured ones, all bundled services manage access control lists to restricting access to authorized users. For example, Hadoop YARN divides compute resources into queues. With Queue ACLs, it can identify and control which users/groups can take actions on particular queues. Similarly, HDFS ACLs control access of HDFS files by providing a way to set different permissions for specific users/groups.&lt;/p&gt; 
&lt;p&gt;Apache Spark is a unified analytics engine for large-scale data processing. It provides a Distributed SQL Engine, a.k.a, the Spark Thrift Server(STS), designed to be seamlessly compatible with HiveServer2 and get even better performance.&lt;/p&gt; 
&lt;p&gt;HiveServer2 can identify and authenticate a caller, and then if the caller also has permissions for the YARN queue and HDFS files, it succeeds. Otherwise, it fails. However, on the one hand, STS is a single Spark application. The user and queue to which STS belongs are uniquely determined at startup. Consequently, STS cannot leverage cluster managers such as YARN and Kubernetes for resource isolation and sharing or control the access for callers by the single user inside the whole system. On the other hand, the Thrift Server is coupled in the Spark driver&#39;s JVM process. This coupled architecture puts a high risk on server stability and makes it unable to handle high client concurrency or apply high availability such as load balancing as it is stateful.&lt;/p&gt; 
&lt;p&gt;Kyuubi extends the use of STS in a multi-tenant model based on a unified interface and relies on the concept of multi-tenancy to interact with cluster managers to finally gain the ability of resources sharing/isolation and data security. The loosely coupled architecture of the Kyuubi server and engine dramatically improves the client concurrency and service stability of the service itself.&lt;/p&gt; 
&lt;h4&gt;DataLake/Lakehouse Support&lt;/h4&gt; 
&lt;p&gt;The vision of Kyuubi is to unify the portal and become an easy-to-use data lake management platform. Different kinds of workloads, such as ETL processing and BI analytics, can be supported by one platform, using one copy of data, with one SQL interface.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Logical View support via Kyuubi DataLake Metadata APIs&lt;/li&gt; 
 &lt;li&gt;Multiple Catalogs support&lt;/li&gt; 
 &lt;li&gt;SQL Standard Authorization support for DataLake(coming)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Cloud Native Support&lt;/h4&gt; 
&lt;p&gt;Kyuubi can deploy its engines on different kinds of Cluster Managers, such as, Hadoop YARN, Kubernetes, etc.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/kyuubi/master/docs/imgs/kyuubi_migrating_yarn_to_k8s.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;h3&gt;The Kyuubi Ecosystem(present and future)&lt;/h3&gt; 
&lt;p&gt;The figure below shows our vision for the Kyuubi Ecosystem. Some of them have been realized, some in development, and others would not be possible without your help.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/kyuubi/master/docs/imgs/kyuubi_ecosystem.drawio.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Online Documentation &lt;a href=&quot;https://kyuubi.readthedocs.io/en/master/?badge=master?style=plastic&quot;&gt; &lt;img src=&quot;https://readthedocs.org/projects/kyuubi/badge/?version=master&quot; alt=&quot;Documentation Status&quot; /&gt; &lt;/a&gt;&lt;/h2&gt; 
&lt;h2&gt;Quick Start&lt;/h2&gt; 
&lt;p&gt;Ready? &lt;a href=&quot;https://kyuubi.readthedocs.io/en/master/quick_start/&quot;&gt;Getting Started&lt;/a&gt; with Kyuubi.&lt;/p&gt; 
&lt;h2&gt;&lt;a href=&quot;https://raw.githubusercontent.com/apache/kyuubi/master/CONTRIBUTING.md&quot;&gt;Contributing&lt;/a&gt;&lt;/h2&gt; 
&lt;h2&gt;Project &amp;amp; Community Status&lt;/h2&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://github.com/apache/kyuubi/issues?q=is%3Aissue+is%3Aclosed&quot;&gt; &lt;img src=&quot;http://isitmaintained.com/badge/resolution/apache/kyuubi.svg?sanitize=true&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://github.com/apache/kyuubi/issues&quot;&gt; &lt;img src=&quot;http://isitmaintained.com/badge/open/apache/kyuubi.svg?sanitize=true&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://github.com/apache/kyuubi/pulls&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/issues-pr-closed/apache/kyuubi?style=plastic&quot; /&gt; &lt;/a&gt; &lt;img src=&quot;https://img.shields.io/github/commit-activity/y/apache/kyuubi?style=plastic&quot; /&gt; &lt;img src=&quot;https://img.shields.io/github/commit-activity/m/apache/kyuubi?style=plastic&quot; /&gt; &lt;img src=&quot;https://codecov.io/gh/apache/kyuubi/branch/master/graph/badge.svg?sanitize=true&quot; /&gt; &lt;a href=&quot;https://github.com/apache/kyuubi/actions/workflows/master.yml&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/actions/workflow/status/apache/kyuubi/master.yml?style=plastic&quot; /&gt; &lt;/a&gt; &lt;img src=&quot;https://img.shields.io/github/languages/top/apache/kyuubi?style=plastic&quot; /&gt; &lt;/p&gt; 
&lt;h2&gt;Aside&lt;/h2&gt; 
&lt;p&gt;The project took its name from a character of a popular Japanese manga - &lt;code&gt;Naruto&lt;/code&gt;. The character is named &lt;code&gt;Kyuubi Kitsune/Kurama&lt;/code&gt;, which is a nine-tailed fox in mythology. &lt;code&gt;Kyuubi&lt;/code&gt; spread the power and spirit of fire, which is used here to represent the powerful &lt;a href=&quot;http://spark.apache.org&quot;&gt;Apache Spark&lt;/a&gt;. Its nine tails stand for end-to-end multi-tenancy support of this project.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/a782c7cee78131fe12ecbe1830cd892be572877ffa19f2859d0621902a4ff80a/apache/kyuubi" medium="image" />
      
    </item>
    
    <item>
      <title>apache/pekko</title>
      <link>https://github.com/apache/pekko</link>
      <description>&lt;p&gt;Build highly concurrent, distributed, and resilient message-driven applications using Java/Scala&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Apache Pekko&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/pekko/actions/workflows/nightly-builds.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/pekko/actions/workflows/nightly-builds.yml/badge.svg?sanitize=true&quot; alt=&quot;Nightly Builds&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/apache/pekko/actions/workflows/nightly-builds-aeron.yml&quot;&gt;&lt;img src=&quot;https://github.com/apache/pekko/actions/workflows/nightly-builds-aeron.yml/badge.svg?branch=main&quot; alt=&quot;Nightly Aeron Tests&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.bestpractices.dev/projects/9032&quot;&gt;&lt;img src=&quot;https://www.bestpractices.dev/projects/9032/badge&quot; alt=&quot;OpenSSF Best Practices&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Apache Pekko is an open-source framework for building applications that are concurrent, distributed, resilient and elastic. Pekko uses the Actor Model to provide more intuitive high-level abstractions for concurrency. Using these abstractions, Pekko also provides libraries for persistence, streams, HTTP, and more.&lt;/p&gt; 
&lt;p&gt;Pekko is a fork of &lt;a href=&quot;https://github.com/akka/akka&quot;&gt;Akka&lt;/a&gt; 2.6.x, prior to the Akka project&#39;s adoption of the Business Source License. Pekko now contains some features from Akka 2.7.0 (Apache 2.0 Licensed now)&lt;/p&gt; 
&lt;h2&gt;Reference Documentation&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://pekko.apache.org&quot;&gt;https://pekko.apache.org&lt;/a&gt; for the documentation including the API docs. The docs for all the Apache Pekko modules can be found there.&lt;/p&gt; 
&lt;h2&gt;Building from Source&lt;/h2&gt; 
&lt;p&gt;The CI build is Linux based (Ubuntu) and most Pekko developers use Macs or Linux machines. There have been reports of issues when building with Windows (&lt;a href=&quot;https://github.com/apache/pekko/issues/829&quot;&gt;#829&lt;/a&gt;).&lt;/p&gt; 
&lt;h2&gt;Using IntelliJ IDEA&lt;/h2&gt; 
&lt;p&gt;To use IntelliJ IDEA, you need to configure your project to use JDK 17. For a visual guide, refer to this &lt;a href=&quot;https://github.com/apache/pekko/discussions/1847#discussioncomment-13166066&quot;&gt;Q&amp;amp;A&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;File &amp;gt; Project Structure &amp;gt; Project Settings &amp;gt; Project &amp;gt; Set your JDK to version 17&lt;/li&gt; 
 &lt;li&gt;Settings &amp;gt; ... &amp;gt; Scala Compiler Server &amp;gt; Set your JDK to version 17&lt;/li&gt; 
 &lt;li&gt;Settings &amp;gt; ... &amp;gt; sbt &amp;gt; Set your JRE to version 17&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Prerequisites&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Make sure you have installed a Java Development Kit (JDK) version 17 or later.&lt;/li&gt; 
 &lt;li&gt;Make sure you have &lt;a href=&quot;https://www.scala-sbt.org/&quot;&gt;sbt&lt;/a&gt; installed and using this JDK.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://graphviz.gitlab.io/download/&quot;&gt;Graphviz&lt;/a&gt; is needed for the scaladoc generation build task, which is part of the release.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Running the Build&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Open a command window and change directory to your preferred base directory&lt;/li&gt; 
 &lt;li&gt;Use git to clone the &lt;a href=&quot;https://github.com/apache/pekko&quot;&gt;repo&lt;/a&gt; or download a source release from &lt;a href=&quot;https://pekko.apache.org&quot;&gt;https://pekko.apache.org&lt;/a&gt; (and unzip or untar it, as appropriate)&lt;/li&gt; 
 &lt;li&gt;Change directory to the directory where you installed the source (you should have a file called &lt;code&gt;build.sbt&lt;/code&gt; in this directory)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt compile&lt;/code&gt; compiles the main source for project default version of Scala (2.13) 
  &lt;ul&gt; 
   &lt;li&gt;&lt;code&gt;sbt +compile&lt;/code&gt; will compile for all supported versions of Scala&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt test&lt;/code&gt; will compile the code and run the unit tests&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt testQuick&lt;/code&gt; similar to test but when repeated in shell mode will only run failing tests&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt testQuickUntilPassed&lt;/code&gt; similar to testQuick but will loop until tests pass.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt package&lt;/code&gt; will build the jars 
  &lt;ul&gt; 
   &lt;li&gt;the jars will be built into target dirs of the various modules&lt;/li&gt; 
   &lt;li&gt;for the &#39;actor&#39; module, the jar will be built to &lt;code&gt;actor/target/scala-2.13/&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt publishLocal&lt;/code&gt; will push the jars to your local Apache Ivy repository&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt publishM2&lt;/code&gt; will push the jars to your local Apache Maven repository&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt docs/paradox&lt;/code&gt; will build the docs (the ones describing the module features) 
  &lt;ul&gt; 
   &lt;li&gt;&lt;code&gt;sbt docs/paradoxBrowse&lt;/code&gt; does the same but will open the docs in your browser when complete&lt;/li&gt; 
   &lt;li&gt;the &lt;code&gt;index.html&lt;/code&gt; file will appear in &lt;code&gt;target/paradox/site/main/&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt unidoc&lt;/code&gt; will build the Javadocs for all the modules and load them to one place (may require Graphviz, see Prerequisites above) 
  &lt;ul&gt; 
   &lt;li&gt;the &lt;code&gt;index.html&lt;/code&gt; file will appear in &lt;code&gt;target/scala-2.13/unidoc/&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sbt sourceDistGenerate&lt;/code&gt; will generate source release to &lt;code&gt;target/dist/&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;The version number that appears in filenames and docs is derived, by default. The derived version contains the most git commit id or the date/time (if the directory is not under git control). 
  &lt;ul&gt; 
   &lt;li&gt;You can set the version number explicitly when running sbt commands 
    &lt;ul&gt; 
     &lt;li&gt;eg &lt;code&gt;sbt &quot;set ThisBuild / version := \&quot;1.0.0\&quot;; sourceDistGenerate&quot;&lt;/code&gt;&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;Or you can add a file called &lt;code&gt;version.sbt&lt;/code&gt; to the same directory that has the &lt;code&gt;build.sbt&lt;/code&gt; containing something like 
    &lt;ul&gt; 
     &lt;li&gt;&lt;code&gt;ThisBuild / version := &quot;1.0.0&quot;&lt;/code&gt;&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Community&lt;/h2&gt; 
&lt;p&gt;There are several ways to interact with the Pekko community:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/apache/pekko/discussions&quot;&gt;GitHub discussions&lt;/a&gt;: for questions and general discussion.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://lists.apache.org/list.html?dev@pekko.apache.org&quot;&gt;Pekko dev mailing list&lt;/a&gt;: for Pekko development discussions.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://lists.apache.org/list.html?users@pekko.apache.org&quot;&gt;Pekko users mailing list&lt;/a&gt;: for Pekko user discussions.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/apache/pekko/issues&quot;&gt;GitHub issues&lt;/a&gt;: for bug reports and feature requests. Please search the existing issues before creating new ones. If you are unsure whether you have found a bug, consider asking in GitHub discussions or the mailing list first.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Contributions are very welcome. If you have an idea on how to improve Pekko, don&#39;t hesitate to create an issue or submit a pull request.&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://github.com/apache/pekko/raw/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for details on the development workflow and how to create your pull request.&lt;/p&gt; 
&lt;h2&gt;Code of Conduct&lt;/h2&gt; 
&lt;p&gt;Apache Pekko is governed by the &lt;a href=&quot;https://www.apache.org/foundation/policies/conduct.html&quot;&gt;Apache code of conduct&lt;/a&gt;. By participating in this project you agree to abide by its terms.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Apache Pekko is available under the Apache License, version 2.0. See &lt;a href=&quot;https://github.com/apache/pekko/raw/main/LICENSE&quot;&gt;LICENSE&lt;/a&gt; file for details.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/0542d436f65a95e6c388962a78fa1319d3cbc06f007cd1dfe602f1c732e80ab0/apache/pekko" medium="image" />
      
    </item>
    
    <item>
      <title>chipsalliance/diplomacy</title>
      <link>https://github.com/chipsalliance/diplomacy</link>
      <description>&lt;h1&gt;Diplomacy&lt;/h1&gt; 
&lt;p&gt;Diplomacy is a parameter negotiation framework for Chisel. More documentation will be added in the future.&lt;/p&gt; 
&lt;h2&gt;Development Guide&lt;/h2&gt; 
&lt;h3&gt;Setup Nix&lt;/h3&gt; 
&lt;p&gt;We use nix flake as our primary build system. If you have not installed nix, install it following the &lt;a href=&quot;https://nixos.org/manual/nix/stable/installation/installing-binary.html&quot;&gt;guide&lt;/a&gt;, and enable flake following the &lt;a href=&quot;https://nixos.wiki/wiki/Flakes#Enable_flakes&quot;&gt;wiki&lt;/a&gt;. Or you can try the &lt;a href=&quot;https://github.com/DeterminateSystems/nix-installer&quot;&gt;installer&lt;/a&gt; provided by Determinate Systems, which enables flake by default.&lt;/p&gt; 
&lt;h3&gt;Setup Dependencies and IDE&lt;/h3&gt; 
&lt;p&gt;Run command below will help you setup dependencies(including ivy and source dependencies):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;nix develop .#diplomacy -c mill mill.bsp.BSP/install
&lt;/code&gt;&lt;/pre&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/34cbec797ccdbd6a48f5df9693741c96fbb36fb742459731e40820cc9026bd3a/chipsalliance/diplomacy" medium="image" />
      
    </item>
    
    <item>
      <title>ucb-bar/testchipip</title>
      <link>https://github.com/ucb-bar/testchipip</link>
      <description>&lt;h1&gt;testchipip&lt;/h1&gt; 
&lt;p&gt;Useful IP components for chips. BAR projects generally use these components with &lt;a href=&quot;https://chipyard.readthedocs.io&quot;&gt;chipyard&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.boot&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;BootAddrReg&lt;/code&gt;: periphery device intended for use with testchipip/bootrom&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;TileResetCtrl&lt;/code&gt;: memory-mapped Tile-reset registers&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;CustomBootPin&lt;/code&gt;: I/O for setting non-default boot address to &lt;code&gt;BootAddrReg&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.clocking&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;ClockGates, ClockMuxes, ClockDividers&lt;/code&gt;, etc.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;ResetSynchronizer&lt;/code&gt;s&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.cosim&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;SpikeCosim&lt;/code&gt;: Spike-based cosimulation model&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;TraceIO&lt;/code&gt;: Utilities for pulling instruction traces out of SoCs&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Dromajo&lt;/code&gt;: DEPRECATED Dromajo cosimulation model&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.ctc&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;CTC&lt;/code&gt;: Simple, 32-bit chip-to-chip interface&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.dram&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;SimDRAM&lt;/code&gt;: DRAMSim-backed AXI-4 memory model&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;SimTLMem&lt;/code&gt;: Magic TileLink memory&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.iceblk&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;IceBlk&lt;/code&gt;: Peripheral block device for FireSim&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.serdes&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;GenericSerdesser&lt;/code&gt;: Generic Decoupled bidirectional Serdes generators&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;TLSerdesser&lt;/code&gt;: TileLink bi-directional serializer&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;PeripheryTLSerial&lt;/code&gt;: Attaches TLSerdesser to chip buses&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;SerialWidthAdapter&lt;/code&gt;: Converts between serial interfaces of different widths&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.soc&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;OffchipBus&lt;/code&gt;: Custom bus for interfacing with off-chip memory&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Scratchpad&lt;/code&gt;: TileLink SRAM-backed on-chip scratchpad memory&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;SimDTM&lt;/code&gt;: Simulation model for interacting with on-chip debug module&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;TLNetwork&lt;/code&gt;: DEPRECATED mechanism for creating a TileLink network-on-chip. Use Constellation NoC instead&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.spi&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;SimSPIFlashModel&lt;/code&gt;: Simulation model for SPI flash memory&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.tsi&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;TSIToTileLink&lt;/code&gt;: Converts a TSI master to a TileLink master&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;SimTSI&lt;/code&gt;: Simulation model for interacting with a TSI interface&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;TSIHarness&lt;/code&gt;: Utilities for attaching TSI-simulation devices to a TestHarness&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;PeripheryUARTTSI&lt;/code&gt;: Attaches a TSI-over-UART interface to a bringup FPGA or chip&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;testchipip.uart&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;UARTToSerial&lt;/code&gt;: Converts UART to a chip&#39;s serial interface&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;SimUART&lt;/code&gt;: Simulation model for a chip&#39;s UART&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;bootrom/&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Custom BootROM for SoCs with extra bringup features&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;&lt;code&gt;uart_tsi&lt;/code&gt;&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Host utility tool based on FESVR for interfacing with FPGA prototypes or test-chips using the TSI protocol over a UART physical interface&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Usage&lt;/h2&gt; 
&lt;p&gt;Testchipip can be used in your project in one of two ways:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;As an sbt subproject that depends on rocket-chip, as in &lt;a href=&quot;https://github.com/ucb-bar/chipyard/&quot;&gt;chipyard&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;As a maven dependency (e.g. write&lt;/li&gt; 
&lt;/ol&gt; 
&lt;pre&gt;&lt;code&gt;libraryDependencies += &quot;edu.berkeley.cs&quot; %% &quot;testchipip&quot; % &quot;1.0-020719-SNAPSHOT&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;in your build.sbt). Check &lt;a href=&quot;https://oss.sonatype.org/content/repositories/snapshots/edu/berkeley/cs/testchipip_2.12/&quot;&gt;sonatype&lt;/a&gt; to see the latest published version.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/bb64c67026cdaeb2dbcfdc117209e342bf03fd4f187eaa10c8b0b0c5c0f609c0/ucb-bar/testchipip" medium="image" />
      
    </item>
    
    <item>
      <title>ucb-bar/chipyard</title>
      <link>https://github.com/ucb-bar/chipyard</link>
      <description>&lt;p&gt;An Agile RISC-V SoC Design Framework with in-order cores, out-of-order cores, accelerators, and more&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;img src=&quot;https://github.com/ucb-bar/chipyard/raw/main/docs/_static/images/chipyard-logo-full.png&quot; alt=&quot;CHIPYARD&quot; /&gt;&lt;/p&gt; 
&lt;h1&gt;Chipyard Framework &lt;a href=&quot;https://github.com/ucb-bar/chipyard/actions&quot;&gt;&lt;img src=&quot;https://github.com/ucb-bar/chipyard/actions/workflows/chipyard-run-tests.yml/badge.svg?sanitize=true&quot; alt=&quot;Test&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;h2&gt;Quick Links&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Latest Documentation&lt;/strong&gt;: &lt;a href=&quot;https://chipyard.readthedocs.io/&quot;&gt;https://chipyard.readthedocs.io/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;User Question Forum&lt;/strong&gt;: &lt;a href=&quot;https://groups.google.com/forum/#!forum/chipyard&quot;&gt;https://groups.google.com/forum/#!forum/chipyard&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Bugs and Feature Requests&lt;/strong&gt;: &lt;a href=&quot;https://github.com/ucb-bar/chipyard/issues&quot;&gt;https://github.com/ucb-bar/chipyard/issues&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Using Chipyard&lt;/h2&gt; 
&lt;p&gt;To get started using Chipyard, see the documentation on the Chipyard documentation site: &lt;a href=&quot;https://chipyard.readthedocs.io/&quot;&gt;https://chipyard.readthedocs.io/&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;What is Chipyard&lt;/h2&gt; 
&lt;p&gt;Chipyard is an open source framework for agile development of Chisel-based systems-on-chip. It will allow you to leverage the Chisel HDL, Rocket Chip SoC generator, and other &lt;a href=&quot;https://berkeley.edu&quot;&gt;Berkeley&lt;/a&gt; projects to produce a &lt;a href=&quot;https://riscv.org/&quot;&gt;RISC-V&lt;/a&gt; SoC with everything from MMIO-mapped peripherals to custom accelerators. Chipyard contains processor cores (&lt;a href=&quot;https://github.com/freechipsproject/rocket-chip&quot;&gt;Rocket&lt;/a&gt;, &lt;a href=&quot;https://github.com/riscv-boom/riscv-boom&quot;&gt;BOOM&lt;/a&gt;, &lt;a href=&quot;https://github.com/openhwgroup/cva6/&quot;&gt;CVA6 (Ariane)&lt;/a&gt;), vector units (&lt;a href=&quot;https://github.com/ucb-bar/saturn-vectors&quot;&gt;Saturn&lt;/a&gt;, &lt;a href=&quot;https://github.com/pulp-platform/ara&quot;&gt;Ara&lt;/a&gt;), accelerators (&lt;a href=&quot;https://github.com/ucb-bar/gemmini&quot;&gt;Gemmini&lt;/a&gt;, &lt;a href=&quot;http://nvdla.org/&quot;&gt;NVDLA&lt;/a&gt;), memory systems, and additional peripherals and tooling to help create a full featured SoC. Chipyard supports multiple concurrent flows of agile hardware development, including software RTL simulation, FPGA-accelerated simulation (&lt;a href=&quot;https://fires.im&quot;&gt;FireSim&lt;/a&gt;), automated VLSI flows (&lt;a href=&quot;https://github.com/ucb-bar/hammer&quot;&gt;Hammer&lt;/a&gt;), and software workload generation for bare-metal and Linux-based systems (&lt;a href=&quot;https://github.com/firesim/FireMarshal/&quot;&gt;FireMarshal&lt;/a&gt;). Chipyard is actively developed in the &lt;a href=&quot;http://bar.eecs.berkeley.edu&quot;&gt;Berkeley Architecture Research Group&lt;/a&gt; in the &lt;a href=&quot;https://eecs.berkeley.edu&quot;&gt;Electrical Engineering and Computer Sciences Department&lt;/a&gt; at the &lt;a href=&quot;https://berkeley.edu&quot;&gt;University of California, Berkeley&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Resources&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Chipyard Documentation: &lt;a href=&quot;https://chipyard.readthedocs.io/&quot;&gt;https://chipyard.readthedocs.io/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Chipyard (x FireSim) Tutorial: &lt;a href=&quot;https://fires.im/tutorial-recent/&quot;&gt;https://fires.im/tutorial-recent/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Chipyard Basics slides: &lt;a href=&quot;https://fires.im/asplos23-slides-pdf/02_chipyard_basics.pdf&quot;&gt;https://fires.im/asplos23-slides-pdf/02_chipyard_basics.pdf&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Need help?&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Join the Chipyard Mailing List: &lt;a href=&quot;https://groups.google.com/forum/#!forum/chipyard&quot;&gt;https://groups.google.com/forum/#!forum/chipyard&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;If you find a bug or would like propose a feature, post an issue on this repo: &lt;a href=&quot;https://github.com/ucb-bar/chipyard/issues&quot;&gt;https://github.com/ucb-bar/chipyard/issues&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/ucb-bar/chipyard/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Attribution and Chipyard-related Publications&lt;/h2&gt; 
&lt;p&gt;If used for research, please cite Chipyard by the following publication:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;@article{chipyard,
  author={Amid, Alon and Biancolin, David and Gonzalez, Abraham and Grubb, Daniel and Karandikar, Sagar and Liew, Harrison and Magyar,   Albert and Mao, Howard and Ou, Albert and Pemberton, Nathan and Rigge, Paul and Schmidt, Colin and Wright, John and Zhao, Jerry and Shao, Yakun Sophia and Asanovi\&#39;{c}, Krste and Nikoli\&#39;{c}, Borivoje},
  journal={IEEE Micro},
  title={Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs},
  year={2020},
  volume={40},
  number={4},
  pages={10-21},
  doi={10.1109/MM.2020.2996616},
  ISSN={1937-4143},
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Chipyard&lt;/strong&gt; 
  &lt;ul&gt; 
   &lt;li&gt;A. Amid, et al. &lt;em&gt;IEEE Micro&#39;20&lt;/em&gt; &lt;a href=&quot;https://ieeexplore.ieee.org/document/9099108&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;A. Amid, et al. &lt;em&gt;DAC&#39;20&lt;/em&gt; &lt;a href=&quot;https://ieeexplore.ieee.org/document/9218756&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;A. Amid, et al. &lt;em&gt;ISCAS&#39;21&lt;/em&gt; &lt;a href=&quot;https://ieeexplore.ieee.org/abstract/document/9401515&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;These additional publications cover many of the internal components used in Chipyard. However, for the most up-to-date details, users should refer to the Chipyard docs.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Generators&lt;/strong&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;strong&gt;Rocket Chip&lt;/strong&gt;: K. Asanovic, et al., &lt;em&gt;UCB EECS TR&lt;/em&gt;. &lt;a href=&quot;http://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;BOOM&lt;/strong&gt;: C. Celio, et al., &lt;em&gt;Hot Chips 30&lt;/em&gt;. &lt;a href=&quot;https://old.hotchips.org/hc30/1conf/1.03_Berkeley_BROOM_HC30.Berkeley.Celio.v02.pdf&quot;&gt;PDF&lt;/a&gt;. 
    &lt;ul&gt; 
     &lt;li&gt;&lt;strong&gt;SonicBOOM (BOOMv3)&lt;/strong&gt;: J. Zhao, et al., &lt;em&gt;CARRV&#39;20&lt;/em&gt;. &lt;a href=&quot;https://carrv.github.io/2020/papers/CARRV2020_paper_15_Zhao.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
     &lt;li&gt;&lt;strong&gt;COBRA (BOOM Branch Prediction)&lt;/strong&gt;: J. Zhao, et al., &lt;em&gt;ISPASS&#39;21&lt;/em&gt;. &lt;a href=&quot;https://ieeexplore.ieee.org/document/9408173&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;Gemmini&lt;/strong&gt;: H. Genc, et al., &lt;em&gt;DAC&#39;21&lt;/em&gt;. &lt;a href=&quot;https://arxiv.org/pdf/1911.09925&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Sims&lt;/strong&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;strong&gt;FireSim&lt;/strong&gt;: S. Karandikar, et al., &lt;em&gt;ISCA&#39;18&lt;/em&gt;. &lt;a href=&quot;https://sagark.org/assets/pubs/firesim-isca2018.pdf&quot;&gt;PDF&lt;/a&gt;. 
    &lt;ul&gt; 
     &lt;li&gt;&lt;strong&gt;FireSim Micro Top Picks&lt;/strong&gt;: S. Karandikar, et al., &lt;em&gt;IEEE Micro, Top Picks 2018&lt;/em&gt;. &lt;a href=&quot;https://sagark.org/assets/pubs/firesim-micro-top-picks2018.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
     &lt;li&gt;&lt;strong&gt;FASED&lt;/strong&gt;: D. Biancolin, et al., &lt;em&gt;FPGA&#39;19&lt;/em&gt;. &lt;a href=&quot;https://people.eecs.berkeley.edu/~biancolin/papers/fased-fpga19.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
     &lt;li&gt;&lt;strong&gt;Golden Gate&lt;/strong&gt;: A. Magyar, et al., &lt;em&gt;ICCAD&#39;19&lt;/em&gt;. &lt;a href=&quot;https://davidbiancolin.github.io/papers/goldengate-iccad19.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
     &lt;li&gt;&lt;strong&gt;FirePerf&lt;/strong&gt;: S. Karandikar, et al., &lt;em&gt;ASPLOS&#39;20&lt;/em&gt;. &lt;a href=&quot;https://sagark.org/assets/pubs/fireperf-asplos2020.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
     &lt;li&gt;&lt;strong&gt;FireSim ISCA@50 Retrospective&lt;/strong&gt;: S. Karandikar, et al., &lt;em&gt;ISCA@50 Retrospective: 1996-2020&lt;/em&gt;. &lt;a href=&quot;https://sites.coecis.cornell.edu/isca50retrospective/files/2023/06/Karandikar_2018_FireSim.pdf&quot;&gt;PDF&lt;/a&gt;&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tools&lt;/strong&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;strong&gt;Chisel&lt;/strong&gt;: J. Bachrach, et al., &lt;em&gt;DAC&#39;12&lt;/em&gt;. &lt;a href=&quot;https://people.eecs.berkeley.edu/~krste/papers/chisel-dac2012.pdf&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;FIRRTL&lt;/strong&gt;: A. Izraelevitz, et al., &lt;em&gt;ICCAD&#39;17&lt;/em&gt;. &lt;a href=&quot;https://ieeexplore.ieee.org/document/8203780&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;Chisel DSP&lt;/strong&gt;: A. Wang, et al., &lt;em&gt;DAC&#39;18&lt;/em&gt;. &lt;a href=&quot;https://ieeexplore.ieee.org/document/8465790&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;FireMarshal&lt;/strong&gt;: N. Pemberton, et al., &lt;em&gt;ISPASS&#39;21&lt;/em&gt;. &lt;a href=&quot;https://ieeexplore.ieee.org/document/9408192&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;VLSI&lt;/strong&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;strong&gt;Hammer&lt;/strong&gt;: E. Wang, et al., &lt;em&gt;ISQED&#39;20&lt;/em&gt;. &lt;a href=&quot;https://www.isqed.org/English/Archives/2020/Technical_Sessions/113.html&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;Hammer&lt;/strong&gt;: H. Liew, et al., &lt;em&gt;DAC&#39;22&lt;/em&gt;. &lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/3489517.3530672&quot;&gt;PDF&lt;/a&gt;.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Acknowledgements&lt;/h2&gt; 
&lt;p&gt;This work is supported by the NSF CCRI ENS Chipyard Award #2016662.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/291cb790a9fb38e1ff927ca2a12db334f8dc5551e98add22e4702d6bfb6c7f31/ucb-bar/chipyard" medium="image" />
      
    </item>
    
    <item>
      <title>scala/scala</title>
      <link>https://github.com/scala/scala</link>
      <description>&lt;p&gt;Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;This is Scala 2! Welcome!&lt;/h1&gt; 
&lt;p&gt;This is the home of the &lt;a href=&quot;https://www.scala-lang.org&quot;&gt;Scala 2&lt;/a&gt; standard library, compiler, and language spec.&lt;/p&gt; 
&lt;p&gt;For Scala 3, visit &lt;a href=&quot;https://github.com/scala/scala3&quot;&gt;scala/scala3&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;How to contribute&lt;/h1&gt; 
&lt;p&gt;Issues and bug reports for Scala 2 are located in &lt;a href=&quot;https://github.com/scala/bug&quot;&gt;scala/bug&lt;/a&gt;. That tracker is also where new contributors may find issues to work on: &lt;a href=&quot;https://github.com/scala/bug/labels/good%20first%20issue&quot;&gt;good first issues&lt;/a&gt;, &lt;a href=&quot;https://github.com/scala/bug/labels/help%20wanted&quot;&gt;help wanted&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;For coordinating broader efforts, we also use the &lt;a href=&quot;https://github.com/scala/scala-dev/issues&quot;&gt;scala/scala-dev tracker&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;To contribute here, please open a &lt;a href=&quot;https://help.github.com/articles/using-pull-requests/#fork--pull&quot;&gt;pull request&lt;/a&gt; from your fork of this repository.&lt;/p&gt; 
&lt;p&gt;If your change affects the standard library, see &lt;a href=&quot;http://CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for remarks about what sort of changes might be accepted in Scala 2 and/or Scala 3.&lt;/p&gt; 
&lt;p&gt;We require that you sign the &lt;a href=&quot;https://cla.scala-lang.org/scala/scala&quot;&gt;Scala CLA&lt;/a&gt; before we can merge any of your work, to protect Scala&#39;s future as open source software.&lt;/p&gt; 
&lt;p&gt;The general workflow is as follows.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Find/file an issue in scala/bug (or submit a well-documented PR right away!).&lt;/li&gt; 
 &lt;li&gt;Fork the scala/scala repo.&lt;/li&gt; 
 &lt;li&gt;Push your changes to a branch in your forked repo. For coding guidelines, go &lt;a href=&quot;https://github.com/scala/scala#coding-guidelines&quot;&gt;here&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Submit a pull request to scala/scala from your forked repo.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;For more information on building and developing the core of Scala, read the rest of this README, especially for &lt;a href=&quot;https://github.com/scala/scala#get-ready-to-contribute&quot;&gt;setting up your machine&lt;/a&gt;!&lt;/p&gt; 
&lt;h1&gt;Get in touch!&lt;/h1&gt; 
&lt;p&gt;In order to get in touch with other Scala contributors, join the #scala-contributors channel on the &lt;a href=&quot;https://discord.com/invite/scala&quot;&gt;Scala Discord&lt;/a&gt; chat, or post on &lt;a href=&quot;https://contributors.scala-lang.org&quot;&gt;contributors.scala-lang.org&lt;/a&gt; (Discourse).&lt;/p&gt; 
&lt;p&gt;If you need some help with your PR at any time, please feel free to @-mention anyone from the list below, and we will do our best to help you out:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;&lt;/th&gt; 
   &lt;th&gt;username&lt;/th&gt; 
   &lt;th&gt;talk to me about...&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/lrytz&quot; height=&quot;50px&quot; title=&quot;Lukas Rytz&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/lrytz&quot;&gt;&lt;code&gt;@lrytz&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;back end, optimizer, named &amp;amp; default arguments, reporters&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/retronym&quot; height=&quot;50px&quot; title=&quot;Jason Zaugg&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/retronym&quot;&gt;&lt;code&gt;@retronym&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;compiler performance, weird compiler bugs, lambdas&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/SethTisue&quot; height=&quot;50px&quot; title=&quot;Seth Tisue&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/SethTisue&quot;&gt;&lt;code&gt;@SethTisue&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;getting started, build, CI, community build, Jenkins, docs, library, REPL&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/dwijnand&quot; height=&quot;50px&quot; title=&quot;Dale Wijnand&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/dwijnand&quot;&gt;&lt;code&gt;@dwijnand&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;pattern matcher, MiMa, partest&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/som-snytt&quot; height=&quot;50px&quot; title=&quot;Som Snytt&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/som-snytt&quot;&gt;&lt;code&gt;@som-snytt&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;warnings/lints/errors, REPL, compiler options, compiler internals, partest&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/Ichoran&quot; height=&quot;50px&quot; title=&quot;Rex Kerr&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/Ichoran&quot;&gt;&lt;code&gt;@Ichoran&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;collections library, performance&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/viktorklang&quot; height=&quot;50px&quot; title=&quot;Viktor Klang&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/viktorklang&quot;&gt;&lt;code&gt;@viktorklang&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;concurrency, futures&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/sjrd&quot; height=&quot;50px&quot; title=&quot;Sébastien Doeraene&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/sjrd&quot;&gt;&lt;code&gt;@sjrd&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;interactions with Scala.js&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/bishabosha&quot; height=&quot;50px&quot; title=&quot;Jamie Thompson&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/bishabosha&quot;&gt;&lt;code&gt;@bishabosha&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;TASTy reader&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/joroKr21&quot; height=&quot;50px&quot; title=&quot;Georgi Krastev&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/joroKr21&quot;&gt;&lt;code&gt;@joroKr21&lt;/code&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;higher-kinded types, implicits, variance&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;P.S.: If you have some spare time to help out around here, we would be delighted to add your name to this list!&lt;/p&gt; 
&lt;h1&gt;Branches&lt;/h1&gt; 
&lt;p&gt;Target the oldest branch you would like your changes to end up in. We periodically merge forward from 2.12.x to 2.13.x. Most changes should target 2.13.x, as 2.12.x is now under minimal maintenance.&lt;/p&gt; 
&lt;p&gt;If your change is difficult to merge forward, you may be asked to also submit a separate PR targeting the newer branch.&lt;/p&gt; 
&lt;p&gt;If your change is version-specific and shouldn&#39;t be merged forward, put &lt;code&gt;[nomerge]&lt;/code&gt; in the PR name.&lt;/p&gt; 
&lt;p&gt;If your change is a backport from a newer branch and thus doesn&#39;t need to be merged forward, put &lt;code&gt;[backport]&lt;/code&gt; in the PR name.&lt;/p&gt; 
&lt;h2&gt;Choosing a branch&lt;/h2&gt; 
&lt;p&gt;Most changes should target 2.13.x. We are increasingly reluctant to target 2.12.x unless there is a special reason (e.g. if an especially bad bug is found, or if there is commercial sponsorship). See &lt;a href=&quot;https://www.scala-lang.org/development/#scala-2-maintenance&quot;&gt;Scala 2 maintenance&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Repository structure&lt;/h1&gt; 
&lt;p&gt;Most importantly:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;scala/
+--build.sbt                 The main sbt build definition
+--project/                  The rest of the sbt build
+--src/                      All sources
   +---/library              Scala Standard Library
   +---/reflect              Scala Reflection
   +---/compiler             Scala Compiler
+--test/                     The Scala test suite
   +---/files                Partest tests
   +---/junit                JUnit tests
   +---/scalacheck           ScalaCheck tests
+--spec/                     The Scala language specification
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;but also:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;scala/
   +---/library-aux          Scala Auxiliary Library, for bootstrapping and documentation purposes
   +---/interactive          Scala Interactive Compiler, for clients such as an IDE (aka Presentation Compiler)
   +---/manual               Scala&#39;s runner scripts &quot;man&quot; (manual) pages
   +---/partest              Scala&#39;s internal parallel testing framework
   +---/partest-javaagent    Partest&#39;s helper java agent
   +---/repl                 Scala REPL core
   +---/repl-frontend        Scala REPL frontend
   +---/scaladoc             Scala&#39;s documentation tool
   +---/scalap               Scala&#39;s class file decompiler
   +---/testkit              Scala&#39;s unit-testing kit
+--admin/                    Scripts for the CI jobs and releasing
+--doc/                      Additional licenses and copyrights
+--scripts/                  Scripts for the CI jobs and releasing
+--tools/                    Scripts useful for local development
+--build/                    Build products
+--dist/                     Build products
+--target/                   Build products
&lt;/code&gt;&lt;/pre&gt; 
&lt;h1&gt;Get ready to contribute&lt;/h1&gt; 
&lt;h2&gt;Requirements&lt;/h2&gt; 
&lt;p&gt;You need the following tools:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Java SDK. The baseline version is 8 for both 2.12.x and 2.13.x. It is almost always fine to use a later SDK (such as 17 or 21) for local development. CI will verify against the baseline version.&lt;/li&gt; 
 &lt;li&gt;sbt&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;MacOS and Linux work. Windows may work if you use Cygwin. Community help with keeping the build working on Windows and documenting any needed setup is appreciated.&lt;/p&gt; 
&lt;h2&gt;Tools we use&lt;/h2&gt; 
&lt;p&gt;We are grateful for the following OSS licenses:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.ej-technologies.com/products/jprofiler/overview.html&quot;&gt;JProfiler Java profiler&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.yourkit.com/java/profiler/&quot;&gt;YourKit Java Profiler&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/idea/download/&quot;&gt;IntelliJ IDEA&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Build setup&lt;/h2&gt; 
&lt;h3&gt;Basics&lt;/h3&gt; 
&lt;p&gt;During ordinary development, a new Scala build is built by the previously released version, known as the &quot;reference compiler&quot; or, slangily, as &quot;STARR&quot; (stable reference release). Building with STARR is sufficient for most kinds of changes.&lt;/p&gt; 
&lt;p&gt;However, a full build of Scala is &lt;em&gt;bootstrapped&lt;/em&gt;. Bootstrapping has two steps: first, build with STARR; then, build again using the freshly built compiler, leaving STARR behind. This guarantees that every Scala version can build itself.&lt;/p&gt; 
&lt;p&gt;If you change the code generation part of the Scala compiler, your changes will only show up in the bytecode of the library and compiler after a bootstrap. Our CI does a bootstrapped build.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Bootstrapping locally&lt;/strong&gt;: To perform a bootstrap, run &lt;code&gt;restarrFull&lt;/code&gt; within an sbt session. This will build and publish the Scala distribution to your local artifact repository and then switch sbt to use that version as its new &lt;code&gt;scalaVersion&lt;/code&gt;. You may then revert back with &lt;code&gt;reload&lt;/code&gt;. Note &lt;code&gt;restarrFull&lt;/code&gt; will also write the STARR version to &lt;code&gt;buildcharacter.properties&lt;/code&gt; so you can switch back to it with &lt;code&gt;restarr&lt;/code&gt; without republishing. This will switch the sbt session to use the &lt;code&gt;build-restarr&lt;/code&gt; and &lt;code&gt;target-restarr&lt;/code&gt; directories instead of &lt;code&gt;build&lt;/code&gt; and &lt;code&gt;target&lt;/code&gt;, which avoids wiping out classfiles and incremental metadata. IntelliJ will continue to be configured to compile and run tests using the starr version in &lt;code&gt;versions.properties&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;For history on how the current scheme was arrived at, see &lt;a href=&quot;https://groups.google.com/d/topic/scala-internals/gp5JsM1E0Fo/discussion&quot;&gt;https://groups.google.com/d/topic/scala-internals/gp5JsM1E0Fo/discussion&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Building with fatal warnings&lt;/strong&gt;: To make warnings in the project fatal (i.e. turn them into errors), run &lt;code&gt;set Global / fatalWarnings := true&lt;/code&gt; in sbt (replace &lt;code&gt;Global&lt;/code&gt; with the name of a module—such as &lt;code&gt;reflect&lt;/code&gt;—to only make warnings fatal for that module). To disable fatal warnings again, either &lt;code&gt;reload&lt;/code&gt; sbt, or run &lt;code&gt;set Global / fatalWarnings := false&lt;/code&gt; (again, replace &lt;code&gt;Global&lt;/code&gt; with the name of a module if you only enabled fatal warnings for that module). CI always has fatal warnings enabled.&lt;/p&gt; 
&lt;h3&gt;Using the sbt build&lt;/h3&gt; 
&lt;p&gt;Once you&#39;ve started an &lt;code&gt;sbt&lt;/code&gt; session you can run one of the core commands:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;compile&lt;/code&gt; compiles all sub-projects (library, reflect, compiler, scaladoc, etc)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;scala&lt;/code&gt; / &lt;code&gt;scalac&lt;/code&gt; run the REPL / compiler directly from sbt (accept options / arguments)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;enableOptimizer&lt;/code&gt; reloads the build with the Scala optimizer enabled. Our releases are built this way. Enable this when working on compiler performance improvements. When the optimizer is enabled the build will be slower and incremental builds can be incorrect.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;setupPublishCore&lt;/code&gt; runs &lt;code&gt;enableOptimizer&lt;/code&gt; and configures a version number based on the current Git SHA. Often used as part of bootstrapping: &lt;code&gt;sbt setupPublishCore publishLocal &amp;amp;&amp;amp; sbt -Dstarr.version=&amp;lt;VERSION&amp;gt; testAll&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;dist/mkBin&lt;/code&gt; generates runner scripts (&lt;code&gt;scala&lt;/code&gt;, &lt;code&gt;scalac&lt;/code&gt;, etc) in &lt;code&gt;build/quick/bin&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;dist/mkPack&lt;/code&gt; creates a build in the Scala distribution format in &lt;code&gt;build/pack&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;junit/test&lt;/code&gt; runs the JUnit tests; &lt;code&gt;junit/testOnly *Foo&lt;/code&gt; runs a subset&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;scalacheck/test&lt;/code&gt; runs scalacheck tests, use &lt;code&gt;testOnly&lt;/code&gt; to run a subset&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;partest&lt;/code&gt; runs partest tests (accepts options, try &lt;code&gt;partest --help&lt;/code&gt;)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;publishLocal&lt;/code&gt; publishes a distribution locally (can be used as &lt;code&gt;scalaVersion&lt;/code&gt; in other sbt projects) 
  &lt;ul&gt; 
   &lt;li&gt;Optionally &lt;code&gt;set baseVersionSuffix := &quot;bin-abcd123-SNAPSHOT&quot;&lt;/code&gt; where &lt;code&gt;abcd123&lt;/code&gt; is the git hash of the revision being published. You can also use something custom like &lt;code&gt;&quot;bin-mypatch&quot;&lt;/code&gt;. This changes the version number from &lt;code&gt;2.13.2-SNAPSHOT&lt;/code&gt; to something more stable (&lt;code&gt;2.13.2-bin-abcd123-SNAPSHOT&lt;/code&gt;).&lt;/li&gt; 
   &lt;li&gt;Note that the &lt;code&gt;-bin&lt;/code&gt; string marks the version binary compatible. Using it in sbt will cause the &lt;code&gt;scalaBinaryVersion&lt;/code&gt; to be &lt;code&gt;2.13&lt;/code&gt;. If the version is not binary compatible, we recommend using &lt;code&gt;-pre&lt;/code&gt;, e.g., &lt;code&gt;2.14.0-pre-abcd123-SNAPSHOT&lt;/code&gt;.&lt;/li&gt; 
   &lt;li&gt;Optionally &lt;code&gt;set ThisBuild / Compile / packageDoc / publishArtifact := false&lt;/code&gt; to skip generating / publishing API docs (speeds up the process).&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If a command results in an error message like &lt;code&gt;a module is not authorized to depend on itself&lt;/code&gt;, it may be that a global sbt plugin is causing a cyclical dependency. Try disabling global sbt plugins (perhaps by temporarily commenting them out in &lt;code&gt;~/.sbt/1.0/plugins/plugins.sbt&lt;/code&gt;).&lt;/p&gt; 
&lt;h4&gt;Sandbox&lt;/h4&gt; 
&lt;p&gt;We recommend keeping local test files in the &lt;code&gt;sandbox&lt;/code&gt; directory which is listed in the &lt;code&gt;.gitignore&lt;/code&gt; of the Scala repo.&lt;/p&gt; 
&lt;h3&gt;IDE setup&lt;/h3&gt; 
&lt;p&gt;In IntelliJ IDEA, use &quot;File - Open...&quot;, select the project folder and use &quot;Open as: sbt project&quot;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;JUnit tests can be launched / debugged from the IDE, including tests that run the compiler (e.g., &lt;code&gt;QuickfixTest&lt;/code&gt;).&lt;/li&gt; 
 &lt;li&gt;Building in IntelliJ interoperates with the sbt build; the compiler script in &lt;code&gt;build/quick/bin&lt;/code&gt; (generated by running &lt;code&gt;sbt dist/mkBin&lt;/code&gt;) runs the classfiles built via the IDE.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;In VSCode / Metals, open the project directory and import the project as ususal.&lt;/p&gt; 
&lt;h1&gt;Coding guidelines&lt;/h1&gt; 
&lt;p&gt;Our guidelines for contributing are explained in &lt;a href=&quot;https://raw.githubusercontent.com/scala/scala/2.13.x/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt;. It contains useful information on our coding standards, testing, documentation, how we use git and GitHub and how to get your code reviewed.&lt;/p&gt; 
&lt;p&gt;Refer to our &lt;a href=&quot;https://raw.githubusercontent.com/scala/scala/2.13.x/LLM_POLICY.md&quot;&gt;LLM policy&lt;/a&gt; for rules and guidelines regarding the use of LLM-based tools in your contributions.&lt;/p&gt; 
&lt;p&gt;You may also want to check out the following resources:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;The &lt;a href=&quot;https://scala-lang.org/contribute/hacker-guide.html&quot;&gt;&quot;Scala Hacker Guide&quot;&lt;/a&gt; covers some of the same ground as this README, but in greater detail and in a more tutorial style, using a running example.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.scala-lang.org&quot;&gt;Scala documentation site&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Scala CI&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://travis-ci.com/scala/scala&quot;&gt;&lt;img src=&quot;https://travis-ci.com/scala/scala.svg?branch=2.13.x&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Once you submit a PR your commits will be automatically tested by the Scala CI.&lt;/p&gt; 
&lt;p&gt;Our CI setup is always evolving. See &lt;a href=&quot;https://github.com/scala/scala-dev/issues/751&quot;&gt;scala/scala-dev#751&lt;/a&gt; for more details on how things currently work and how we expect they might change.&lt;/p&gt; 
&lt;p&gt;If you see a spurious failure on Jenkins, you can post &lt;code&gt;/rebuild&lt;/code&gt; as a PR comment. The &lt;a href=&quot;https://github.com/scala/scabot&quot;&gt;scabot README&lt;/a&gt; lists all available commands.&lt;/p&gt; 
&lt;p&gt;If you&#39;d like to test your patch before having everything polished for review, you can have Travis CI build your branch (make sure you have a fork and have Travis CI enabled for branch builds on it first, and then push your branch). Also feel free to submit a draft PR. In case your draft branch contains a large number of commits (that you didn&#39;t clean up / squash yet for review), consider adding &lt;code&gt;[ci: last-only]&lt;/code&gt; to the PR title. That way only the last commit will be tested, saving some energy and CI-resources. Note that inactive draft PRs will be closed eventually, which does not mean the change is being rejected.&lt;/p&gt; 
&lt;p&gt;CI performs a compiler bootstrap. The first task, &lt;code&gt;validatePublishCore&lt;/code&gt;, publishes a build of your commit to the temporary repository &lt;a href=&quot;https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots&quot;&gt;https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots&lt;/a&gt;. Note that this build is not yet bootstrapped, its bytecode is built using the current STARR. The version number is &lt;code&gt;2.13.2-bin-abcd123-SNAPSHOT&lt;/code&gt; where &lt;code&gt;abcd123&lt;/code&gt; is the commit hash. For binary incompatible builds, the version number is &lt;code&gt;2.14.0-pre-abcd123-SNAPSHOT&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;You can use Scala builds in the validation repository locally by adding a resolver and specifying the corresponding &lt;code&gt;scalaVersion&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;$ sbt
&amp;gt; set resolvers += &quot;pr&quot; at &quot;https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots/&quot;
&amp;gt; set scalaVersion := &quot;2.13.17-bin-abcd123-SNAPSHOT&quot;
&amp;gt; console
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;&quot;Nightly&quot; builds&lt;/h2&gt; 
&lt;p&gt;The Scala CI publishes these to &lt;a href=&quot;https://scala-ci.typesafe.com/artifactory/scala-integration/&quot;&gt;https://scala-ci.typesafe.com/artifactory/scala-integration/&lt;/a&gt; .&lt;/p&gt; 
&lt;p&gt;Using a nightly build in sbt and other tools is explained on this &lt;a href=&quot;https://docs.scala-lang.org/overviews/core/nightlies.html&quot;&gt;doc page&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Although we casually refer to these as &quot;nightly&quot; builds, they aren&#39;t actually built nightly, but &quot;mergely&quot;. That is to say, a build is published for every merged PR.&lt;/p&gt; 
&lt;h2&gt;Scala CI internals&lt;/h2&gt; 
&lt;p&gt;The Scala CI runs as a Jenkins instance on &lt;a href=&quot;https://scala-ci.typesafe.com/&quot;&gt;scala-ci.typesafe.com&lt;/a&gt;, configured by a chef cookbook at &lt;a href=&quot;https://github.com/scala/scala-jenkins-infra&quot;&gt;scala/scala-jenkins-infra&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The build bot that watches PRs, triggers testing builds and applies the &quot;reviewed&quot; label after an LGTM comment is in the &lt;a href=&quot;https://github.com/scala/scabot&quot;&gt;scala/scabot&lt;/a&gt; repo.&lt;/p&gt; 
&lt;h2&gt;Community build&lt;/h2&gt; 
&lt;p&gt;The Scala community build is an important method for testing Scala releases. A community build can be launched for any Scala commit, even before the commit&#39;s PR has been merged. That commit is then used to build a large number of open-source projects from source and run their test suites.&lt;/p&gt; 
&lt;p&gt;To request a community build run on your PR, just ask in a comment on the PR and a Scala team member (probably @SethTisue) will take care of it. (&lt;a href=&quot;https://github.com/scala/community-builds/wiki#can-i-run-it-against-a-pull-request-in-scalascala&quot;&gt;details&lt;/a&gt;)&lt;/p&gt; 
&lt;p&gt;Community builds run on the Scala Jenkins instance. The jobs are named &lt;code&gt;..-integrate-community-build&lt;/code&gt;. See the &lt;a href=&quot;https://github.com/scala/community-builds&quot;&gt;scala/community-builds&lt;/a&gt; repo.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/c876144d697a1ed01035e8df9d07b95492353d8639a910f10bca63e07ae1653f/scala/scala" medium="image" />
      
    </item>
    
    <item>
      <title>snowplow/snowplow</title>
      <link>https://github.com/snowplow/snowplow</link>
      <description>&lt;p&gt;The leader in Customer Data Infrastructure&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://snowplow.io?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/snowplow/snowplow/master/media/snowplow_logo.png&quot; alt=&quot;Snowplow logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt;As of January 8, 2024, Snowplow introduced the &lt;a href=&quot;https://docs.snowplow.io/limited-use-license-1.1/&quot;&gt;Snowplow Limited Use License Agreement&lt;/a&gt;, and we are releasing new versions of our core pipeline technology under this license. There will be no security patches made to versions of our software that pre-date January 2024.&lt;/p&gt; 
&lt;p&gt;If you are currently using the pipeline in production, or in a way that is competitive with Snowplow, these changes affect you. If you wish to use the current version of Snowplow software, &lt;a href=&quot;https://snowplow.io/snowplow-oss-license-change&quot;&gt;please contact us&lt;/a&gt;&amp;nbsp;to discuss a plan that works for you.&lt;/p&gt; 
&lt;p&gt;We value all of our users and remain dedicated to helping our community use Snowplow in the optimal capacity that fits their business goals and needs.&lt;/p&gt; 
&lt;p&gt;Read more about this change &lt;a href=&quot;https://docs.snowplow.io/docs/resources/limited-use-license-faq/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Introduction&lt;/h2&gt; 
&lt;p&gt;Welcome to Snowplow, the Customer Context Layer transforming raw behavioral data into real-time customer context for AI agents and advanced analytics. AI runs on models, but wins on context.&lt;/p&gt; 
&lt;p&gt;Digital-first companies like Strava, Burberry, Supercell, Michaels, 1Password, HelloFresh, Experian, and Secret Escapes rely on Snowplow to collect and process event-level data in real time, delivering it securely to their warehouse, lake, or stream — without the engineering complexity of building data infrastructure.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Why a Customer Context Layer?&lt;/h3&gt; 
&lt;p&gt;Snowplow is the data foundation for an organization&#39;s most demanding use cases: advanced analytics, context-aware AI agents, and real-time personalization. From predicting customer behaviors to powering agentic AI systems and detecting fraud in real time, Snowplow provides the high-fidelity behavioral context that makes it all possible.&lt;/p&gt; 
&lt;p&gt;Key benefits of Snowplow’s Customer Context Layer:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Data depth and quality&lt;/li&gt; 
 &lt;li&gt;Centralized data governance&lt;/li&gt; 
 &lt;li&gt;Real-time operationalization and personalization&lt;/li&gt; 
 &lt;li&gt;Privacy and compliance&lt;/li&gt; 
 &lt;li&gt;AI- and BI-ready behavioral data&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Why Snowplow?&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;“Glass-box” technical architecture capable of processing billions of events per day&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Over &lt;a href=&quot;https://docs.snowplow.io/docs/sources?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;25 SDKs and webhooks&lt;/a&gt;&lt;/strong&gt; to collect data from web, mobile, server-side, and other sources&lt;/li&gt; 
 &lt;li&gt;A unique approach based on &lt;strong&gt;&lt;a href=&quot;https://docs.snowplow.io/docs/fundamentals/schemas?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;schemas and validation&lt;/a&gt;&lt;/strong&gt; ensures your data is as clean as possible&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Over &lt;a href=&quot;https://docs.snowplow.io/docs/pipeline/enrichments?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;15 enrichments&lt;/a&gt;&lt;/strong&gt; to get the most out of your data&lt;/li&gt; 
 &lt;li&gt;Stream data to your data warehouse/lakehouse or SaaS destinations of choice&lt;/li&gt; 
 &lt;li&gt;Build and manage behavioral tracking plans with &lt;a href=&quot;https://docs.snowplow.io/docs/event-studio?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;Event Studio&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Power context-aware AI agents and proactive decisioning with &lt;a href=&quot;https://docs.snowplow.io/docs/signals/get-started?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;Signals&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Our &lt;a href=&quot;https://docs.snowplow.io/docs?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;documentation&lt;/a&gt; is a great place to learn more.&lt;/p&gt; 
&lt;p&gt;This repository contains the major Snowplow components as individual submodule repositories.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Build with Snowplow&lt;/h3&gt; 
&lt;p&gt;The Snowplow &lt;a href=&quot;https://snowplow.io/developer-hub?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;Developer Hub&lt;/a&gt; has solution accelerators, architecture guides, demo videos, and other helpful resources to get you started.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Community&lt;/h3&gt; 
&lt;p&gt;Check out our &lt;a href=&quot;https://community.snowplow.io?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;Community&lt;/a&gt; for support and updates.&lt;/p&gt; 
&lt;p&gt;If you spot a bug, please raise an issue in the GitHub repository of the component in question.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Copyright and license&lt;/h3&gt; 
&lt;p&gt;Copyright 2012-2026 Snowplow Analytics Ltd.&lt;/p&gt; 
&lt;p&gt;Snowplow components are licensed differently depending on their purpose. Read about our different licenses &lt;a href=&quot;https://docs.snowplow.io/docs/licensing?utm_source=github&amp;amp;utm_content=main-repo&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/3591964/8b80a400-a3af-11eb-96ec-b4bc37bc6e3c" medium="image" />
      
    </item>
    
    <item>
      <title>gitbucket/gitbucket</title>
      <link>https://github.com/gitbucket/gitbucket</link>
      <description>&lt;p&gt;A Git platform powered by Scala with easy installation, high extensibility &amp; GitHub API compatibility&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;GitBucket &lt;a href=&quot;https://gitter.im/gitbucket/gitbucket&quot;&gt;&lt;img src=&quot;https://badges.gitter.im/gitbucket/gitbucket.svg?sanitize=true&quot; alt=&quot;Gitter chat&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/gitbucket/gitbucket/actions/workflows/build.yml&quot;&gt;&lt;img src=&quot;https://github.com/gitbucket/gitbucket/actions/workflows/build.yml/badge.svg?sanitize=true&quot; alt=&quot;build&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://index.scala-lang.org/gitbucket/gitbucket/gitbucket&quot;&gt;&lt;img src=&quot;https://index.scala-lang.org/gitbucket/gitbucket/gitbucket/latest-by-scala-version.svg?sanitize=true&quot; alt=&quot;gitbucket Scala version support&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/gitbucket/gitbucket/raw/master/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/License-Apache%202.0-blue.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;p&gt;GitBucket is a Git web platform powered by Scala offering:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Easy installation&lt;/li&gt; 
 &lt;li&gt;Intuitive UI&lt;/li&gt; 
 &lt;li&gt;High extensibility by plugins&lt;/li&gt; 
 &lt;li&gt;API compatibility with GitHub&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;img src=&quot;https://gitbucket.github.io/img/screenshots/screenshot-repository_viewer.png&quot; alt=&quot;GitBucket&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;p&gt;The current version of GitBucket provides many features such as:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Public / Private Git repositories (with http/https and ssh access)&lt;/li&gt; 
 &lt;li&gt;GitLFS support&lt;/li&gt; 
 &lt;li&gt;Repository viewer including an online file editor&lt;/li&gt; 
 &lt;li&gt;Issues, Pull Requests and Wiki for repositories&lt;/li&gt; 
 &lt;li&gt;Activity timeline and email notifications&lt;/li&gt; 
 &lt;li&gt;Account and group management with LDAP integration&lt;/li&gt; 
 &lt;li&gt;a Plug-in system&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;GitBucket requires &lt;strong&gt;Java 17&lt;/strong&gt;. You have to install it, if it is not already installed.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Download the latest &lt;strong&gt;gitbucket.war&lt;/strong&gt; from &lt;a href=&quot;https://github.com/gitbucket/gitbucket/releases&quot;&gt;the releases page&lt;/a&gt; and run it by &lt;code&gt;java -jar gitbucket.war&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Go to &lt;code&gt;http://[hostname]:8080/&lt;/code&gt; and log in with ID: &lt;strong&gt;root&lt;/strong&gt; / Pass: &lt;strong&gt;root&lt;/strong&gt;.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;You can also deploy &lt;code&gt;gitbucket.war&lt;/code&gt; to a servlet container which supports Servlet 3.0 (like Jetty, Tomcat, JBoss, etc). Note that GitBucket doesn&#39;t support Jakarta EE yet.&lt;/p&gt; 
&lt;p&gt;For more information about installation on Mac or Windows Server (with IIS), or configuration of Apache or Nginx and also integration with other tools or services such as Jenkins or Slack, see &lt;a href=&quot;https://github.com/gitbucket/gitbucket/wiki&quot;&gt;Wiki&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;To upgrade GitBucket, replace &lt;code&gt;gitbucket.war&lt;/code&gt; with the new version, after stopping GitBucket. All GitBucket data is stored in &lt;code&gt;HOME/.gitbucket&lt;/code&gt; by default. So if you want to back up GitBucket&#39;s data, copy this directory to the backup location.&lt;/p&gt; 
&lt;h2&gt;Plugins&lt;/h2&gt; 
&lt;p&gt;GitBucket has a plug-in system that allows extra functionality. Officially the following plug-ins are provided:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/gitbucket/gitbucket-gist-plugin&quot;&gt;gitbucket-gist-plugin&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/gitbucket/gitbucket-emoji-plugin&quot;&gt;gitbucket-emoji-plugin&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/gitbucket/gitbucket-pages-plugin&quot;&gt;gitbucket-pages-plugin&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/gitbucket/gitbucket-notifications-plugin&quot;&gt;gitbucket-notifications-plugin&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can find more plugins made by the community at &lt;a href=&quot;https://github.com/gitbucket/gitbucket/wiki/Community-Plugins&quot;&gt;GitBucket community plugins&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Building and Development&lt;/h2&gt; 
&lt;p&gt;If you want to try the development version of GitBucket, or want to contribute to the project, please see the &lt;a href=&quot;https://github.com/gitbucket/gitbucket/raw/master/doc/readme.md&quot;&gt;Developer&#39;s Guide&lt;/a&gt;. It provides instructions on building from source and on setting up an IDE for debugging. It also contains documentation of the core concepts used within the project.&lt;/p&gt; 
&lt;h2&gt;Support&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;If you have any questions about GitBucket, see &lt;a href=&quot;https://github.com/gitbucket/gitbucket/wiki&quot;&gt;Wiki&lt;/a&gt; and check issues whether there is a same question or request in the past.&lt;/li&gt; 
 &lt;li&gt;If you can&#39;t find same question and report, send it to our &lt;a href=&quot;https://gitter.im/gitbucket/gitbucket&quot;&gt;Gitter chat room&lt;/a&gt; before raising an issue.&lt;/li&gt; 
 &lt;li&gt;The highest priority of GitBucket is the ease of installation and API compatibility with GitHub, so your feature request might be rejected if they go against those principles.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;What&#39;s New in 4.47.x&lt;/h2&gt; 
&lt;h3&gt;4.47.0 - 9 Aug 2026&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Add more security options for creating repositories by cloning&lt;/li&gt; 
 &lt;li&gt;Make the reset password token expiration period configurable&lt;/li&gt; 
 &lt;li&gt;Improve GitHub API compatibility for repository IDs, fork management&lt;/li&gt; 
 &lt;li&gt;Fix issue assignees not being preserved when a repository is renamed or transferred&lt;/li&gt; 
 &lt;li&gt;Improvements and bug fixes for markdown format actions in the text editor&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; This release includes a large database migration affecting core tables such as &lt;code&gt;REPOSITORY&lt;/code&gt; and &lt;code&gt;ACCOUNT&lt;/code&gt;. We strongly recommend backing up your database before upgrading to GitBucket 4.47.0.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Note 2:&lt;/strong&gt; You have to migrate h2 database file if you will upgrade GitBucket from 4.42 or before to 4.43 or later and you are using the default h2 database because h2 1.x and h2.x don&#39;t have compatibility: &lt;a href=&quot;https://www.h2database.com/html/migration-to-v2.html&quot;&gt;https://www.h2database.com/html/migration-to-v2.html&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;It can&#39;t be done automatically using GitBucket&#39;s auto migration mechanism because it relies on database itself. So, users who use h2 will have to dump and recreate their database manually with the following steps:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Export database using the current version of H2
$ curl -O https://repo1.maven.org/maven2/com/h2database/h2/1.4.199/h2-1.4.199.jar
$ java -cp h2-1.4.199.jar org.h2.tools.Script -url &quot;jdbc:h2:~/.gitbucket/data&quot; -user sa -password sa -script dump.sql

# Recreate database using the new version of H2
$ curl -O https://repo1.maven.org/maven2/com/h2database/h2/2.3.232/h2-2.3.232.jar
$ java -cp h2-2.3.232.jar org.h2.tools.RunScript -url &quot;jdbc:h2:~/.gitbucket/data&quot; -user sa -password sa -script dump.sql
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In addition, if &lt;code&gt;~/.gitbucket/database.conf&lt;/code&gt; has the following configuration, remove &lt;code&gt;;MVCC=true&lt;/code&gt; from &lt;code&gt;url&lt;/code&gt;.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;db {
  url = &quot;jdbc:h2:${DatabaseHome};MVCC=true&quot; // =&amp;gt; &quot;jdbc:h2:${DatabaseHome}&quot;
  ...
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://raw.githubusercontent.com/gitbucket/gitbucket/master/CHANGELOG.md&quot;&gt;change log&lt;/a&gt; for all the past updates.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/ee544f4dd74264fba6f27aebc85d472ef73c34fa39e68390f55b5fb8e4c06ac3/gitbucket/gitbucket" medium="image" />
      
    </item>
    
    <item>
      <title>gatling/gatling</title>
      <link>https://github.com/gatling/gatling</link>
      <description>&lt;p&gt;Modern Load Testing as Code&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Gatling &lt;a href=&quot;https://github.com/gatling/gatling/actions/workflows/build.yml?query=branch%3Amain&quot;&gt;&lt;img src=&quot;https://github.com/gatling/gatling/actions/workflows/build.yml/badge.svg?branch=main&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://central.sonatype.com/search?q=gatling-core&quot;&gt;&lt;img src=&quot;https://img.shields.io/maven-central/v/io.gatling/gatling-core&quot; alt=&quot;Maven Central&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;h1&gt;Load Testing &amp;amp; Performance Engineering Platform&lt;/h1&gt; 
&lt;p&gt;&lt;img src=&quot;https://cdn.prod.website-files.com/685a8fe4ddca049f26333871/69a1aafc8c720790ee60811b_Github%20Cover.png&quot; alt=&quot;Gatling Logo - placeholder&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;Gatling is an open-source load testing platform designed for modern performance engineering.&lt;/p&gt; 
&lt;p&gt;It helps teams simulate real-world traffic, validate system behavior under load, detect regressions early, and make confident release decisions.&lt;/p&gt; 
&lt;p&gt;Gatling officially supports HTTP, WebSocket, Server-Sent Events, JMS, gRPC, and MQTT, and integrates natively with CI/CD pipelines, APM tools, and modern DevOps workflows.&lt;/p&gt; 
&lt;h2&gt;What is Gatling?&lt;/h2&gt; 
&lt;p&gt;Gatling started as a high-performance, code-first load testing tool.&lt;/p&gt; 
&lt;p&gt;It has evolved into the foundation of a broader vision: &lt;strong&gt;Continuous Performance Intelligence,&lt;/strong&gt; helping teams move from simply running tests to structuring performance around intent, measurable objectives, and decision-making.&lt;/p&gt; 
&lt;p&gt;Performance is no longer a technical checkbox. It’s a business imperative that drives revenue, ensures reliability, and manages risk.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Gatling enables you to:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Define performance tests as code (write tests in Java, JavaScript, TypeScript, Kotlin, or Scala, using fluent and expressive SDKs)&lt;/li&gt; 
 &lt;li&gt;Compare runs and detect regressions&lt;/li&gt; 
 &lt;li&gt;Monitor SLOs and performance objectives&lt;/li&gt; 
 &lt;li&gt;Integrate with observability tools&lt;/li&gt; 
 &lt;li&gt;Automate performance gates in CI/CD&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Why Gatling?&lt;/h2&gt; 
&lt;p&gt;Many legacy tools rely on blocking IO and one-thread-per-user architectures, forcing teams to maintain large farms of injection servers.&lt;/p&gt; 
&lt;p&gt;Gatling uses a non-blocking, asynchronous architecture that maximizes resource efficiency and scalability per node.&lt;/p&gt; 
&lt;p&gt;If you’re:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Tired of maintaining heavy infrastructure just to generate load&lt;/li&gt; 
 &lt;li&gt;Frustrated with complex GUIs and proprietary test formats&lt;/li&gt; 
 &lt;li&gt;Looking for an expressive SDK instead of XML dumps&lt;/li&gt; 
 &lt;li&gt;Wanting performance tests that live in your version control system&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Gatling is built for you.&lt;/p&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;The fastest way to get started is to follow the &lt;a href=&quot;https://docs.gatling.io/tutorials/&quot;&gt;official Gatling Tutorials&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;If you prefer jumping directly into SDK installation:&lt;/p&gt; 
&lt;h3&gt;Java SDK&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://docs.gatling.io/tutorials/test-as-code/java-jvm/installation-guide/&quot;&gt;Java JVM Installation Guide&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;JavaScript/TypeScript SDK&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://docs.gatling.io/tutorials/test-as-code/javascript/installation-guide/&quot;&gt;JavaScript Installation Guide&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Core Capabilities&lt;/h2&gt; 
&lt;p&gt;Gatling provides the foundation for structured performance engineering.&lt;/p&gt; 
&lt;h3&gt;1. Smart Performance Analysis&lt;/h3&gt; 
&lt;p&gt;With Gatling Enterprise Edition, teams gain real-time dashboards, trend analysis, SLO monitoring, AI-assisted summaries, and integrations with leading APM tools.&lt;/p&gt; 
&lt;h3&gt;2. Flexible Test Creation&lt;/h3&gt; 
&lt;p&gt;Use JavaScript/TypeScript, Java, Scala, or Kotlin. Record browser sessions, build visually, and export to code. Author tests in your IDE with AI-assisted tooling.&lt;/p&gt; 
&lt;p&gt;Tests remain version-controlled, reviewable, and CI/CD friendly.&lt;/p&gt; 
&lt;h3&gt;3. Continuous Load Testing&lt;/h3&gt; 
&lt;p&gt;Integrate performance testing into build pipelines and release workflows.&lt;/p&gt; 
&lt;p&gt;Trigger simulations automatically, define stop criteria, and enforce performance gates before deployment. Manage configurations and infrastructure as code.&lt;/p&gt; 
&lt;h3&gt;4. Adaptive Load Infrastructure&lt;/h3&gt; 
&lt;p&gt;Run load wherever you need it: locally, in your cloud, on-premise, or via managed infrastructure. Scale globally while keeping traffic private and under cost control.&lt;/p&gt; 
&lt;h3&gt;5. Collaboration &amp;amp; Governance&lt;/h3&gt; 
&lt;p&gt;Gatling Enterprise Edition extends the open-source foundation with:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Role-based access control&lt;/li&gt; 
 &lt;li&gt;SSO&lt;/li&gt; 
 &lt;li&gt;Quotas and usage management&lt;/li&gt; 
 &lt;li&gt;Shared reports and public links&lt;/li&gt; 
 &lt;li&gt;Slack, Teams, and Jira integrations&lt;/li&gt; 
 &lt;li&gt;Low-code or no-code test creation&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;One platform for Dev, QA, Ops, and leadership.&lt;/p&gt; 
&lt;h2&gt;Integrations&lt;/h2&gt; 
&lt;p&gt;Gatling integrates with leading CI/CD systems, APM tools, and observability platforms.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://gatling.io/integrations&quot;&gt;Discover all supported integrations&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Community &amp;amp; Support&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://docs.gatling.io/&quot;&gt;Documentation&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://gatling.io/updates&quot;&gt;Product Updates&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://gatling.io/resource-hub&quot;&gt;Resource Hub&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/@gatlingcorp&quot;&gt;YouTube Channel&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://community.gatling.io/&quot;&gt;Community Forum&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Found a bug? &lt;a href=&quot;https://github.com/gatling/gatling/issues&quot;&gt;Raise an issue.&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;License&lt;/h1&gt; 
&lt;p&gt;Gatling Open Source is licensed under Apache 2.0.&lt;/p&gt; 
&lt;h2&gt;Partners&lt;/h2&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/gatling/gatling/main/images/highsoft_logo.png&quot; alt=&quot;Highsoft AS&quot; /&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/3de78f020e3a7b3caac5e37e962d81919f0088333b64a8fd26b6e12595357c36/gatling/gatling" medium="image" />
      
    </item>
    
    <item>
      <title>akka/akka-http</title>
      <link>https://github.com/akka/akka-http</link>
      <description>&lt;p&gt;The Streaming-first HTTP server/module of Akka&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Akka&lt;/h1&gt; 
&lt;p&gt;&lt;em&gt;Akka is a powerful platform that simplifies building and operating highly responsive, resilient, and scalable services.&lt;/em&gt;&lt;/p&gt; 
&lt;p&gt;The platform consists of&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;the &lt;a href=&quot;https://doc.akka.io/java/index.html&quot;&gt;&lt;strong&gt;Akka SDK&lt;/strong&gt;&lt;/a&gt; for straightforward, rapid development with AI assist and automatic clustering. Services built with the Akka SDK are automatically clustered and can be deployed on any infrastructure.&lt;/li&gt; 
 &lt;li&gt;and &lt;a href=&quot;https://doc.akka.io/operations/akka-platform.html&quot;&gt;&lt;strong&gt;Akka Automated Operations&lt;/strong&gt;&lt;/a&gt;, a managed solution that handles everything for Akka SDK services from auto-elasticity to multi-region high availability running safely within your VPC.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The &lt;strong&gt;Akka SDK&lt;/strong&gt; and &lt;strong&gt;Akka Automated Operations&lt;/strong&gt; are built upon the foundational &lt;a href=&quot;https://doc.akka.io/libraries/akka-dependencies/current/&quot;&gt;&lt;strong&gt;Akka libraries&lt;/strong&gt;&lt;/a&gt;, providing the building blocks for distributed systems.&lt;/p&gt; 
&lt;h1&gt;Akka HTTP library&lt;/h1&gt; 
&lt;p&gt;The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It&#39;s not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP.&lt;/p&gt; 
&lt;p&gt;Akka HTTP follows a rather open design and many times offers several different API levels for &quot;doing the same thing&quot;. You get to pick the API level of abstraction that is most suitable for your application. This means that, if you have trouble achieving something using a high-level API, there&#39;s a good chance that you can get it done with a low-level API, which offers more flexibility but might require you to write more application code.&lt;/p&gt; 
&lt;h2&gt;Reference Documentation&lt;/h2&gt; 
&lt;p&gt;The reference documentation for all Akka libraries is available via &lt;a href=&quot;https://doc.akka.io/libraries/&quot;&gt;doc.akka.io/libraries/&lt;/a&gt;, details for the Akka HTTP library for &lt;a href=&quot;https://doc.akka.io/libraries/akka-http/current/?language=scala&quot;&gt;Scala&lt;/a&gt; and &lt;a href=&quot;https://doc.akka.io/libraries/akka-http/current/?language=java&quot;&gt;Java&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The current versions of all Akka libraries are listed on the &lt;a href=&quot;https://doc.akka.io/libraries/akka-dependencies/current/&quot;&gt;Akka Dependencies&lt;/a&gt; page. Releases of the Akka HTTP library in this repository are listed on the &lt;a href=&quot;https://github.com/akka/akka-http/releases&quot;&gt;GitHub releases&lt;/a&gt; page.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Contributions are &lt;em&gt;very&lt;/em&gt; welcome!&lt;/p&gt; 
&lt;p&gt;If you see an issue that you&#39;d like to see fixed, the best way to make it happen is to help out by submitting a pull request. For ideas of where to contribute, &lt;a href=&quot;https://github.com/akka/akka-http/labels/help%20wanted&quot;&gt;tickets marked as &quot;help wanted&quot;&lt;/a&gt; are a good starting point.&lt;/p&gt; 
&lt;p&gt;Refer to the &lt;a href=&quot;https://raw.githubusercontent.com/akka/akka-http/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly.&lt;/p&gt; 
&lt;h2&gt;Maintenance&lt;/h2&gt; 
&lt;p&gt;This project is maintained by the core Akka Team as well as the extended Akka HTTP Team, consisting of excellent and experienced developers who have shown their dedication and knowledge about HTTP and the codebase. This team may grow dynamically, and it is possible to propose new members to it.&lt;/p&gt; 
&lt;p&gt;Joining the extended team in such form gives you, in addition to street-cred, of course committer rights to this repository as well as higher impact onto the roadmap of the project. Come and join us!&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Akka is licensed under the Business Source License 1.1, please see the &lt;a href=&quot;https://akka.io/bsl-license-faq&quot;&gt;Akka License FAQ&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Tests and documentation are under a separate license, see the LICENSE file in each documentation and test root directory for details.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/66077955/caf4238f-d517-4fbe-8398-27e820fb1f3d" medium="image" />
      
    </item>
    
  </channel>
</rss>
