Swiftpack.co - mz2/Carpaccio as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by mz2.
mz2/Carpaccio v2.0.1
A fast Swift library for decoding images (including the usual formats + RAW files) + EXIF metadata.
⭐️ 94
🕓 35 weeks ago
iOS macOS
.package(url: "https://github.com/mz2/Carpaccio.git", from: "v2.0.1")
Carpaccio icon

Carpaccio SPM build & test passes Swift Package Manager compatible

Pure Swift goodness for RAW and other image + metadata handling

Carpaccio is a Swift library for macOS and iOS that allows fast decoding of image data & EXIF metadata from file formats supported by CoreImage (including all the various RAW file formats supported, using the CoreImage RAW decoding capability).

  • thumbnails
  • metadata
  • full sized image

Carpaccio uses multiple CPU cores efficiently in parallel for all of metadata, thumbnail and image data decoding.

There are no 3rd party dependencies (CoreImage filter is used for RAW decoding).


Swift Package Manager

Add Carpaccio to your Swift package as a dependency by adding the following to your Package.swift file in the dependencies array:

.package(url: "https://github.com/mz2/Carpaccio.git", from: "<version>")

If you are using Xcode 11 or newer, you can add Carpaccio by entering the URL to the repository via the File menu:

File > Swift Packages > Add Package Dependency...


For usage examples, consult the unit tests under Tests/CarpaccioTests.


Carpaccio is still a very fresh and raw (har har) library and there are many tasks to make this a more generally useful library.

  • ☑ Add tests for RAWs from a number of different camera vendors.
  • ☑ GitHub action CI support.
  • ☑ iOS support.
  • ☐ Working xcframework support (when Xcode / SPM toolchain permits?) An xcframework build is already made available, but at least with Xcode 12.5.1 this results in build fails of the following kinds:
    • 'where' clause cannot be applied to a non-generic top-level declaration
    • 'Iterator' is not a member type of type 'Self'
    • 'Iterator' is not a member type of type 'Self'
    • Covariant 'Self' can only appear as the type of a property, subscript or method result; did you mean 'Collection'?
    • 'Index' is not a member type of class 'Carpaccio.Collection'


Stars: 94
Last commit: 35 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

Version 2.0.1
35 weeks ago

Re-implements convertedToColorSpace using vImage (from Accelerate), such that a colour space conversion is actually made. Assumption still made of 8-bit channels and presence of an alpha channel, further improvements await.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics