Source: https://seerepo.com/compare/apereo/cas/vs/Stirling-Tools/Stirling-PDF
Markdown source: https://seerepo.com/compare/apereo/cas/vs/Stirling-Tools/Stirling-PDF.md
Description: cas and Stirling-PDF share 18 technologies: Spring, H2 Database, PostgreSQL, s3, com.github.ben-manes.caffeine:caffeine, Postgres, jetty-http2-server, jakarta.servlet:jakarta.servlet-api, org.eclipse.jetty:jetty-alpn-java-server, Hibernate, angus-mail, org.springframework.boot:spring-boot-starter-mail, com.google.zxing:core, micrometer-registry-prometheus, org.springframework.boot:spring-boot-starter-actuator, spring-boot-starter-jetty, io.micrometer:micrometer-core, and ch.qos.logback:logback-core. cas is written in Java and Stirling-PDF in TypeScript.

# cas vs Stirling-PDF

cas and Stirling-PDF share 18 technologies: Spring, H2 Database, PostgreSQL, s3, com.github.ben-manes.caffeine:caffeine, Postgres, jetty-http2-server, jakarta.servlet:jakarta.servlet-api, org.eclipse.jetty:jetty-alpn-java-server, Hibernate, angus-mail, org.springframework.boot:spring-boot-starter-mail, com.google.zxing:core, micrometer-registry-prometheus, org.springframework.boot:spring-boot-starter-actuator, spring-boot-starter-jetty, io.micrometer:micrometer-core, and ch.qos.logback:logback-core. cas is written in Java and Stirling-PDF in TypeScript.

