<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    
    <title>GitHub Scala Monthly Trending Repositories</title>
    <description>Monthly Trending Repositories of Scala on GitHub</description>
    
    <pubDate>Thu, 13 Aug 2026 03:38:53 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://spark.apache.org/&quot;&gt;https://spark.apache.org/&lt;/a&gt;&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/afdcf2e176783c7acbaa5ec4872cb73601b893c65e361a6b7729d1b6a32d5461/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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm&quot;&gt;https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm&lt;/a&gt;&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/129b945f5b4c78b5f5c40f8e6181301b505cb4d3223ef068264a42654a9e79f2/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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://lichess.org&quot;&gt;https://lichess.org&lt;/a&gt;&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>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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://joern.io/&quot;&gt;https://joern.io/&lt;/a&gt;&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>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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://www.scala-lang.org/&quot;&gt;https://www.scala-lang.org/&lt;/a&gt;&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/d3fabdeb8dbd6964bd3b4452e05742cb9bbde7b1f862cb331b38a8e139ef5597/scala/scala" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://gluten.apache.org/&quot;&gt;https://gluten.apache.org/&lt;/a&gt;&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/f86af2b269602247141947eb635004cef2b4f7d5e64e7d025a0ca97261f70560/apache/gluten" medium="image" />
      
    </item>
    
    <item>
      <title>OpenXiangShan/XiangShan</title>
      <link>https://github.com/OpenXiangShan/XiangShan</link>
      <description>&lt;p&gt;Open-source high-performance RISC-V processor&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://xiangshan.cc&quot;&gt;https://xiangshan.cc&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;XiangShan&lt;/h1&gt; 
&lt;p&gt;XiangShan (香山) is an open-source high-performance RISC-V processor project.&lt;/p&gt; 
&lt;p&gt;English | &lt;a href=&quot;https://raw.githubusercontent.com/OpenXiangShan/XiangShan/kunminghu-v3/README.zh-cn.md&quot;&gt;中文&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;XiangShan&#39;s documentation is available at &lt;a href=&quot;https://docs.xiangshan.cc&quot;&gt;docs.xiangshan.cc&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;XiangShan Design Document for Kunminghu V2R2 has been published separately. You can find it at &lt;a href=&quot;https://docs.xiangshan.cc/projects/design/&quot;&gt;docs.xiangshan.cc/projects/design&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;XiangShan User Guide has been published separately. You can find it at &lt;a href=&quot;https://docs.xiangshan.cc/projects/user-guide/&quot;&gt;docs.xiangshan.cc/projects/user-guide&lt;/a&gt; or &lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan-User-Guide/releases&quot;&gt;XiangShan-User-Guide/releases&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;We are using &lt;a href=&quot;https://hosted.weblate.org/projects/openxiangshan/&quot;&gt;Weblate&lt;/a&gt; to translate documentation into English and other languages. Your contributions are welcome—come and help us improve it!&lt;/p&gt; 
&lt;p&gt;All XiangShan documents are licensed under the CC-BY-4.0.&lt;/p&gt; 
&lt;h2&gt;Publications&lt;/h2&gt; 
&lt;h3&gt;MICRO 2022: Towards Developing High Performance RISC-V Processors Using Agile Methodology&lt;/h3&gt; 
&lt;p&gt;Our paper introduces XiangShan and the practice of agile development methodology on high performance RISC-V processors. It covers some representative tools we have developed and used to accelerate the chip development process, including design, functional verification, debugging, performance validation, etc. This paper is awarded all three available badges for artifact evaluation (Available, Functional, and Reproduced).&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://talks-pubs.xiangshan.cc/publications/images/artifacts_available_dl.jpg&quot; alt=&quot;Artifacts Available&quot; /&gt; &lt;img src=&quot;https://talks-pubs.xiangshan.cc/publications/images/artifacts_evaluated_functional_dl.jpg&quot; alt=&quot;Artifacts Evaluated — Functional&quot; /&gt; &lt;img src=&quot;https://talks-pubs.xiangshan.cc/publications/images/results_reproduced_dl.jpg&quot; alt=&quot;Results Reproduced&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://talks-pubs.xiangshan.cc/publications/micro2022-xiangshan.pdf&quot;&gt;Paper PDF&lt;/a&gt; | &lt;a href=&quot;https://ieeexplore.ieee.org/abstract/document/9923860&quot;&gt;IEEE Xplore&lt;/a&gt; | &lt;a href=&quot;https://talks-pubs.xiangshan.cc/publications/micro2022-xiangshan.bib&quot;&gt;BibTeX&lt;/a&gt; | &lt;a href=&quot;https://talks-pubs.xiangshan.cc/publications/micro2022-xiangshan-slides.pdf&quot;&gt;Presentation Slides&lt;/a&gt; | &lt;a href=&quot;https://www.bilibili.com/video/BV1FB4y1j7Jy&quot;&gt;Presentation Video&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Follow us&lt;/h2&gt; 
&lt;p&gt;Wechat/微信：香山开源处理器&lt;/p&gt; 
&lt;div align=&quot;left&quot;&gt;
 &lt;img width=&quot;340&quot; height=&quot;117&quot; src=&quot;https://raw.githubusercontent.com/OpenXiangShan/XiangShan/kunminghu-v3/images/wechat.png&quot; /&gt;
&lt;/div&gt; 
&lt;p&gt;Zhihu/知乎：&lt;a href=&quot;https://www.zhihu.com/people/openxiangshan&quot;&gt;香山开源处理器&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Weibo/微博：&lt;a href=&quot;https://weibo.com/u/7706264932&quot;&gt;香山开源处理器&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;You can contact us through &lt;a href=&quot;mailto:xiangshan-all@ict.ac.cn&quot;&gt;our mailing list&lt;/a&gt;. All mails from this list will be archived &lt;a href=&quot;https://www.mail-archive.com/xiangshan-all@ict.ac.cn/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Architecture&lt;/h2&gt; 
&lt;p&gt;The first stable micro-architecture of XiangShan is called Yanqihu (雁栖湖) and is &lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/tree/yanqihu&quot;&gt;on the yanqihu branch&lt;/a&gt;, which has been developed since June 2020.&lt;/p&gt; 
&lt;p&gt;The second stable micro-architecture of XiangShan is called Nanhu (南湖) and is &lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/tree/nanhu&quot;&gt;on the nanhu branch&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The third-generation XiangShan microarchitecture, Kunminghu (昆明湖), is under active development on the &lt;code&gt;kunminghu-v2&lt;/code&gt; and &lt;code&gt;kunminghu-v3&lt;/code&gt; branches.&lt;/p&gt; 
&lt;p&gt;The micro-architecture overview of Kunminghu-V2 is shown below.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/OpenXiangShan/XiangShan/kunminghu-v3/images/xs-arch-kunminghu.svg?sanitize=true&quot; alt=&quot;xs-arch-kunminghu&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Branch Maintenance Status&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Generation-Version&lt;/th&gt; 
   &lt;th&gt;Branch&lt;/th&gt; 
   &lt;th&gt;Maintained?&lt;/th&gt; 
   &lt;th&gt;Active Development?&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Yanqihu&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/tree/yanqihu&quot;&gt;yanqihu&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;✅ (minimum)&lt;/td&gt; 
   &lt;td&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Nanhu-V2&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/tree/nanhu&quot;&gt;nanhu&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;✅ (minimum)&lt;/td&gt; 
   &lt;td&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Nanhu-V3&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/Siudya/Nanhu/tree/main&quot;&gt;Siudya/Nanhu&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Nanhu-V5&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/OpenXiangShan-Nanhu/OpenNanhu-V5&quot;&gt;OpenXiangShan-Nanhu/OpenNanhu-V5&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;✅&lt;/td&gt; 
   &lt;td&gt;✅&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Kunminghu-V2&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/tree/kunminghu-v2&quot;&gt;kunminghu-v2&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;✅&lt;/td&gt; 
   &lt;td&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Kunminghu-V3&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/tree/kunminghu-v3&quot;&gt;kunminghu-v3&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;✅&lt;/td&gt; 
   &lt;td&gt;✅&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;At the moment, &lt;code&gt;kunminghu-v3&lt;/code&gt; is still evolving rapidly and its functionality may not yet be stable. If you plan to use XiangShan for research, verification, or downstream applications, we recommend prioritizing &lt;code&gt;kunminghu-v2&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;This section is time-sensitive. If you believe any information here is outdated, please let us know in an issue and we will update it as soon as possible.&lt;/p&gt; 
&lt;p&gt;Last updated: 2026/06/30&lt;/p&gt; 
&lt;h2&gt;Sub-directories Overview&lt;/h2&gt; 
&lt;p&gt;Some of the key directories are shown below.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;.
├── src
│   └── main/scala         # design files
│       ├── device         # virtual device for simulation
│       ├── system         # SoC wrapper
│       ├── top            # top module
│       ├── utils          # utilization code
│       └── xiangshan      # main design code
│           └── transforms # some useful firrtl transforms
├── scripts                # scripts for agile development
├── yunsuan                # yunsuan submodule of XiangShan
├── XSCache                # cache subsystem of XiangShan
├── difftest               # difftest co-simulation framework
└── ready-to-run           # pre-built simulation images
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;IDE Support&lt;/h2&gt; 
&lt;h3&gt;bsp&lt;/h3&gt; 
&lt;pre&gt;&lt;code&gt;make bsp
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;IDEA&lt;/h3&gt; 
&lt;pre&gt;&lt;code&gt;make idea
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Generate Verilog&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Run &lt;code&gt;make verilog&lt;/code&gt; to generate verilog code. This generates multiple &lt;code&gt;.sv&lt;/code&gt; files in the &lt;code&gt;build/rtl/&lt;/code&gt; folder (e.g., &lt;code&gt;build/rtl/XSTop.sv&lt;/code&gt;).&lt;/li&gt; 
 &lt;li&gt;Refer to &lt;code&gt;Makefile&lt;/code&gt; for more information.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Run Programs by Simulation&lt;/h2&gt; 
