Package Search Help

You can use boolean logic (e.g. AND/OR/NOT) for complex search queries. For more help and examples, see the search documentation.

Search by package name:
my-package (implicit)
name:my-package (explicit)

Search by package filename:
filename:my-package.ext 

Search by package tag:
tag:latest 

Search by package version:
version:1.0.0  prerelease:true (prereleases)
prerelease:false (no prereleases)

Search by package architecture:
architecture:x86_64 

Search by package distribution:
distribution:el 

Search by package license:
license:MIT 

Search by package format:
format:deb 

Search by package status:
status:in_progress 

Search by package file checksum:
checksum:5afba 

Search by package security status:
severity:critical 

Search by package vulnerabilities:
vulnerabilities:>1 
vulnerabilities:<1000 

Search by # of package downloads:
downloads:>8 
downloads:<100 

Search by package type:
type:binary 
type:source 

Search by package size (bytes):
size:>50000 
size:<10000 

Search by dependency name/version:
dependency:log4j 
dependency:log4j=1.0.0 
dependency:log4j>1.0.0 

Search by uploaded date:
uploaded:>"1 day ago" 
uploaded:<"August 14, 2022 EST" 

Search by entitlement token (identifier):
entitlement:3lKPVJPosCsY 

Search by policy violation:
policy_violated:true
deny_policy_violated:true
license_policy_violated:true
vulnerability_policy_violated:true

Search by repository:
repository:repo-name

Search by last download date:
last_downloaded:<"30 days ago" 
last_downloaded:>"August 14, 2022 EST" 

Search queries for all Debian-specific (and related) package types

Search by component:
deb_component:unstable

Search queries for all Maven-specific (and related) package types

Search by group ID:
maven_group_id:org.apache

Search queries for all Docker-specific (and related) package types

Search by image digest:
docker_image_digest:sha256:7c5..6d4
(full hashref only)

Search by layer digest:
docker_layer_digest:sha256:4c4..ae4
(full hashref only)

Search queries for all Generic-specific package types

Search by file path:
generic_filepath:path/to/file.txt

Search by directory:
generic_directory:path/to

Field type modifiers (depending on the type, you can influence behaviour)

For all queries, you can use:
~foo for negation

For string queries, you can use:
^foo to anchor to start of term
foo$ to anchor to end of term
foo*bar for fuzzy matching

For number/date or version queries, you can use:
>foo for values greater than
>=foo for values greater / equal
<foo for values less than
<=foo for values less / equal

Need a secure and centralised artifact repository to deliver AI Skills, Alpine, Cargo, CocoaPods, Composer, Conan, Conda, CRAN, Dart, Debian, Docker, Generic, Go, Helm, Hex, HuggingFace, LuaRocks, Maven, MCP, Nix, npm, NuGet, P2, Python, RedHat, Ruby, Swift, Terraform, Vagrant, VSX, Raw & More packages?

Cloudsmith is the new standard in Package / Artifact Management and Software Distribution.

With support for all major package formats, you can trust us to manage your software supply chain.

Start My Free Trial
 Open-Source — typedb typedb (TypeDB) / public-snapshot —  GitHub Project
A certifiably-awesome open-source package repository curated by TypeDB, hosted by Cloudsmith.
Note: Packages in this repository are licensed as GNU Affero General Public License v3.0 (dependencies may be licensed differently).

Format-Specific Setup

To find out how to get setup locally so you can easily install packages, please select one of the formats from the tabs above.

Please note that the term repository here is Cloudsmith's concept of a package or artifact collection, and should not be confused with other package format specific meanings (such as the term as it is used by Docker, to mean a tagged image).

Note: Only help for package formats that exist in this repository is shown. You can also see the help for all package formats.

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

Cargo logo

Cargo Registry Setup

A fully-fledged Cargo registry, the package manager for Rust!

The following instructions are for Cargo or compatible packages only.

Registry Setup

Assuming you have Rust and Cargo already installed (if not, see the official docs), it is straight-forward to add a Cloudsmith-based Cargo registry.

Cargo Sparse Registries are a new addition to Cargo as of v1.68.0, and are the recommended way to interact with your Cloudsmith Repositories - they offer significant performance advantages over the old Git-based registries, such as reducing the bandwidth used and improving dependency resolution times.

