The IBM Swift Package Catalog is no longer available as of January 2018. This tutorial provided an overview of the Swift Package Catalog, which was an effective means of exploring the Swift ecosystem at launch. With the maturity of the server-side Swift ecosystem and the proliferation of cloud computing, there are now more effective and dynamic ways to experiment with Swift on the server. For example, IBM’s App Service console will create and deploy a server-side Swift application in less than five minutes. Other useful tools, such as Kitura Init and IBM Cloud Developer Tools, quickly create and run a Kitura application in a local sandbox. Read the full deprecation announcement for Swift Sandbox and Package Catalog or explore our current server-side Swift resources.
First, what is the Swift Package Catalog?
The IBM Swift Package Catalog is a tool for developers who want to discover, leverage and share Swift code across their projects and the community using a central catalog to access Open Source Swift packages.
The IBM Swift Package Catalog complements the recently released Swift.org Swift Package Manager. The Swift Package Manager is a tool for managing the distribution of Swift code and which is integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
Since the release of the Swift Package Manager in December 2015, there has been a tremendous amount of activity in the Swift community building and porting packages to work with Swift Package Manager. As the current design of the Swift Package Manager is inherently decentralized at this point, we noticed it can be difficult to discover and share new community-built packages. We have created the Swift Package Catalog to help solve that problem.
With the catalog, developers can now create, share, and discover the many new libraries, modules, and packages being created for use with the Swift Package Manager.
Now, we will be able to use the IBM Swift Package Catalog to:
- Find Swift packages for inclusion into their code,
- Explore dependencies within a package, or find links to the Github project page.
- Submit a package for inclusion into the Catalog.
Getting started finding Swift packages
Access the Home Page at https://swiftpkgs.ng.bluemix.net/
The main page has two main sections called feature packages and popular packages.
The featured packages is a changing list of 6 interesting packages.
The popular packages is a set of three package lists along with a link if you want to browse ALL packages.
- Most Starred is a list of packages sorted by their GitHub.com star gazers.
- Most Recent is a list of packages sorted by update time.
- Most Essential is a list of packages sorted by the number of other packages depending on them.
If you want more than the top 5 packages in each of the lists, click on the “Browse” button to see the complete list of packages in the catalog.
Browse Packages page
The browse page provides a sortable and filterable list of all of the packages listed in the catalog. The packages can be sorted by most essential, most starred, and most recent, and the packages can also be filtered by category.
To view the details of the package, simply click on the package card.
The package page provides a quick way to get information on the Swift package. The page contains a link to the GitHub.com project page, information on the project (when it was last updated, latest version, and license information), a clickable list of packages that the project depends on, a clickable list of packages that depend on it, and the main body of the page is the read.me file from GitHub.com.
Submit a Link
Did we miss a great package you’ve come to rely on? The IBM Swift engineers were able to find a lot of very interesting packages, however we know that a lot more are out there. If you think we missed one or if you have one that you would like to add to the catalog, then press the “Submit a Package” link in the top bar, provide the Github HTTPS clone URL in the text field, and press “Submit”.
At this point, we will begin the process to make sure that the project is a Swift package that can be included in the catalog. It will need to have been properly created according to these Swift.org guidelines and the code shared on GitHub.com.
Keep up the great work building new packages and we hope that you find this useful. Meanwhile, we are working hard to build out more features and, as we have with the IBM Swift Sandbox, we are listening on twitter for your feedback to help guide future development. Enjoy!