&lt;h3&gt;Prepare environment&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Set environment variable &lt;code&gt;NEMU_HOME&lt;/code&gt; to the &lt;strong&gt;absolute path&lt;/strong&gt; of the &lt;a href=&quot;https://github.com/OpenXiangShan/NEMU&quot;&gt;NEMU project&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Set environment variable &lt;code&gt;NOOP_HOME&lt;/code&gt; to the &lt;strong&gt;absolute path&lt;/strong&gt; of the XiangShan project.&lt;/li&gt; 
 &lt;li&gt;Set environment variable &lt;code&gt;AM_HOME&lt;/code&gt; to the &lt;strong&gt;absolute path&lt;/strong&gt; of the &lt;a href=&quot;https://github.com/OpenXiangShan/nexus-am&quot;&gt;AM project&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Install &lt;code&gt;mill&lt;/code&gt;. Refer to &lt;a href=&quot;https://mill-build.org/mill/cli/installation-ide.html#_bootstrap_scripts&quot;&gt;the Manual section in this guide&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Clone this project and run &lt;code&gt;make init&lt;/code&gt; to initialize submodules.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Run with simulator&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Install &lt;a href=&quot;https://verilator.org/guide/latest/&quot;&gt;Verilator&lt;/a&gt;, the open-source Verilog simulator.&lt;/li&gt; 
 &lt;li&gt;Run &lt;code&gt;make emu&lt;/code&gt; to build the C++ simulator &lt;code&gt;./build/emu&lt;/code&gt; with Verilator.&lt;/li&gt; 
 &lt;li&gt;Refer to &lt;code&gt;./build/emu --help&lt;/code&gt; for run-time arguments of the simulator.&lt;/li&gt; 
 &lt;li&gt;Refer to &lt;code&gt;Makefile&lt;/code&gt; and &lt;code&gt;verilator.mk&lt;/code&gt; for more information.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10
./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Run with xspdb&lt;/h3&gt; 
&lt;p&gt;There are two ways to use xspdb:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt; &lt;p&gt;Quick Start with Prebuilt Binaries&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;strong&gt;Why choose this?&lt;/strong&gt; It is lightweight and requires no compilation. A standard Python environment is enough to run the full XiangShan experience with low memory usage.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;Step 1: Download&lt;/strong&gt; Get the latest XSPdb from the run summary of the repository&#39;s &lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/actions/workflows/release.yml?query=is%3Asuccess+event%3Apush&quot;&gt;Actions&lt;/a&gt; workflow.&lt;/li&gt; 
   &lt;li&gt;&lt;strong&gt;Step 2: Extract &amp;amp; Run&lt;/strong&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Build from source code&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;Install &lt;a href=&quot;https://github.com/XS-MLVP/picker&quot;&gt;picker&lt;/a&gt;, a verification tool that supports high-level languages.&lt;/li&gt; 
   &lt;li&gt;Run &lt;code&gt;make pdb&lt;/code&gt; to build XiangShan Python binaries.&lt;/li&gt; 
   &lt;li&gt;Run &lt;code&gt;make pdb-run&lt;/code&gt; to run XiangShan binaries.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;Example output and interaction:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ make pdb-run
[Info] Set PMEM_BASE to 0x80000000 (Current: 0x80000000)
[Info] Set FIRST_INST_ADDRESS to 0x80000000 (Current: 0x80000000)
Using simulated 32768B flash
[Info] reset dut complete
&amp;gt; XiangShan/scripts/pdb-run.py(13)run()
-&amp;gt; while True:
(XiangShan) xload ready-to-run/microbench.bin   # Load binary (Tab-compatible)
(XiangShan) xwatch_commit_pc 0x80000004         # Set watchpoint
(XiangShan) xistep 3                            # Step until the next three instructions commit; stops at the watchpoint if hit
[Info] Find break point (Inst commit), break (step 2107 cycles) at cycle: 2207 (0x89f)
[Info] Find break point (Inst commit, Target commit), break (step 2108 cycles) at cycle: 2208 (0x8a0)
(XiangShan) xpc                                 # Print PC info
PC[0]: 0x80000000    Instr: 0x00000093
PC[1]: 0x80000004    Instr: 0x00000113
PC[2]: 0x0    Instr: 0x0
...
PC[7]: 0x0    Instr: 0x0
(XiangShan) xistep 1000000                      # Execute until the end of the binary
[Info] Find break point (Inst commit), break (step 2037 cycles) at cycle: 2207 (0x89f)
[Info] Find break point (Inst commit), break (step 2180 cycles) at cycle: 2207 (0x89f)
...
HIT GOOD LOOP at pc = 0xf0001cb0
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Troubleshooting Guide&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/OpenXiangShan/XiangShan/wiki/Troubleshooting-Guide&quot;&gt;Troubleshooting Guide&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Acknowledgement&lt;/h2&gt; 
&lt;p&gt;The implementation of XiangShan is inspired by several key papers. We list these papers in XiangShan document, see: &lt;a href=&quot;https://docs.xiangshan.cc/zh-cn/latest/acknowledgments/&quot;&gt;Acknowledgements&lt;/a&gt;. We very much encourage and expect that more academic innovations can be realised based on XiangShan in the future.&lt;/p&gt; 
&lt;h2&gt;LICENSE&lt;/h2&gt; 
&lt;p&gt;Copyright © 2020-2026 Institute of Computing Technology, Chinese Academy of Sciences.&lt;/p&gt; 
&lt;p&gt;Copyright © 2021-2026 Beijing Institute of Open Source Chip&lt;/p&gt; 
&lt;p&gt;Copyright © 2020-2022 by Peng Cheng Laboratory.&lt;/p&gt; 
&lt;p&gt;XiangShan is licensed under &lt;a href=&quot;https://raw.githubusercontent.com/OpenXiangShan/XiangShan/kunminghu-v3/LICENSE&quot;&gt;Mulan PSL v2&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/08ac6952e2f7dfdf58a19aeebcea918b24059b0be64540008265d19f086e03c4/OpenXiangShan/XiangShan" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://scala-lang.org&quot;&gt;https://scala-lang.org&lt;/a&gt;&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/635ef16aa59511d396301935045169d85898346455af74a37557006baba21fa3/scala/scala3" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://delta.io&quot;&gt;https://delta.io&lt;/a&gt;&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/6371898dc5243efbf2a696181f1008e77540ff4d527d16d506dd3166216f4427/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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://scala-sbt.org&quot;&gt;https://scala-sbt.org&lt;/a&gt;&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/4df840a950800191548a2ae8682f41746882a1dc9b7723b3636b6e6eecb0bc0b/sbt/sbt" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://nvidia.github.io/cudf-spark&quot;&gt;https://nvidia.github.io/cudf-spark&lt;/a&gt;&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/33c28051c36922069e148d1f4e9d9c883b744ccd1186e50700604ce8154dc7cd/NVIDIA/cudf-spark" medium="image" />
      
    </item>
    
    <item>
      <title>guardian/frontend</title>
      <link>https://github.com/guardian/frontend</link>
      <description>&lt;p&gt;The Guardian DotCom.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://theguardian.com&quot;&gt;https://theguardian.com&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Frontend&lt;/h1&gt; 