- [apereo/cas](https://seerepo.com/r/apereo/cas): Apereo CAS - Identity & Single Sign On for all earthlings and beyond.
- [Stirling-Tools/Stirling-PDF](https://seerepo.com/r/Stirling-Tools/Stirling-PDF): #1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

## What they share and what sets them apart

- In common: Spring, H2 Database, PostgreSQL, s3, com.github.ben-manes.caffeine:caffeine, Postgres, jetty-http2-server, jakarta.servlet:jakarta.servlet-api, org.eclipse.jetty:jetty-alpn-java-server, Hibernate, angus-mail, org.springframework.boot:spring-boot-starter-mail, com.google.zxing:core, micrometer-registry-prometheus, org.springframework.boot:spring-boot-starter-actuator, spring-boot-starter-jetty, io.micrometer:micrometer-core, ch.qos.logback:logback-core
- Only in cas: apache-client, com.mysql:mysql-connector-j, curator-client, curator-recipes, hsqldb, jakarta.jms-api, jtds, kafka-clients, lettuce-core, MariaDB, MongoDB, ojdbc11, org.springframework.boot:spring-boot-jdbc, pyzmq, spring-boot-cache, spring-boot-starter-data-mongodb, spring-jms, software.amazon.awssdk:dynamodb, com.hazelcast:hazelcast, org.springframework.kafka:spring-kafka, org.apache.cassandra:java-driver-core, etcd, org.apache.pulsar:pulsar-client-api, org.springframework.amqp:spring-rabbit, com.microsoft.sqlserver:mssql-jdbc, com.zaxxer:HikariCP, MySQL, org.apache.curator:curator-framework, software.amazon.awssdk:sqs, Flask, graal-sdk, org.apache.tomcat.embed:tomcat-embed-websocket, org.thymeleaf:thymeleaf-spring6, polyglot, Spring Boot, spring-boot-integration, spring-boot-starter-thymeleaf, spring-cloud-bus, spring-cloud-config-client, spring-cloud-config-server, tomcat-embed-core, tomcat-embed-el, werkzeug, Normalize.css, hibernate-hikaricp, org.springframework.data:spring-data-commons, spring-data-cassandra, spring-data-mongodb, jakarta.persistence:jakarta.persistence-api, itsdangerous, jose4j, nimbus-jose-jwt, oauth2-oidc-sdk, spring-boot-session, spring-boot-session-data-redis, spring-boot-session-jdbc, spring-session-data-redis, spring-session-jdbc, org.springframework.security:spring-security-cas, org.pac4j:pac4j-core, org.pac4j:pac4j-oidc, software.amazon.awssdk:secretsmanager, com.microsoft.azure:msal4j, com.azure:azure-identity, software.amazon.awssdk:sts, org.springframework.ai:spring-ai-starter-mcp-server-webmvc, groovy-templates, jakarta.mail, jdom2, jinja2, jsoup, markupsafe, org.apache.velocity:velocity-engine-core, Thymeleaf, com.sendgrid:sendgrid-java, com.samskivert:jmustache, commons-validator, org.hibernate.validator:hibernate-validator, org.springframework.boot:spring-boot-starter-validation, jakarta.validation:jakarta.validation-api, cloudwatchlogs, jul-to-slf4j, log4j-jcl, log4j-layout-template-json, logback-access-common, logback-classic, metrics-core, micrometer-jakarta9, micrometer-java21, micrometer-registry-cloudwatch2, micrometer-registry-elastic, micrometer-registry-influx, micrometer-registry-otlp, micrometer-tracing-bridge-brave, micrometer-tracing-bridge-otel, spring-boot-admin-starter-client, spring-boot-admin-starter-server, spring-boot-starter-log4j2, spring-cloud-starter-consul-discovery, spring-cloud-starter-netflix-eureka-client, spring-cloud-starter-zookeeper-discovery, zipkin-reporter-brave, org.slf4j:slf4j-api, org.apache.logging.log4j:log4j-core, org.apache.logging.log4j:log4j-api, software.amazon.awssdk:ssm, io.micrometer:micrometer-observation, OpenTelemetry, software.amazon.awssdk:cloudwatch
- Only in Stirling-PDF: org.springframework.boot:spring-boot-starter-web, jcache, org.springframework:spring-jdbc, spring-boot-starter-cache, spring-boot-starter-data-redis, url-connection-client, Apache, AWS S3, PostHog, Telegram, org.eclipse.jetty.compression:jetty-compression-server, Vite, React, react-router-dom, Tauri, objc2-app-kit, objc2-foundation, Tokio, tiny_http, Supabase, tauri-plugin-store, Stripe, core-services, @tauri-apps/api, org.springframework.boot:spring-boot-starter-data-jpa, jjwt-impl, jjwt-jackson, spring-boot-starter-oauth2-resource-server, spring-boot-starter-security-oauth2-client, spring-security-saml2-service-provider, com.coveo:saml-client, io.jsonwebtoken:jjwt-api, onnxruntime, batik-transcoder, commonmark-ext-gfm-tables, imageio-batik, imageio-bmp, imageio-hdr, imageio-icns, imageio-iff, imageio-jpeg, imageio-pcx, imageio-pnm, imageio-psd, imageio-sgi, imageio-tga, imageio-thumbsdb, imageio-tiff, imageio-webp, imageio-xwd, jbig2-imageio, jpdfium, metadata-extractor, outlook-module, owasp-java-html-sanitizer, pdfbox-io, preflight, stirling-office-convert, stirling-office-convert-legacy, stirling-office-convert-pdfa, stirling-office-convert-topdf, org.apache.pdfbox:pdfbox, org.verapdf:validation-model, jakarta.mail:jakarta.mail-api, org.apache.pdfbox:xmpbox, org.apache.poi:poi-ooxml, de.rototor.pdfbox:graphics2d, org.apache.xmlgraphics:batik-bridge, org.commonmark:commonmark, technology.tabula:tabula, com.github.junrar:junrar, com.hubspot.jinjava:jinjava, com.opencsv:opencsv, com.vladsch.flexmark:flexmark-html2md-converter, org.simplejavamail:simple-java-mail, Tailwind CSS, fontsource, Mantine, @reactour/tour, @dnd-kit/core, tanstack, @atlaskit/pragmatic-drag-and-drop, D3, signature_pad, tauri-plugin-dialog, @tauri-apps/plugin-notification, react-easy-crop, react-rnd, recharts, tauri-plugin-notification, tauri-plugin-window-state, webview2-com, Lucide, keyring, embedpdf, pdfjs-dist, react-markdown, remark-gfm, @cantoo/pdf-lib, qrcode.react, objc2-pdf-kit, pixelmatch, log, tauri-plugin-log

## Side by side

| | cas | Stirling-PDF |
|---|---|---|
| Size | 727,274 lines written, 5,293 code files | 1,168,066 lines written, 4,452 code files |
| Who writes it | 0% of its commits signed by AI. With GitHub Copilot | 2.1% of its commits signed by AI. With GitHub Copilot, Claude Code, and Codex |
| Activity | Last push November 12, 2026, 31,593 commits, 11,395 stars | Last push November 12, 2026, 5,787 commits, 96,362 stars |
| Tests | 3,193 test files. 48.4% of its code files have a test that imports them | 2,168 test files. 49.7% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, cas or Stirling-PDF?

Stirling-PDF, with 1,168,066 lines written; cas has 727,274.

The proof: [Stirling-Tools/Stirling-PDF's code at commit ee8c2b3](https://github.com/Stirling-Tools/Stirling-PDF/tree/ee8c2b3a9fc5842f787373c2aeff1431f5ff9d85)

### Which has more GitHub stars, cas or Stirling-PDF?

Stirling-PDF, with 96,362 stars; cas has 11,395.

The proof: [Stirling-Tools/Stirling-PDF on GitHub](https://github.com/Stirling-Tools/Stirling-PDF)

### Which has more tests, cas or Stirling-PDF?

cas, with 3,193 test files; Stirling-PDF has 2,168.

The proof: [apereo/cas's code at commit 990ad16](https://github.com/apereo/cas/tree/990ad1606dac46925463de45758cd3373efa997e)

### Which was updated more recently, cas or Stirling-PDF?

Both got their last push on November 12, 2026.

The proof: [apereo/cas's commits on GitHub](https://github.com/apereo/cas/commits)

### Which has more commits signed by AI, cas or Stirling-PDF?

Stirling-PDF: an AI signed 2.1% of its commits, with GitHub Copilot, Claude Code, and Codex.

The proof: [the commits each tool signed in Stirling-Tools/Stirling-PDF](https://seerepo.com/r/Stirling-Tools/Stirling-PDF/ai)

## Sources

- apereo/cas: Read on November 12, 2026, at commit 990ad16 (https://github.com/apereo/cas/tree/990ad1606dac46925463de45758cd3373efa997e)
- Stirling-Tools/Stirling-PDF: Read on November 12, 2026, at commit ee8c2b3 (https://github.com/Stirling-Tools/Stirling-PDF/tree/ee8c2b3a9fc5842f787373c2aeff1431f5ff9d85)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