First, the name and config for the registry must be added to your .cargo/config.toml or .cargo/config file as follows:

[registries.typedb-public-snapshot]
index = "sparse+https://cargo.cloudsmith.io/typedb/public-snapshot/"

First, the name and URL for the registry must be added to your .cargo/config.toml or .cargo/config file as follows:

[registries]
typedb-public-snapshot = { index = "https://repo.typedb.com/public/public-snapshot/cargo/index.git" }

The index key is a URL to a git repository with the registry's metadata index.

Registry Authentication

When using a public registry, no authentication is required.

Installing a Crate

Once configured as above, a crate can then depend on a crate from your registry by specifying the registry key and a value of the registry's name in that dependency's entry in Cargo.toml:

[package]
name = "my-project"
version = "0.1.0"
[dependencies]
other-crate = { version = "1.0", registry = "typedb-public-snapshot" }

You can also install a crate directly by specifying the registry on the command line:

cargo install my-project --registry typedb-public-snapshot

Removing a Registry

To remove a Cargo registry from your system, you need to remove it from your .cargo/config.toml or .cargo/config file.

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

Debian logo

Debian Repository Setup

Apt/Dpkg is the package manager of choice for Debian-like systems (such as Ubuntu, Linux Mint, Raspbian, etc.)

The following instructions are for Debian or compatible packages only.

Distribution Setup

To install packages, you can quickly setup the repository automatically (recommended):

curl -1sLf \
  'https://repo.typedb.com/public/public-snapshot/setup.deb.sh' \
  | sudo -E bash

If you need to force a specific distribution, release/version, architecture, or component (if supported), you can also do that (e.g. if your system is compatible but not identical):

curl -1sLf \
  'https://repo.typedb.com/public/public-snapshot/setup.deb.sh' \
  | sudo -E distro=DISTRO codename=CODENAME arch=ARCH component=COMPONENT bash

or ... you can manually configure it yourself before installing packages:

apt-get install -y debian-keyring  # debian only
apt-get install -y debian-archive-keyring  # debian only
apt-get install -y apt-transport-https
# For Debian Stretch, Ubuntu 16.04 and later
keyring_location=/usr/share/keyrings/typedb-public-snapshot-archive-keyring.gpg
# For Debian Jessie, Ubuntu 15.10 and earlier
keyring_location=/etc/apt/trusted.gpg.d/typedb-public-snapshot.gpg
curl -1sLf 'https://repo.typedb.com/public/public-snapshot/gpg.17507562824CFDCC.key' |  gpg --dearmor >> ${keyring_location}
curl -1sLf 'https://repo.typedb.com/public/public-snapshot/gpg.8F3DA4B5E9AEF44C.key' |  gpg --dearmor >> ${keyring_location}
curl -1sLf 'https://repo.typedb.com/public/public-snapshot/config.deb.txt?distro=ubuntu&codename=xenial&component=main' > /etc/apt/sources.list.d/typedb-public-snapshot.list
sudo chmod 644 ${keyring_location}
sudo chmod 644 /etc/apt/sources.list.d/typedb-public-snapshot.list
apt-get update