&lt;p&gt;The backend of the Guardian website frontend.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;For everybody who engages with our journalism, &lt;a href=&quot;https://www.theguardian.com&quot;&gt;theguardian.com&lt;/a&gt; is an industry-best news website that is fast, accessible and easy to use. Unlike other ways of developing products, ours puts the audience first.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;Frontend is &lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs/02-architecture/01-applications-architecture.md&quot;&gt;a set of Play Framework 2 Scala applications&lt;/a&gt;. It is built in two parts, using &lt;code&gt;make&lt;/code&gt; for the client side asset build and SBT for the Play Framework backend.&lt;/p&gt; 
&lt;p&gt;Frontend&#39;s responsibility is to build JSON to pass to the modern rendering service, &lt;a href=&quot;https://github.com/guardian/dotcom-rendering&quot;&gt;Dotcom Rendering&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Core Development Principles (lines in the sand)&lt;/h1&gt; 
&lt;p&gt;These principles apply to all requests on &lt;code&gt;www.theguardian.com&lt;/code&gt; and &lt;code&gt;api.nextgen.guardianapps.co.uk&lt;/code&gt; (our Ajax URL)&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Every request can be cached and has an appropriate Cache-Control header set.&lt;/li&gt; 
 &lt;li&gt;Each request may only perform one I/O operation on the backend. (you cannot make two calls to the content API or any other 3rd party)&lt;/li&gt; 
 &lt;li&gt;The average response time of any endpoint is less than 500ms.&lt;/li&gt; 
 &lt;li&gt;Requests that take longer than two seconds will be terminated.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Documentation&lt;/h1&gt; 
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs&quot;&gt;All documentation notes and useful items can be found in the &lt;code&gt;docs&lt;/code&gt; folder&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt; 
&lt;h1&gt;New developers&lt;/h1&gt; 
&lt;p&gt;Welcome! &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs/01-start-here&quot;&gt;How to set up and run frontend&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;To get set up, please follow &lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs/01-start-here/01-installation-steps.md&quot;&gt;the installation guide&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Fixes for common problems can be found &lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs/01-start-here/04-troubleshooting.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Please read the &lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs/01-start-here/05-development-tips.md&quot;&gt;development tips&lt;/a&gt; document to learn about more about development process.&lt;/p&gt; 
&lt;p&gt;For our deployment process, see &lt;a href=&quot;https://raw.githubusercontent.com/guardian/frontend/main/docs/01-start-here/03-how-to-deploy.md&quot;&gt;how to deploy&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/4370755/03cc0b80-717f-11e9-8bb0-726edc3a9945" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://kyuubi.apache.org/&quot;&gt;https://kyuubi.apache.org/&lt;/a&gt;&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/4630dbe84541dba080f9359ce1c5d0ee996390d1eb13b8e45eb9c8d0ae8f8239/apache/kyuubi" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://doc.akka.io/libraries/&quot;&gt;https://doc.akka.io/libraries/&lt;/a&gt;&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>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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;http://www.playframework.com&quot;&gt;http://www.playframework.com&lt;/a&gt;&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/aee36402d0dd0e2079b0816c0241fcdcdaed17e4237f1fab81c834c56eebcb30/playframework/playframework" medium="image" />
      
    </item>
    
    <item>
      <title>scalapb/ScalaPB</title>
      <link>https://github.com/scalapb/ScalaPB</link>
      <description>&lt;p&gt;Protocol buffer compiler for Scala.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://scalapb.github.io/&quot;&gt;https://scalapb.github.io/&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;ScalaPB&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://index.scala-lang.org/scalapb/scalapb/scalapb-runtime&quot;&gt;&lt;img src=&quot;https://index.scala-lang.org/scalapb/scalapb/scalapb-runtime/latest-by-scala-version.svg?platform=jvm&quot; alt=&quot;ScalaPB runtime version support&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://gitter.im/ScalaPB/community&quot;&gt;&lt;img src=&quot;https://badges.gitter.im/ScalaPB/community.svg?sanitize=true&quot; alt=&quot;Join the chat at https://gitter.im/ScalaPB/community&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/scalapb/ScalaPB/actions?query=workflow%3ACI&quot;&gt;&lt;img src=&quot;https://github.com/scalapb/ScalaPB/workflows/CI/badge.svg?sanitize=true&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;ScalaPB is a protocol buffer compiler (&lt;code&gt;protoc&lt;/code&gt;) plugin for Scala. It will generate Scala case classes, parsers and serializers for your protocol buffers.&lt;/p&gt; 
&lt;p&gt;ScalaPB generates case classes that can co-exist in the same project alongside the Java-generated code for ProtocolBuffer. This makes it easy to gradually migrate an existing project from the Java version of protocol buffers to Scala. This is achieved by having the ScalaPB generated code use the proto file as part of the package name (in contrast to Java which uses the file name in CamelCase as an outer class)&lt;/p&gt; 
&lt;p&gt;Each top-level message and enum is written to a separate Scala file. This results in a significant improvement in incremental compilations.&lt;/p&gt; 
&lt;p&gt;Another cool feature of ScalaPB is that it can optionally generate methods that convert a Java protocol buffer to a Scala protocol buffer and vice versa. This is useful if you are gradually migrating a large code base from Java protocol buffers to Scala. The optional Java conversion is required if you want to use &lt;code&gt;fromAscii&lt;/code&gt; (parsing ASCII representation of a protocol buffer). The current implementation delegates to the Java version.&lt;/p&gt; 
&lt;h1&gt;Highlights&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;Supports proto2 and proto3&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Easily update nested structure in functional way using lenses&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Scala.js integration&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;GRPC integration&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Compatible with SparkSQL (through a helper library)&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Conversion to and from JSON&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Support user-defined options (since 0.5.29)&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Support extensions (since 0.6.0)&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Versions&lt;/h1&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Version&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;0.6.x&lt;/td&gt; 
   &lt;td&gt;Stable. Supports Protobuf 2.6.x to 3.5.x&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;0.5.x&lt;/td&gt; 
   &lt;td&gt;Supports Protobuf 2.6.x and Protobuf 3.1.x.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;0.4.x&lt;/td&gt; 
   &lt;td&gt;Stable, unsupported. Works with Protobuf 2.6.x&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h1&gt;Installing&lt;/h1&gt; 
&lt;p&gt;To automatically generate Scala case classes for your messages add ScalaPB&#39;s sbt plugin to your project. Create a file named &lt;code&gt;project/protoc.sbt&lt;/code&gt; containing the following line:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;addSbtPlugin(&quot;com.thesamet&quot; % &quot;sbt-protoc&quot; % &quot;1.0.6&quot;)

