Searching / Filtering
Searching for packages is simple with Cloudsmith. The search syntax is fully "boolean", in that you can combine queries together with AND
(i.e. find this AND that), or OR
(i.e. find this OR that), or NOT
(i.e. find NOT this). This is optional, if you don't put any boolean operators (AND/OR) in, we'll just assume that you want AND
by default.
Search Terms
Search By | Search Terms Example |
---|---|
Name ( |
|
Filename ( |
|
Tag ( |
|
Version - String-based ( |
|
Version - Semantic ( |
|
Prerelease ( |
|
Architecture ( |
|
Distribution ( |
|
Format ( |
|
Status ( |
|
File Checksum ( |
|
Downloads ( |
|
Package Type ( |
|
Size in Bytes ( |
|
Uploaded Date ( |
|
Entitlement Token Identifier ( |
|
Dependency Names ( |
|
For all queries you can use:
~
for negation. (Example: ~foo
)
For string queries you can use:
^
- to anchor to start of term. (Example: ^foo
)
$
- to anchor to end of term. (Example: foo$
)
*
- for fuzzy matching. (Example: foo*bar
)
For number or date queries you can use:
>
- for values greater than
. (Example: >foo
)
>=
- for values greater / equal
. (Example: >=foo
)
<
- for values less than. (Example: <foo
)
<=
- for values less / equal. (Example: <=foo
)
Please note, when you use a query like uploaded: >'1 month ago'
, that becomes uploaded > dd/mm/yy
(i.e, within the last month).
For version queries you can use:
>
- for versions greater than
. (Example: >1.2.3.
)
>=
- for versions greater / equal
. (Example: >=1.2.3
)
<
- for versions less than. (Example: <1.2.3
)
<=
- for versions less / equal. (Example: <=1.2.3
)
~=
- for versions greater than or equal to, upto the next incompatible version. (Example: ~=1.2.0
)
Remember: You can use any combination of
AND
,OR
andNOT
. You can use parentheses to group terms if required, asAND
has a higher precedence thanOR
, and it may change the meaning of queries without it.
A Short Worked Example
Suppose that you had the following packages:
- AlphaLib, Version: 1.0
- AlphaLib, Version: 1.1
- AlphaLib, Version: 2.0
- BetaLib: Version: 0.9
To find "AlphaLib" packages that are in the version 1.x series only, your query would be:
name:^AlphaLib$ AND version:~=1.0.
Which would provide the following results:
- AlphaLib, Version: 1.0
- AlphaLib, Version: 1.1
To bring the query down, we added the following parts:
name:^AlphaLib$
- Find a package name that is exactly "AlphaLib". Without the^
(starts-with) and$
(ends-with), the query would be fuzzy, and potentially find packages called "AlphaLib2" or "FreeAlphaLib" too.AND
- We want to search for both the name and version together. Both must match for the results.version:~=1.0
- Find package versions that are at-least 1.0, upto the next incompatible version (2.0).
Searching Packages via the Website UI
At the top of each repository detail page is the search box:


Website UI Search Box
Additional help and examples are available by hovering over the "?" at the right side of the search box.
Searching Packages via the Cloudsmith API
Please see the Cloudsmith API interactive sandbox and the full API reference.
Searching Packages via the Cloudsmith CLI
To search packages using the Cloudsmith CLI, you use the cloudsmith list packages
command in combination with the -q
option:
cloudsmith list packages OWNER/REPOSITORY -q "SEARCH_TERMS"
Example
To search for all debian packages:
cloudsmith list packages cloudsmith/examples -q "format:deb"


CLI search for format "deb"
Example
To search for the latest rpm and composer packages:
cloudsmith list packages cloudsmith/examples -q "tag:latest AND (format:rpm OR format:composer)"


CLI search for tag "latest" and two formats
Example
To search for all python packages larger than 2KB with more than 50 downloads:
cloudsmith list packages cloudsmith/examples -q "format:python AND downloads:>50 AND size:>2048"


CLI search for python packages larger than 2KB with more than 50 downloads
Updated 17 days ago