Note: Please replace ubuntu, xenial and main above with your actual operating system (distribution and distribution release/version) and components (based on what's in this repository).

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

rm /etc/apt/sources.list.d/typedb-public-snapshot.list
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get update

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

Maven logo

Maven Repository Setup

A repository that supports Maven-compatible projects and JARs, with support for Gradle, SBT, Leiningen, Ivy, Grape, etc.

The following instructions are for Maven or compatible packages only.

Build System Setup

To enable the retrieval of Cloudsmith hosted packages via Maven, the first step is to add your repository to the dependencyManagement section of your pom.xml file.

To do this add the following XML to your project pom.xml file:

<repositories>
  <repository>
    <id>typedb-public-snapshot</id>
    <url>https://repo.typedb.com/public/public-snapshot/maven/</url>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </releases>
    <snapshots>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </snapshots>
  </repository>
</repositories>

After the repository is added to the pom.xml file, and credentials are added to the settings.xml file (if required), all that is left is to specify the dependency in the dependencies section of the project pom.xml file.

To do this add the following XML to your project pom.xml file:

<dependency>
  <groupId>group-id</groupId>
  <artifactId>artifact-id</artifactId>
  <version>version</version>
</dependency>

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via Gradle, the first step is to add your repository to the build.gradle file.

To do add the following, at any location, to your build.gradle file:

repositories {
  maven {
    url "https://repo.typedb.com/public/public-snapshot/maven/"

  }
}

After the repository is added to the build.gradle file, and credentials are added to the ~/.gradle/gradle.properties file (if required), all that is left is to specify the dependency in the dependencies section of the project build.gradle file.

To do this add the below to your build.gradle file:

dependencies {
  implementation 'group-id:artifact-id:version'
}

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via sbt, add your repository your build.sbt file.

resolvers += "typedb-public-snapshot" at "https://repo.typedb.com/public/public-snapshot/maven/"

After the repository is added to the build.sbt file, and your credentials are added to the ~/.sbt/.credentials file (if required), all that is left is to specify the dependency in the dependencies section of the project build.sbt file.

To do this add the below to your build.sbt file:

libraryDependencies += "group-id" % "artifact-id" % "version"

Note: In sbt 0.13.x (not sbt 1.x or above) an extension point in the dependency resolution to use Maven-style resolvers is required. To enable this plugin add the following to project/maven.sbt (or project/plugin.sbt):

addMavenResolverPlugin

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via Leiningen, add your repository to the top level of the project.clj file.

:repositories [["snapshots" "https://repo.typedb.com/public/public-snapshot/maven/"]
               ["releases" "https://repo.typedb.com/public/public-snapshot/maven/"]]

After the repository is added to the project.clj file all that is left is to specify the dependency in the dependencies section of the project project.clj file.

To do this add the below to your project.clj file:

:dependencies [[group-id/artifact-id "version"]]

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via Groovy's Grape, add the repository to the Groovy script.

@GrabResolver(name='typedb-public-snapshot', root='https://repo.typedb.com/public/public-snapshot/maven/')

After the repository is added to your script all that is required is to specify the dependency within the script.

@Grab(group='group-id', module='artifact-id', version='version')

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

Encrypting Credentials

As mentioned earlier we would highly advise that you encrypt your credentials using something like mvn --encrypt-password YOUR-ENTITLEMENT-TOKEN, of which you can refer to the mini encryption guide for more detailed help (external link). This method may only work for Maven and Gradle-based repositories.

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

npm logo

npm Registry Setup

Npm is the package manager of choice for the Javascript/Node ecosystem. Cloudsmith is fully compatible as an npmjs-like registry.

The following instructions are for npm or compatible packages only.

Registry Setup

There are two ways to tell npm to use a Cloudsmith-based npm registry:

  1. Set the registry as the default globally, per-user or per-project.
  2. Provide the registry URL when executing npm commands.

Set Default Registry

To use/set the registry as the default for your user, execute the following:

npm config set registry https://npm.cloudsmith.io/typedb/public-snapshot/

You can set it globally (with permissions) by using the -g argument.

Alternatively, you can add it directly to your user or project .npmrc file:

registry=https://npm.cloudsmith.io/typedb/public-snapshot/

Note: Setting the registry globally will impact all npm commands, unless they explicitly override the registry.

Specify Registry During Commands

You can specify the registry each time you execute npm commands, such as:

npm install lodash --registry=https://npm.cloudsmith.io/typedb/public-snapshot/

Authentication

Read-Only Authentication (Installing)

For a public registry, you do not provide authentication for read-only contexts, such as installing packages:

npm install awesome-package

npm Scopes

You can namespace your registry and packages using npm scopes.

Scoped Registry

Using a registry scope tells npm to route installs for packages in that scope to Cloudsmith.

You can set it via the command-line using:

npm config set '@cloudsmith:registry' https://npm.cloudsmith.io/typedb/public-snapshot/

You can also set it directly in your user or project .npmrc file:

@cloudsmith:registry=https://npm.cloudsmith.io/typedb/public-snapshot/

Note: You should replace @cloudsmith in the above with your own scope name.

Scoped Packages

Using a package scope provides a different namespace to other similarly named packages to differentiate them.

Installing packages with a scope requires putting the scope before the name:

npm install @cloudsmith/awesome-package

You can find out more about scoped packages (on npmjs.com).

Note: You should replace @cloudsmith in the above with your own scope name.

Distribution Tags

Distribution tags allow npm packages to be tagged with a mnemonic that is associated with a specific package version.

These can be used as an alternative to the package version when installing packages, such as:

npm install awesome-package@beta --registry=https://npm.cloudsmith.io/typedb/public-snapshot/

Cloudsmith has full support for distribution tags and (mostly) follows the same rules for them as on npmjs.com:

  1. A specific tag can point at one version of a package only.
  2. A package version may have multiple unique tags.
  3. Unless specified otherwise, the default tag for the last package published is latest.
  4. When a package that is latest is deleted, the tag is moved to the next applicable version by semver.

Note: If the repository is configured so that upstream npm tags take precedence, tags from configured upstreams will override matching local tags. When both upstream and local repositories have the same tag name (e.g., latest), the upstream tag will be used instead of the local one, even if the local repository has a semantically higher version.

You can inspect a package to see what tags it has:

npm dist-tags ls awesome-package --registry=https://npm.cloudsmith.io/typedb/public-snapshot/
(out)latest: 1.0.0
(out)beta: 2.0.0

You can find out more about distribution tags (on npmjs.com).

Transparent Upstream Proxying

Cloudsmith supports transparent proxying of install requests to/from npmjs.com.

When enabled, requests for packages that don't exist in the registry will be automatically proxied:

npm install lodash@4.17.11 --registry='https://npm.cloudsmith.io/typedb/public-snapshot/'
(out)+ lodash@4.17.11
(out)updated 1 package in 2.743s

In this case, lodash didn't exist in the registry and was proxied. This also applies automatically when npm is installing dependencies for your package. It will load them from the registry automatically and transparently proxy them.

Warning: If transparent upstream proxying is disabled for the registry then you will need to fetch all dependencies of your packages manually. These can then be published into the registry, or you can bundle them with bundleDependencies.

Security Auditing

Cloudsmith supports proxying of npm audit requests to detect vulnerabilities in dependencies:

npm audit
(out)                       === npm audit security report ===
(out)found 0 vulnerabilities
(out) in 1 scanned package

You can find out more about security auditing (on npmjs.com).

Yarn Compatibility

Assuming that you have always-auth enabled, Yarn is immediately compatible with Cloudsmith registries:

yarn add lodash@4.17.11 --registry=https://npm.cloudsmith.io/typedb/public-snapshot/
(out)[1/5] Validating package.json...
(out)[2/5] Resolving packages...
(out)[3/5] Fetching packages...
(out)[4/5] Linking dependencies...
(out)[5/5] Building fresh packages...
(out)success Saved lockfile.
(out)success Saved 1 new dependency.
(out)info Direct dependencies
(out)└ lodash@4.17.11
(out)info All dependencies
(out)└ lodash@4.17.11

To enable always-auth, add it to your user or project .npmrc file:

always-auth

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

NuGet logo

NuGet Feed Setup

NuGet is the package manager of choice within the .NET development platform.

The following instructions are for NuGet or compatible packages only.

Introduction

As explained by nuget.org: "NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers."

Source Setup

To consume packages in NuGet from this Feed, you'll need to configure it as a source.

choco source add -n typedb-public-snapshot -s https://nuget.cloudsmith.io/typedb/public-snapshot/v2/
nuget sources add -Name typedb-public-snapshot -Source https://nuget.cloudsmith.io/typedb/public-snapshot/v3/index.json
dotnet nuget add source --name typedb-public-snapshot https://nuget.cloudsmith.io/typedb/public-snapshot/v3/index.json

You can add the source to your paket.dependenciesfile:

source https://nuget.cloudsmith.io/typedb/public-snapshot/v3/index.json
Register-PackageSource -Name 'typedb-public-snapshot' -Location 'https://nuget.cloudsmith.io/typedb/public-snapshot/v2/' -Trusted
Register-PSRepository -Name 'typedb-public-snapshot' -SourceLocation 'https://nuget.cloudsmith.io/typedb/public-snapshot/v2/' -InstallationPolicy 'trusted'

When specifying the source in commands via -Source, use the following URL:

https://nuget.cloudsmith.io/typedb/public-snapshot/v3/index.json

Installing Packages

You can install NuGet packages using the following commands:

choco install Your.Package -s typedb-public-snapshot --version 1.2.3

Note: This assumes you have configured typedb-public-snapshot as a source.

nuget install Your.Package -Version 1.2.3 -Source typedb-public-snapshot
If you have trouble installing a specific version of a package, it is possible that the CLI is using a cached version of the metadata. You can using the following with the CLI nuget install ... -NoCache to overcome this. You can find out more in the NuGet package installation documentation .

Note: This assumes you have configured typedb-public-snapshot as a source.

dotnet add package Your.Package -v 1.2.3 -s https://nuget.cloudsmith.io/typedb/public-snapshot/v3/index.json
If you have trouble installing a specific version of a package, it is possible that the CLI is using a cached version of the metadata. You can using the following with the CLI dotnet restore --no-cache to overcome this. You can find out more in the NuGet package installation documentation .
paket add nuget Your.Package -v 1.2.3

Note: This assumes that you have setup the source for this repository in your paket.dependencies file.

Installing a NuGet Package:

Install-Package -Name 'Your.Package' -RequiredVersion '1.2.3' -Source 'typedb-public-snapshot'

Installing a PowerShell Module:

Install-Module -Name 'Your.Package' -RequiredVersion '1.2.3' -Repository 'typedb-public-snapshot'

Installing a PowerShell Script:

Install-Script -Name 'Your.Package.ps1' -RequiredVersion '1.2.3' -Repository 'typedb-public-snapshot'

Note: This assumes you have configured typedb-public-snapshot as a source.

Install-Package Your.Package -Version 1.2.3 -Source typedb-public-snapshot

Note: This assumes you have configured typedb-public-snapshot as a source.

Note: You should replace Your.Package and 1.2.3 with your own package name and version.

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

Python logo

Python Repository Setup

Pip/Pipenv/Poetry are package managers of choice for the Python ecosystem. Cloudsmith is fully compatible as a PyPi-like repository.

The following instructions are for Python or compatible packages only.

Python Setup Via Command-Line

You can install packages directly by using the --index-url or --extra-index-url Pip configuration arguments when executing a pip command.

Note: We recommend using --index-url. As per pip's documentation: Using the --extra-index-url option to search for packages that are not in this repository (such as private packages) is unsafe, per a security vulnerability called dependency confusion: an attacker can claim the package on the public repository in a way that will ensure it gets chosen over the private package. For more detail, see our expanded documentation on the usage and dangers of extra index URL.

pip install my-awesome-package==1.0.0 --index-url https://repo.typedb.com/public/public-snapshot/python/simple/

Note: You'll need to replace my-awesome-package and 1.0.0 with your own awesome python packages and versions.

Python Setup Via Pip

Similar to setup via command-line, pip needs to be passed the --index-url configuration option. To do this add --index-url to the top of your requirements.txt (or similar) file.

--index-url https://repo.typedb.com/public/public-snapshot/python/simple/
my-awesome-package==1.0.0

Note: You'll need to replace my-awesome-package and 1.0.0 with your own awesome python packages and versions.

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

Remove the following line from your $HOME/.pip/pip.conf file:

--index-url=https://repo.typedb.com/public/public-snapshot/python/simple/

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

Raw logo

Raw Repository Setup

A repository that acts like a container for any type of files. Think DropBox, but with a pinch more awesome.

The following instructions are for Raw or compatible packages only.

Setup

The purpose of raw files depends on the content of the raw file, which Cloudsmith doesn't know, so we can't provide you with an automated setup method (yet), but it might be as simple as downloading the file.

You can download a raw file using the browser, or if you're running Linux you can use standard tools such as curl.

Downloading Via Curl

curl -1sLf -O 'https://repo.typedb.com/public/public-snapshot/raw/files/your-package.zip'

Note: You'll need to replace your-package.zip with your own equally fantastic file name.

Generating HTML/JSON indexes

Cloudsmith supports serving Apache-style HTML and JSON formatted indexes of raw package files in the repository. When enabled you can view the HTML index here and the JSON index here.

Need Help?

If you couldn't find what you needed in our documentation, then you can always chat to a member of our team instead. It's our mission to be your dedicated off-site team for package management, and we mean it. Come and chat with us, anytime.

What's this page? You can always download packages from Cloudsmith manually, but native package manager setup allows you to simplify and automate downloads. A native package manager has intelligence built-in that allows it to understand concepts like metadata, versioning, duplication, convergence, etc. As such, we will always recommend that you install natively where possible. Learn more in the setup documentation.

Top