libraryDependencies += &quot;com.thesamet.scalapb&quot; %% &quot;compilerplugin&quot; % &quot;0.11.3&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Add the following line to your &lt;code&gt;build.sbt&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Compile / PB.targets := Seq(
  scalapb.gen() -&amp;gt; (Compile / sourceManaged).value / &quot;scalapb&quot;
)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For additional configuration options, see &lt;a href=&quot;https://scalapb.github.io/docs/sbt-settings&quot;&gt;ScalaPB SBT Settings&lt;/a&gt; documentation&lt;/p&gt; 
&lt;h1&gt;Using ScalaPB&lt;/h1&gt; 
&lt;p&gt;Documentation is available at &lt;a href=&quot;https://scalapb.github.io/&quot;&gt;ScalaPB website&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Questions?&lt;/h1&gt; 
&lt;p&gt;See &lt;a href=&quot;https://scalapb.github.io/docs/contact&quot;&gt;contacting us&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Testing&lt;/h1&gt; 
&lt;p&gt;ScalaPB uses ScalaCheck to aggressively test the generated code. The test generates many different sets of proto files. The sets are growing in complexity: number of files, references to messages from other protos, message nesting and so on. Then, test data is generated to populate this protocol schema, then we check that the ScalaPB generated code behaves exactly like the reference implementation in Java.&lt;/p&gt; 
&lt;p&gt;Running the tests:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;sbt test
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The tests take a few minutes to run. There is a smaller test suite called &lt;code&gt;e2e&lt;/code&gt; that uses the sbt plugin to compile the protos and runs a series of ScalaChecks on the outputs. To run it:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;./e2e.sh
&lt;/code&gt;&lt;/pre&gt; 
&lt;h1&gt;Sponsors&lt;/h1&gt; 
&lt;p&gt;We are very thankful to our sponsors:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/bikaras&quot;&gt;Evgeny Rubtsov (bikaras)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/andrew-selvia&quot;&gt;Andrew Selvia&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/dffceaa32be4cc55b5be0d5fad0b5ac0527fa7d62ab101e5889bab062a0331b0/scalapb/ScalaPB" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://gatling.io&quot;&gt;https://gatling.io&lt;/a&gt;&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>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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://zio.dev&quot;&gt;https://zio.dev&lt;/a&gt;&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>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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://gitbucket.github.io/&quot;&gt;https://gitbucket.github.io/&lt;/a&gt;&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/3df85b649a2f08a8c361118f3c8ba9416818771c9dbfb7e9e784ac813f8b88a7/gitbucket/gitbucket" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://pekko.apache.org/&quot;&gt;https://pekko.apache.org/&lt;/a&gt;&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/6b368e0c95c137bd7ff34c5accaa60d0c880090f6f838d48d12fd1dc43ba1b27/apache/pekko" medium="image" />
      
    </item>
    
    <item>
      <title>apache/datafusion-comet</title>
      <link>https://github.com/apache/datafusion-comet</link>
      <description>&lt;p&gt;Apache DataFusion Comet Spark Accelerator&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://datafusion.apache.org/comet&quot;&gt;https://datafusion.apache.org/comet&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Apache DataFusion Comet&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/apache/datafusion-comet/raw/main/LICENSE.txt&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-Apache%20v2-blue.svg?sanitize=true&quot; alt=&quot;Apache licensed&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/3EAr4ZX6JK&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/885562378132000778.svg?logo=discord&amp;amp;style=flat-square&quot; alt=&quot;Discord chat&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/apache/datafusion-comet/pulls?q=is%3Apr+is%3Aopen+draft%3Afalse+review%3Arequired+-status%3Afailure+sort%3Aupdated-desc&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/issues-search/apache/datafusion-comet?query=is%3Apr+is%3Aopen+draft%3Afalse+review%3Arequired+-status%3Afailure&amp;amp;label=Pending%20PRs&amp;amp;logo=github&quot; alt=&quot;Pending PRs&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://search.maven.org/search?q=g:org.apache.datafusion%20AND%20comet-spark&quot;&gt;&lt;img src=&quot;https://img.shields.io/maven-central/v/org.apache.datafusion/comet-spark-spark4.0_2.13&quot; alt=&quot;Maven Central&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;img src=&quot;https://raw.githubusercontent.com/apache/datafusion-comet/main/docs/source/_static/images/DataFusionComet-Logo-Light.png&quot; width=&quot;512&quot; alt=&quot;logo&quot; /&gt; 
&lt;p&gt;Apache DataFusion Comet is a high-performance accelerator for Apache Spark. Comet keeps Spark queries &lt;strong&gt;Arrow-native end-to-end&lt;/strong&gt;: operators, expressions, shuffle, and broadcast all stay in Apache Arrow columnar format, avoiding the per-row overhead of Spark&#39;s row-based engine. Within the Arrow-native pipeline, operators and expressions execute as Rust code (via the &lt;a href=&quot;https://datafusion.apache.org&quot;&gt;Apache DataFusion&lt;/a&gt; query engine) or as JVM code that operates directly on Arrow batches. Comet integrates with the Spark ecosystem without requiring any code changes.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Comet provides a ~2x speedup for TPC-DS @ SF 1000 (1TB), resulting in ~50% cost savings.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;That 2x speedup gives you a choice: finish the same Spark workload in half the time on the cluster you already have, or match your current Spark performance on roughly half the resources. Either way, the gain translates directly into lower cloud bills, reduced on-prem capacity, and lower energy usage, with no changes to your existing Spark SQL, DataFrame, or PySpark code. Comet runs on commodity hardware: no GPUs, FPGAs, or other specialized accelerators are required, so the savings come from better utilization of the infrastructure you already run on.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/datafusion-comet/main/docs/source/_static/images/benchmark-results/1.0.0/tpcds_allqueries.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/apache/datafusion-comet/main/docs/source/_static/images/benchmark-results/1.0.0/tpcds_queries_speedup_rel.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://datafusion.apache.org/comet/contributor-guide/benchmarking.html&quot;&gt;Comet Benchmarking Guide&lt;/a&gt; for more details.&lt;/p&gt; 
&lt;h2&gt;What Comet Accelerates&lt;/h2&gt; 
&lt;p&gt;Comet accelerates Spark workloads by replacing Spark operators and expressions with high-performance implementations that process Apache Arrow columnar data directly. Most operators are powered by native Rust execution built on Apache DataFusion, while others run efficiently in the JVM on Arrow batches. This unified columnar execution model keeps processing within the Comet engine end-to-end, reducing overhead and delivering faster, more efficient query execution without reverting to Spark&#39;s traditional row-based engine.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Parquet scans&lt;/strong&gt;: native Parquet reader integrated with Spark&#39;s query planner&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Apache Iceberg&lt;/strong&gt;: accelerated Parquet scans when reading Iceberg tables from Spark (see the &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/iceberg.html&quot;&gt;Iceberg guide&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Shuffle&lt;/strong&gt;: Arrow-IPC columnar shuffle with support for hash and range partitioning, in a native Rust implementation paired with a JVM fallback for unsupported partition key types&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Expressions&lt;/strong&gt;: hundreds of supported Spark expressions across math, string, datetime, array, map, JSON, hash, and predicate categories&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Aggregations&lt;/strong&gt;: hash aggregate with support for &lt;code&gt;FILTER (WHERE ...)&lt;/code&gt; clauses&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Joins&lt;/strong&gt;: hash join, sort-merge join, and broadcast join&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Scala/Java UDFs&lt;/strong&gt;: support for keeping Scala/Java scalar UDFs in the Comet pipeline via Spark&#39;s whole-stage codegen (see the &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/scala_java_udfs.html&quot;&gt;Scala UDF guide&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For the authoritative lists, see the &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/expressions.html&quot;&gt;supported expressions&lt;/a&gt; and &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/operators.html&quot;&gt;supported operators&lt;/a&gt; pages.&lt;/p&gt; 
&lt;h2&gt;Drop-In Integration&lt;/h2&gt; 
&lt;p&gt;Comet is designed as a drop-in accelerator for Apache Spark, allowing you to integrate Comet into your existing Spark deployments and workflows seamlessly. With no code changes required, you can immediately harness the benefits of Comet&#39;s acceleration capabilities without disrupting your Spark applications.&lt;/p&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;p&gt;Comet supports Apache Spark 3.4, 3.5, 4.0, and 4.1, and provides experimental support for Spark 4.2. See the &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/installation.html&quot;&gt;installation guide&lt;/a&gt; for the detailed version, Java, and Scala compatibility matrix.&lt;/p&gt; 
&lt;p&gt;Install Comet by adding the jar for your Spark and Scala version to the Spark classpath and enabling the plugin. A typical configuration looks like:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;export COMET_JAR=/path/to/comet-spark-spark3.5_2.12-&amp;lt;version&amp;gt;.jar

