# Language support

OpenText Core SCA now supports a broad array of programming languages and package managers, allowing you to scan your code in your native language. Here is the complete list of languages and their level of support:

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><a href="/pages/6ljtzCmqkUrtXTZ90UGx"><strong>C# - Nuget, Paket</strong></a></td></tr><tr><td><a href="/pages/0uQE2HJEHbX03iaIjRtS"><strong>CycloneDX SBOM</strong></a></td></tr><tr><td><a href="/pages/2IMnRaty0OclrJBUX53E"><strong>Go - Go Modules, Go Dep, Bazel</strong></a></td></tr><tr><td><a href="/pages/i5f9TXehCBr7Urcu5WDL"><strong>Java &#x26; Kotlin - Gradle, Maven, Bazel</strong></a></td></tr><tr><td><a href="/pages/p3DtVRVCIBeYL9mo3WGb"><strong>JavaScript - NPM, Yarn, Bower, pnpm</strong></a></td></tr><tr><td><a href="/pages/rphZVuwIZPrtnp6gytcp"><strong>Objective-C - CocoaPods</strong></a></td></tr><tr><td><a href="/pages/0klkDp7FUuGNjM98n0Nc"><strong>PHP - Composer</strong></a></td></tr><tr><td><a href="/pages/bf2k1xJkWY6Iv6u8BAiu"><strong>Python - Pip, Pipenv, UV, poetry</strong></a></td></tr><tr><td><a href="/pages/N8oYuhYjYv2UVPVNF7NL"><strong>Ruby - RubyGems</strong></a></td></tr><tr><td><a href="/pages/D8N6GyNIwXdCUZ2p9Jwn"><strong>Rust - Cargo</strong></a></td></tr><tr><td><a href="/pages/dmYQmFJTA0el0AdRpBix"><strong>Swift - CocoaPods</strong></a></td></tr><tr><td><a href="/pages/qldJmG1gHWjnYxy5P8AR"><strong>Linux package managers</strong></a></td></tr><tr><td><a href="/pages/SWwSQEiFcFGBYxXKtx5t"><strong>Scala - SBT</strong></a></td></tr></tbody></table>

### Supported file formats and features

Following is the complete list of supporting languages, including root dependencies, indirect dependencies, security scanning, and license scanning.

<table data-full-width="true"><thead><tr><th>Language</th><th>Package manager</th><th width="111">Supported file formats</th><th width="124" data-type="checkbox">Dependency trees</th><th data-type="checkbox">Root fix</th><th data-type="checkbox">Pull Request</th><th width="130" data-type="checkbox">Reachability Analysis</th><th>High Performance Scan</th></tr></thead><tbody><tr><td>C#</td><td>Nuget</td><td><em>.csproj</em></td><td>true</td><td>true</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>C#</td><td>Nuget</td><td><em>package.lock.json</em></td><td>true</td><td>true</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>C#</td><td>Nuget</td><td><em>packages.config</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>C#</td><td>Packet</td><td><em>paket.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>C#</td><td>-</td><td>fingerprinted files<br>(.dll, .nupkg and more**)</td><td>false</td><td>false</td><td>false</td><td>false</td><td>-</td></tr><tr><td>CycloneDX SBOM</td><td><em>-</em></td><td><em>bom.json</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>CycloneDX SBOM</td><td><em>-</em></td><td><em>bom.xml</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Go</td><td>Bazel</td><td><em>WORKSPACE</em></td><td>true</td><td>true</td><td>false</td><td>false</td><td>-</td></tr><tr><td>Go</td><td>Bazel</td><td><em>install.json</em></td><td>true</td><td>true</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Go</td><td>Go Modules</td><td><em>go.mod</em></td><td>true</td><td>true</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>Go</td><td>Go Dep</td><td><em>gopkg.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Java / Kotlin</td><td>Gradle</td><td><em>build.gradle</em></td><td>true</td><td>true</td><td>false</td><td>true</td><td>Yes</td></tr><tr><td>Java / Kotlin</td><td>Gradle</td><td><em>build.gradle.kts</em></td><td>true</td><td>true</td><td>false</td><td>true</td><td>Yes</td></tr><tr><td>Java / Kotlin</td><td>Maven</td><td><em>pom.xml</em></td><td>true</td><td>true</td><td>false</td><td>true</td><td>Yes</td></tr><tr><td>Java / Kotlin</td><td>Bazel </td><td><em>WORKSPACE</em></td><td>true</td><td>true</td><td>false</td><td>true</td><td>-</td></tr><tr><td>Java / Kotlin</td><td>Bazel</td><td><em>install.json</em></td><td>true</td><td>true</td><td>false</td><td>true</td><td>-</td></tr><tr><td>Java / Kotlin</td><td>-</td><td>fingerprinted files (.jar, .war, pom.xml and more*)</td><td>false</td><td>false</td><td>false</td><td>false</td><td>-</td></tr><tr><td>JavaScript</td><td>NPM</td><td><em>package.json</em></td><td>true</td><td>true</td><td>true</td><td>false</td><td>Yes</td></tr><tr><td>JavaScript</td><td>NPM</td><td><em>package.lock.json</em></td><td>true</td><td>true</td><td>true</td><td>false</td><td>Yes*</td></tr><tr><td>JavaScript</td><td>Yarn</td><td><em>package.json</em></td><td>true</td><td>true</td><td>true</td><td>false</td><td>Yes</td></tr><tr><td>JavaScript</td><td>Yarn</td><td><em>yarn.lock</em> </td><td>true</td><td>true</td><td>true</td><td>false</td><td>Yes*</td></tr><tr><td>JavaScript</td><td>Bower</td><td><em>bower.json</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>JavaScript</td><td>pnpm</td><td><em>package.json</em></td><td>true</td><td>true</td><td>true</td><td>false</td><td>Yes</td></tr><tr><td>JavaScript</td><td>pnpm</td><td>pnpm-lock.yaml</td><td>true</td><td>true</td><td>true</td><td>false</td><td>Yes*</td></tr><tr><td>JavaScript</td><td>-</td><td>fingerprinted files (.js, .ts and more**)</td><td>false</td><td>false</td><td>false</td><td>false</td><td>-</td></tr><tr><td>Objective-C</td><td>CocoaPods</td><td><em>podfile.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>PHP</td><td>Composer</td><td><em>composer.json</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>PHP</td><td>Composer</td><td><em>composer.lock</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Python</td><td>Pip</td><td><em>requirements.txt</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>Python</td><td>Pipenv</td><td><em>Pipfile</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>-</td></tr><tr><td>Python</td><td>Pipenv</td><td><em>Pipfile.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>-</td></tr><tr><td>Python</td><td>UV</td><td><em>pyproject.toml</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>Python</td><td>UV</td><td><em>uv.lock</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Python </td><td>poetry</td><td><em>pyproject.toml</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes</td></tr><tr><td>Python</td><td>poetry</td><td><em>poetry.lock</em></td><td>true</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Python</td><td>-</td><td>fingerprinted files (.py, .txt, .sh, .c, .egg, .h and more**)</td><td>false</td><td>false</td><td>false</td><td>false</td><td>-</td></tr><tr><td>Ruby</td><td>RubyGems</td><td><em>Gemfile.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Rust</td><td>Cargo</td><td><em>Cargo.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Swift</td><td>CocoaPods</td><td><em>podfile.lock</em></td><td>false</td><td>false</td><td>false</td><td>false</td><td>Yes*</td></tr><tr><td>Scala</td><td>SBT</td><td><em>build.sbt</em></td><td>true</td><td>true</td><td>false</td><td>false</td><td>Yes</td></tr></tbody></table>

**\***&#x54;his is a native lock file format. Native lock file formats are the fastest formats to scan.

\*\*When constructing our knowledge base, OpenText Core SCA downloads files, extracts their contents, and creates fingerprints for all file content, except for a few excluded patterns. After that, fingerprints are generated for all the content within each file. For example, OpenText Core SCA specifically matches .dll files used in C# applications and .class files found within .jar files.

*For details on scanning Conan (C++) projects with OpenText Core SCA, refer to the topic* [*Scanning Conan (C++) projects*](/tips-and-tricks/workarounds/scanning-conan-c++-projects.md)*.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.debricked.com/overview/language-support.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
