API Bindings

The Cloudsmith API (Application Programmatic Interface) bindings provide libraries in different languages for accessing the service programmatically. The API is fully compliant with the OpenAPI 2.0 Specification, and the clients are generated using swagger-codegen-cli from the Swagger Project.

Please note that the generated client APIs are intended for developers and are subject to change as the upstream API evolves (especially pre-1.0 releases). If you're looking for something a little more user-friendly, please see the Cloudsmith CLI application for something that comes pre-baked.

Releases

Releases for each language (where supported) are uploaded to the Cloudsmith API repository. Support currently exists for the following languages:

LanguageSourceLocation
GoSource Code
JavaSource Code
PythonSource CodeAvailable on PyPi
RubySource CodeAvailable on RubyGems.org

If you need a different binding, contact us!

Getting Started

We use swagger-codegen-cli to generate the bindings by using the Cloudsmith API schema that is compliant with the OpenAPI 2.0 Specification.

Each of the supported language bindings has its own directory within the bindings directory, and three standardised scripts are used:

build.shSets the swagger-codegen configuration for the language and generates the bindings into 'src'.
test.shRuns the test suite for the bindings (minimal) to ensure they are "correct" (able to be compiled).
deploy.shUploads the bindings to Cloudsmith and, if appropriate, the language-specific mainline repository.

Adding a new binding involves the creating of a new directory and the implementation of these three scripts to perform the build and release. To see a list of all the available language bindings you can execute:

bin/swagger-codegen-cli

To receive configuration help (in order to setup build.sh correctly), execute:

bin/swagger-codegen-cli config-help -l <language>

Where is the language you're generating bindings for (e.g. python).

Versioning

The version of the generated library bindings is automatically made to match the upstream API. So if the Cloudsmith API is currently 0.21.5, then the language bindings will also be 0.21.5.

Releasing

The client APIs are automatically released as part of the build and release process. See the CI configuration in the Source Code for more details.


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 Now
Cookie Declaration (Manage Cookies)