$SPARK_HOME/bin/spark-shell \
    --jars $COMET_JAR \
    --conf spark.driver.extraClassPath=$COMET_JAR \
    --conf spark.executor.extraClassPath=$COMET_JAR \
    --conf spark.plugins=org.apache.spark.CometPlugin \
    --conf spark.shuffle.manager=org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager \
    --conf spark.comet.explain.fallback.enabled=true \
    --conf spark.memory.offHeap.enabled=true \
    --conf spark.memory.offHeap.size=4g
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For full installation instructions, published jar downloads, and configuration reference, see the &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/installation.html&quot;&gt;installation guide&lt;/a&gt; and the &lt;a href=&quot;https://datafusion.apache.org/comet/user-guide/configs.html&quot;&gt;configuration reference&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Community&lt;/h2&gt; 
&lt;p&gt;Join the &lt;a href=&quot;https://datafusion.apache.org/contributor-guide/communication.html&quot;&gt;DataFusion Slack and Discord channels&lt;/a&gt; to connect with other users, ask questions, and share your experiences with Comet.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We welcome contributions from the community to help improve and enhance Apache DataFusion Comet. Whether it&#39;s fixing bugs, adding new features, writing documentation, or optimizing performance, your contributions are invaluable in shaping the future of Comet. Check out our &lt;a href=&quot;https://datafusion.apache.org/comet/contributor-guide/contributing.html&quot;&gt;contributor guide&lt;/a&gt; to get started.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Apache DataFusion Comet is licensed under the Apache License 2.0. See the &lt;a href=&quot;https://raw.githubusercontent.com/apache/datafusion-comet/main/LICENSE.txt&quot;&gt;LICENSE.txt&lt;/a&gt; file for details.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/7869da0ec29916998db75186a9b0ed6e46761ecee415f387a6679f109ec97287/apache/datafusion-comet" medium="image" />
      
    </item>
    
    <item>
      <title>ValeLang/Vale</title>
      <link>https://github.com/ValeLang/Vale</link>
      <description>&lt;p&gt;Compiler for the Vale programming language - http://vale.dev/&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://vale.dev/&quot;&gt;https://vale.dev/&lt;/a&gt;&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Vale&lt;/h1&gt; 
