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:
my-package.ext
(implicit)
filename:my-package.ext
(explicit)
Search by package tag:
latest
(implicit)
tag:latest
(explicit)
Search by package version:
1.0.0
(implicit)
version:1.0.0
(explicit)
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 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)
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 Alpine,
Cargo,
CocoaPods,
Composer,
Conan,
Conda,
CRAN,
Dart,
Debian,
Docker,
Go,
Helm,
Hex,
LuaRocks,
Maven,
npm,
NuGet,
P2,
Python,
RedHat,
Ruby,
Swift,
Terraform,
Vagrant,
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.
These tend to be pre-releases, for stable releases download from PyPi: https://pypi.python.org/pypi/cloudsmith-cli
cloudsmith-cli 1.4.0
One-liner (summary)
Description
# Cloudsmith Command Line Interface (CLI)
[![Latest Version @ Cloudsmith](https://api-prd.cloudsmith.io/badges/version/cloudsmith/cli/python/cloudsmith-cli/latest/xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true)](https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/) [![Python Versions](https://img.shields.io/pypi/pyversions/cloudsmith-cli.svg)](https://pypi.python.org/pypi/cloudsmith-cli) [![PyPI Version](https://img.shields.io/pypi/v/cloudsmith-cli.svg)](https://pypi.python.org/pypi/cloudsmith-cli) [![CircleCI](https://circleci.com/gh/cloudsmith-io/cloudsmith-cli.svg?style=svg)](https://circleci.com/gh/cloudsmith-io/cloudsmith-cli) [![Maintainability](https://api.codeclimate.com/v1/badges/c4ce2988b461d7b31cd5/maintainability)](https://codeclimate.com/github/cloudsmith-io/cloudsmith-cli/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/c4ce2988b461d7b31cd5/test_coverage)](https://codeclimate.com/github/cloudsmith-io/cloudsmith-cli/test_coverage) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
The [Cloudsmith](https://cloudsmith.io) Command Line Interface (CLI) is a Python 3 text-based interface to the [API](https://api.cloudsmith.io). This allows users, machines and other services to access and integrate smoothly with Cloudsmith without requiring explicit plugins or tools. [Be awesome. Automate Everything](https://cloudsmith.com/company/the-tao-of-cloudsmith/).
The following asciinema video demonstrates some of the CLI commands: [![asciicast](https://asciinema.org/a/DkNXQWQGBjWkfGPAkDAPNz7xe.svg)](https://asciinema.org/a/DkNXQWQGBjWkfGPAkDAPNz7xe)
We also have a [demo video on YouTube](https://youtu.be/R-g8ZhDwTKk):
You can also read our [blog article](https://blog.cloudsmith.io/2017/11/25/automation-as-simple-as-a-b-cli/) that introduced the first version of the CLI and the Cloudsmith RESTful API.
## Changelog
Please see the [changelog](https://github.com/cloudsmith-io/cloudsmith-cli/blob/master/CHANGELOG.md) for the list of changes by version. The current version is displayed in the PyPi badge at the top.
## Features
The CLI currently supports the following commands (and sub-commands):
- auth: Authenticate the CLI against an organization's SAML configuration.
- check: Check rate limits and service status.
- copy`|`cp: Copy a package to another repository.
- delete`|`rm: Delete a package from a repository.
- dependencies`|`deps: List direct (non-transitive) dependencies for a package.
- docs: Launch the help website in your browser.
- entitlements`|`ents: Manage the entitlements for a repository. - create`|`new: Create a new entitlement in a repository. - delete`|`rm: Delete an entitlement from a repository. - list`|`ls: List entitlements for a repository. - refresh: Refresh an entitlement in a repository. - sync: Sync entitlements from another repository. - update`|`set: Update (patch) a entitlement in a repository.
- help: Display the delightful help message and exit.
- list`|`ls: List distros, packages, repos and entitlements. - dependencies`|`deps List direct (non-transitive) dependencies for a package. - distros: List available distributions. - entitlements`|`ents: List entitlements for a repository. - packages: List packages for a repository. (Aliases repos list) - repos: List repositories for a namespace (owner).
- login`|`token: Retrieve your API authentication token/key via login.
- metrics: Metrics and statistics for a repository. - tokens: Retrieve bandwidth usage for entitlement tokens. - packages: Retrieve package usage for repository.
- move`|`mv: Move (promote) a package to another repo.
- push`|`upload: Push (upload) a new package to a repository. - alpine: Push (upload) a new Alpine package upstream. - cargo: Push (upload) a new Cargo package upstream. - composer: Push (upload) a new Composer package upstream. - cocoapods: Push (upload) a new CocoaPods package upstream. - conan: Push (upload) a new Conan (C++) package upstream. - cran: Push (upload) a new R/CRAN package upstream. - deb: Push (upload) a new Debian package upstream. - docker: Push (upload) a new Docker image upstream. - go: Push (upload) a new Go module upstream. - helm: Push (upload) a new Helm package upstream. - luarocks: Push (upload) a new Lua module upstream. - maven: Push (upload) a new Maven package upstream. - npm: Push (upload) a new Npm package upstream. - nuget: Push (upload) a new NuGet package upstream. - python: Push (upload) a new Python package upstream. - raw: Push (upload) a new Raw package upstream. - rpm: Push (upload) a new RedHat package upstream. - ruby: Push (upload) a new Ruby package upstream. - terraform: Push (upload) a new Terraform package upstream. - vagrant: Push (upload) a new Vagrant package upstream.
- quarantine`|`block: Manage quarantined packages in a repository. - add: Add a package to quarantine. - remove`|`rm`|`restore: Add a package to quarantine.
- quota: Quota limits and history for a organisation. - limits: Display the Quota (bandwidth & storage usage/limits) for a specific organisation. - history: Display the Quota History (upload, download, and storage usage/limits) for a specific organisation.
- repositories`|`repos: Manage repositories. - create`|`new: Create a new repository in a namespace. - get`|`list`|`ls: List repositories for a user, in a namespace or get details for a specific repository. - update: Update a repository in a namespace. - delete`|`rm: Delete a repository from a namespace.
- resync: Resynchronise a package in a repository.
- status: Get the synchronisation status for a package.
- tags: Manage the tags for a package in a repository. - add: Add tags to a package in a repository. - clear: Clear all existing (non-immutable) tags from a package in a repository. - list`|`ls: List tags for a package in a repository. - remove`|`rm: Remove tags from a package in a repository. - replace: Replace all existing (non-immutable) tags on a package in a repository.
- whoami: Retrieve your current authentication status.
## Installation
You can install the latest CLI application from:
- [Official CLI Repository @ PyPi](https://pypi.python.org/pypi/cloudsmith-cli)
- [Official CLI Repository @ Cloudsmith](https://cloudsmith.io/~cloudsmith/repos/cli/packages/)
The simplest way is to use pip, such as:
` pip install --upgrade cloudsmith-cli `
Or you can get the latest pre-release version from Cloudsmith:
` pip install --upgrade cloudsmith-cli --extra-index-url=https://dl.cloudsmith.io/public/cloudsmith/cli/python/index/ `
## Configuration
There are two configuration files used by the CLI:
- config.ini: For non-credentials configuration.
- credentials.ini: For credentials (authentication) configuration.
By default, the CLI will look for these in the following locations:
The current working directory.
A directory called cloudsmith in the OS-defined application directory. For example: - Linux:
- $HOME/.config/cloudsmith
- $HOME/.cloudsmith
- Mac OS: - $HOME/Library/Application Support/cloudsmith - $HOME/.cloudsmith
- Windows: - C:Users<user>AppDataLocalcloudsmith (Win7+, not roaming) - C:Users<user>AppDataRoamingcloudsmith (Win7+, roaming) - C:Documents and Settings<user>Application Datacloudsmith (WinXP, not roaming) - C:Documents and Settings<user>Local SettingsApplication Datacloudsmith (WinXP, roaming) - C:Documents and Settings<user>.cloudsmith
Both configuration files use the simple INI format, such as:
` [default] api_key=1234567890abcdef1234567890abcdef `
Additionally, the CLI will store SSO access and refresh tokens in the system keyring using the [keyring](https://github.com/jaraco/keyring) library.
### Non-Credentials (config.ini)
See the [default config](https://raw.githubusercontent.com/cloudsmith-io/cloudsmith-cli/master/cloudsmith_cli/data/config.ini) in GitHub:
You can specify the following configuration options:
- api_host: The API host to connect to.
- api_proxy: The API proxy to connect through.
- api_ssl_verify: Whether or not to use SSL verification for requests.
- api_user_agent: The user agent to use for requests.
### Credentials (credentials.ini)
See the [default config](https://raw.githubusercontent.com/cloudsmith-io/cloudsmith-cli/master/cloudsmith_cli/data/credentials.ini) in GitHub:
You can specify the following configuration options:
- api_key: The API key for authenticating with the API.
### Authenticating
You'll need to provide authentication to Cloudsmith for any CLI actions that result in accessing private data or making changes to resources (such as pushing a new package to a repository)..
#### SAML authentication
You can authenticate using your organization's SAML provider, if configured, with the cloudsmith auth command: ``` cloudsmith auth --owner example Beginning authentication for the example org ... Opening your organization's SAML IDP URL in your browser: https://example.com/some-saml-idp
Starting webserver to begin authentication ...
#### Getting Your API Key
You can retrieve your API key using the cloudsmith login command:
` cloudsmith login Login: you@example.com Password: Repeat for confirmation: `
Note: Please ensure you use your email for the 'Login' prompt and not your user slug/identifier.
The resulting output looks something like:
` Retrieving API token for 'you@example.com' ... OK Your API token is: 1234567890abcdef1234567890abcdef `
Once you have your API key you can then put this into your credentials.ini, use it as an environment variable export CLOUDSMITH_API_KEY=your_key_here or pass it to the CLI using the -k your_key_here flag.
For convenience the CLI will ask you if you want to install the default configuration files, complete with your API key, if they don't already exist. Say 'y' or 'yes' to create the configuration files.
If the configuration files already exist, you'll have to manually put the API key into the configuration files, but the CLI will print out their locations.
## Uploading Packages
Although native uploads, i.e. those supported by the native ecosystem of a package format, are often preferred; it's easy to publish with the Cloudsmith CLI too!
For example, if you wanted to upload a Debian package, you can do it in one-step. Assuming you have a package filename libxml2-2.9.4-2.x86_64.deb, representing libxml 2.9.4, for the Ubuntu 16.04 distribution (which has a cloudsmith identifier of ubuntu/xenial):
` cloudsmith push deb your-account/your-repo/ubuntu/xenial libxml2-2.9.4-2.x86_64.deb `
Want to know how to do it with another packaging format? Easy, just ask for help:
` cloudsmith push rpm --help `
## Contributing
Yes! Please do contribute, this is why we love open source. Please see [CONTRIBUTING](https://github.com/cloudsmith-io/cloudsmith-cli/blob/master/CONTRIBUTING.md) for contribution guidelines when making code changes or raising issues for bug reports, ideas, discussions and/or questions (i.e. help required).
## License
Copyright
Status | Completed |
---|---|
Checksum (MD5) | 97dad29ad00771edec514f49dd548ee4 |
Checksum (SHA-1) | 5478eba9ca7779c9ca9ca7c3657c0ff4b7313371 |
Checksum (SHA-256) | e446ba15e8b2a170e9d4d9565b81ee8f00b208f68a2d143289712c295af29970 |
Checksum (SHA-512) | cb120fb0965ff109deacde0ec8e891c425a9dc1993807f01b7a3be6d8dab45f72a… |
GPG Signature | |
GPG Fingerprint | 8e80a1fff6df43fe906d00ff0e7b9fadd43eb554 |
Storage Region | Dublin, Ireland |
Type | Binary (contains binaries and binary artifacts) |
Uploaded At | 1 month, 3 weeks ago |
Uploaded By | |
Slug Id | cloudsmith_cli-140-py2py3-none-anywhl-n4fa |
Unique Id | dV7XMwfOIM5a |
Version (Raw) | 1.4.0 |
Version (Parsed) |
|
extended metadata | |
Author | Cloudsmith Ltd <support@cloudsmith.io> |
Classifiers | Development Status :: 5 - Production/Stable | Environment :: Console | Intended Audience :: Developers | Intended Audience :: System Administrators | License :: OSI Approved :: Apache Software License | Operating System :: POSIX :: Linux | Programming Language :: Python | Programming Language :: Python :: 3.10 | Programming Language :: Python :: 3.11 | Programming Language :: Python :: 3.12 | Programming Language :: Python :: 3.13 | Programming Language :: Python :: 3.9 | Topic :: Internet | Topic :: System :: Systems Administration | Topic :: Utilities |
Homepage URL | https://github.com/cloudsmith-io/cloudsmith-cli |
Keywords | cloudsmith,cli,devops |
Metadata Version | 2.1 |
Platforms | any |
Py Filetype | bdist_wheel |
Py Version | py2.py3 |
Requires Dist | click!=8.0.2,>=7.0 | click-configfile>=0.2.3 | click-didyoumean>=0.0.3 | click-spinner>=0.1.7 | cloudsmith-api<3.0,>=2.0.12 | keyring>=25.4.1 | requests-toolbelt>=0.8.0 | requests>=2.18.4 | semver>=2.7.9 | urllib3<2.0 |
Requires Python | >=3.9.0 |
pkg | cloudsmith_cli-1.4.0-py2.py3-no… |
28
112.2 KB |
md5 | sha1 | sha256 | sha512 |
This package has 113 files/directories.
Newer |
cloudsmith-cli |
14 | ||||
cloudsmith-cli |
28 | |||||
Older |
cloudsmith-cli |
47 | ||||
Older |
cloudsmith-cli |
15 | ||||
Older |
cloudsmith-cli |
353 | ||||
Older |
cloudsmith-cli |
21 | ||||
Older |
cloudsmith-cli |
225 | ||||
Older |
cloudsmith-cli |
34 | ||||
Older |
cloudsmith-cli |
40 | ||||
Older |
cloudsmith-cli |
317 | ||||
Older |
cloudsmith-cli |
37 | ||||
Older |
cloudsmith-cli |
46 | ||||
Older |
cloudsmith-cli |
36 | ||||
Older |
cloudsmith-cli |
51 | ||||
Older |
cloudsmith-cli |
40 | ||||
Older |
cloudsmith-cli |
34 | ||||
Older |
cloudsmith-cli |
46 | ||||
Older |
cloudsmith-cli |
38 | ||||
Older |
cloudsmith-cli |
36 | ||||
Older |
cloudsmith-cli |
35 |
Last scanned
3 days, 13 hours ago
Scan result
Clean
Vulnerability count
0
Max. severity
UnknownYou can embed a badge in another website that shows this or the latest version of this package.
To embed the badge for this specific package version, use the following:
[![This version of 'cloudsmith-cli' @ Cloudsmith](https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true)](https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/)
|This version of 'cloudsmith-cli' @ Cloudsmith|
.. |This version of 'cloudsmith-cli' @ Cloudsmith| image:: https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true
:target: https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/
image::https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true[link="https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/",title="This version of 'cloudsmith-cli' @ Cloudsmith"]
<a href="https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/"><img src="https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/1.4.0/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true" alt="This version of 'cloudsmith-cli' @ Cloudsmith" /></a>
rendered as:
To embed the badge for the latest package version, use the following:
[![Latest version of 'cloudsmith-cli' @ Cloudsmith](https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true&show_latest=true)](https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/)
|Latest version of 'cloudsmith-cli' @ Cloudsmith|
.. |Latest version of 'cloudsmith-cli' @ Cloudsmith| image:: https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true&show_latest=true
:target: https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/
image::https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true&show_latest=true[link="https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/",title="Latest version of 'cloudsmith-cli' @ Cloudsmith"]
<a href="https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/"><img src="https://api-prd.cloudsmith.io/v1/badges/version/cloudsmith/cli/python/cloudsmith-cli/latest/a=noarch;xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true&show_latest=true" alt="Latest version of 'cloudsmith-cli' @ Cloudsmith" /></a>
rendered as:
These instructions assume you have setup the repository first (or read it).
To install/use cloudsmith-cli @ version 1.4.0 ...
pip install 'cloudsmith-cli==1.4.0'
You can also install the latest version of this package:
pip install --upgrade 'cloudsmith-cli'
If necessary, you can specify the repository directly:
pip install \
--index-url=https://dl.cloudsmith.io/public/cloudsmith/cli/python/simple/ \
cloudsmith-cli==1.4.0
If you've got a project requirements.txt file, you can specify this as a dependency:
--index-url=https://dl.cloudsmith.io/public/cloudsmith/cli/python/simple/
cloudsmith-cli==1.4.0
In addition, you can use this repository as an extra index url. However, please read our documentation on this parameter before using it. For example in a requirements.txt file:
--extra-index-url=https://dl.cloudsmith.io/public/cloudsmith/cli/python/simple/
cloudsmith-cli==1.4.0