&lt;p&gt;Vale is a programming language that&#39;s aims to be not only &lt;strong&gt;fast&lt;/strong&gt; and &lt;strong&gt;memory-safe&lt;/strong&gt;, but also &lt;strong&gt;easy and flexible&lt;/strong&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Fast:&lt;/strong&gt; Vale is AOT compiled to LLVM, statically-typed, and uses the new &lt;a href=&quot;https://verdagon.dev/blog/generational-references&quot;&gt;generational references&lt;/a&gt; technique for memory safety with speed and flexibility, and will soon have &lt;a href=&quot;https://verdagon.dev/blog/zero-cost-refs-regions&quot;&gt;region borrow checking&lt;/a&gt; to make it even faster.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Safe:&lt;/strong&gt; It is the &lt;a href=&quot;https://vale.dev/memory-safe&quot;&gt;safest native language&lt;/a&gt;, thanks to &lt;a href=&quot;https://verdagon.dev/blog/generational-references&quot;&gt;generational references&lt;/a&gt; and &lt;a href=&quot;https://verdagon.dev/blog/fearless-ffi&quot;&gt;Fearless FFI&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Easy:&lt;/strong&gt; Vale has memory-safe single ownership without garbage collection or a borrow checker, which makes it easy to write safe, fast code.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;See &lt;a href=&quot;http://vale.dev/&quot;&gt;http://vale.dev/&lt;/a&gt; for more information on the language, and see our &lt;a href=&quot;https://github.com/Ivo-Balbaert/Vale_Examples&quot;&gt;treasure trove of working examples&lt;/a&gt;, grouped by functionality.&lt;/p&gt; 
&lt;h2&gt;Building a Vale Program&lt;/h2&gt; 
&lt;ol&gt; 
 &lt;li&gt;Download the latest binary from &lt;a href=&quot;https://github.com/ValeLang/Vale/releases&quot;&gt;https://github.com/ValeLang/Vale/releases&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Unzip it into, for example, &lt;code&gt;~/Vale&lt;/code&gt;, and &lt;code&gt;cd&lt;/code&gt; into it.&lt;/li&gt; 
 &lt;li&gt;Make a file &lt;code&gt;hello.vale&lt;/code&gt; containing some vale code, like &lt;code&gt;exported func main() { println(&quot;Hello world!&quot;); }&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Compile a program: &lt;code&gt;./valec build mymod=hello.vale --output_dir target&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Run the program: &lt;code&gt;target/main&lt;/code&gt;, and you should see the output &lt;code&gt;Hello world!&lt;/code&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Learning Vale&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://vale.dev/guide/introduction&quot;&gt;the Guide&lt;/a&gt; for how to use Vale.&lt;/p&gt; 
&lt;h2&gt;Building the compiler itself&lt;/h2&gt; 
&lt;p&gt;For instructions for building the compiler itself, see &lt;a href=&quot;https://raw.githubusercontent.com/ValeLang/Vale/master/build-compiler.md&quot;&gt;Building the Compiler&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;For an overview of the project structure, see &lt;a href=&quot;https://raw.githubusercontent.com/ValeLang/Vale/master/compiler-overview.md&quot;&gt;Compiler Overview&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Editor plugins&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=pacifio.vale-lang&quot;&gt;VSCode plugin&lt;/a&gt;: Syntax-highlighting and basic autocompletion.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/jfecher/vale.vim&quot;&gt;Vim plugin&lt;/a&gt;: Syntax-highlighting&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Thank you to all of our sponsors!&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/aweagel&quot;&gt;Arthur Weagel&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/KirilMihaylov&quot;&gt;Kiril Mihaylov&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/radekm&quot;&gt;Radek Miček&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Geomitron&quot;&gt;Geomitron&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/chiuzon&quot;&gt;Chiuzon&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/soupertonic&quot;&gt;Felix Scholz&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/linkmonitor&quot;&gt;Joseph Jaoudi&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/lupuchard&quot;&gt;Luke Puchner-Hardman&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/tootoobeepbeep&quot;&gt;Jonathan Zielinski&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/albinkc&quot;&gt;Albin Kocheril Chacko&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ezschemi&quot;&gt;Enrico Zschemisch&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Svintooo&quot;&gt;Svintooo&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/tstack&quot;&gt;Tim Stack&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/kripken&quot;&gt;Alon Zakai&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/rovaughn&quot;&gt;Alec Newman&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Shnatsel&quot;&gt;Sergey Davidoff&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/linuxy&quot;&gt;Ian (linuxy)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Ivo-Balbaert/&quot;&gt;Ivo Balbaert&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/pierrec&quot;&gt;Pierre Curto&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/loveJesus&quot;&gt;Love Jesus&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/jryans&quot;&gt;J. Ryan Stinnett&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/cdinu&quot;&gt;Cristian Dinu&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/lasernoises&quot;&gt;Florian Plattner&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Notes&lt;/h1&gt; 
&lt;p&gt;Vale started in January 2013, and back then we called it &quot;VLang&quot;, though there&#39;s now another language with that name. We then called it GelLLVM, in honor of Gel, the first language to offer constraint references. Since then, we&#39;ve settled on the name &quot;Vale&quot;. Note that Vale and Vala are two different languages.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/275663770/a692a200-c3a1-11ea-9fd4-1cae19cd3970" 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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://doc.akka.io/libraries/akka-http/current/&quot;&gt;https://doc.akka.io/libraries/akka-http/current/&lt;/a&gt;&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>
    
    <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;p&gt;&lt;img src=&quot;https://mshibanami.github.io/GitHubTrendingRSS/assets/icons/link.png&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;link&quot; style=&quot;margin: 0 8px 0 0; padding: 0; display: inline-block; vertical-align: middle;&quot; /&gt;&lt;a href=&quot;https://www.chisel-lang.org/&quot;&gt;https://www.chisel-lang.org/&lt;/a&gt;&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>
    
  </channel>
</rss>
