# What Libraries and Frameworks Does Palmier Pro Depend On? Complete Dependency Analysis

> Discover Palmier Pro's dependencies: nine Swift packages like DSWaveformImage, Sparkle, sentry-cocoa, lottie-ios, and Apple frameworks such as AVFoundation and SwiftUI. Analyze its Package.swift.

- Repository: [Palmier/palmier-pro](https://github.com/palmier-io/palmier-pro)
- Tags: dependency-analysis
- Published: 2026-06-22

---

**Palmier Pro depends on nine third-party Swift packages—including DSWaveformImage, Sparkle, sentry-cocoa, and lottie-ios—plus native Apple frameworks like AVFoundation and SwiftUI, as defined in its [`Package.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Package.swift) manifest.**

Palmier Pro is a native macOS video editor built with Swift 6.2 and SwiftUI. If you're examining the palmier-io/palmier-pro repository to understand what libraries or frameworks Palmier Pro depends on, you'll find a focused dependency graph managed through the Swift Package Manager that balances media processing capabilities, AI features, and user experience tools.


## Third-Party Swift Package Dependencies

The [`Package.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Package.swift) manifest in the repository root declares nine external dependencies that provide specialized functionality beyond Apple's native SDKs. These packages are linked into the executable target and imported throughout the codebase in `Sources/PalmierPro`.


### Media Processing with DSWaveformImage

**DSWaveformImage** generates audio waveform visualizations for the timeline. The [`MediaVisualCache.swift`](https://github.com/palmier-io/palmier-pro/blob/main/MediaVisualCache.swift) file uses this package to render amplitude data that appears beneath video tracks in the editing interface.


### AI and Machine Learning Stack

Three packages power Palmier Pro's AI-driven editing features:

- **swift-sdk** (ModelContextProtocol): Provides the MCP (Model Context Protocol) interface for on-device inference pipelines.
- **swift-transformers**: Supplies the `Tokenizers` module for processing text prompts locally.
- **convex-swift**: Handles remote AI model fetching and backend communication.


### Authentication and Backend Services

User authentication and data persistence rely on Clerk and Convex:

- **clerk-ios**: Provides UI components for authentication flows, exposed as `ClerkKit`.
- **clerk-convex-swift**: Client library for Convex backend integration, handling user sessions and data storage.
- **convex-swift**: Low-level Convex client used for database queries and remote procedure calls.


### Updates and Telemetry

**Sparkle** manages automatic app updates, while **sentry-cocoa** captures crash reports and performance traces. The [`Telemetry.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Telemetry.swift) file wraps Sentry's SDK to centralize diagnostic logging throughout the application.


### Animation Rendering

**lottie-ios** rasterizes vector animations into video frames. The [`LottieVideoGenerator.swift`](https://github.com/palmier-io/palmier-pro/blob/main/LottieVideoGenerator.swift) file uses this library to convert Lottie files into MP4 clips that can be inserted into the editing timeline.


## Native Apple Frameworks

Beyond Swift packages, Palmier Pro imports several Apple frameworks that are vital to its functionality as a native macOS application:

- **AVFoundation**: Media reading, writing, and processing.
- **AppKit** and **SwiftUI**: Hybrid UI construction, combining native controls with SwiftUI views.
- **CoreGraphics**, **ImageIO**, and **QuartzCore**: Image processing and layer rendering.
- **CryptoKit**: Cryptographic operations for secure data handling.
- **UniformTypeIdentifiers**: File type management for imports and exports.

These frameworks appear in import statements throughout `Sources/PalmierPro` but are not listed in [`Package.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Package.swift) because they ship with the macOS SDK.


## Implementation Examples from the Source Code

Below are concrete usage patterns showing how Palmier Pro integrates these dependencies into its core logic.


### Generating Audio Waveforms with DSWaveformImage

Inside [`Sources/PalmierPro/Timeline/MediaVisualCache.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Sources/PalmierPro/Timeline/MediaVisualCache.swift), the application uses `WaveformAnalyzer` to extract amplitude data:

```swift
let samples = try await WaveformAnalyzer()
    .samples(fromAudioAt: url, count: count)

```

The resulting array of normalized values is cached and drawn in the timeline view to represent audio levels visually.


### Sending Telemetry via Sentry

The [`Sources/PalmierPro/Telemetry/Telemetry.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Sources/PalmierPro/Telemetry/Telemetry.swift) file wraps sentry-cocoa to provide a unified logging interface:

```swift
Telemetry.breadcrumb("User opened project", category: "ui")

```

This method internally calls `SentrySDK` to add breadcrumbs that help diagnose user-reported issues.


### Rendering Lottie Animations to Video

In [`Sources/PalmierPro/Preview/LottieVideoGenerator.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Sources/PalmierPro/Preview/LottieVideoGenerator.swift), vector animations are converted to video format:

```swift
let generator = LottieVideoGenerator(lottieFileURL: url)
generator.render(to: destinationURL) { progress in
    print("Rendering… \(progress * 100)%")
}

```

The lottie-ios library handles the frame-by-frame rasterization, producing MP4 files compatible with the timeline's media engine.


## Summary

Understanding what libraries and frameworks Palmier Pro depends on reveals its architecture as a modern Swift application:

- **Nine Swift packages** declared in [`Package.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Package.swift) provide specialized media, AI, authentication, and monitoring capabilities.
- **DSWaveformImage**, **lottie-ios**, and **swift-transformers** handle specific media processing and AI tasks.
- **Sparkle** and **sentry-cocoa** manage distribution and stability.
- **Native Apple frameworks** like AVFoundation and SwiftUI form the foundation for video editing and UI rendering.


## Frequently Asked Questions

### What Swift Package Manager dependencies does Palmier Pro use?

Palmier Pro uses nine Swift packages: DSWaveformImage, swift-sdk (ModelContextProtocol), Sparkle, sentry-cocoa, clerk-convex-swift, clerk-ios, convex-swift, swift-transformers, and lottie-ios. These are declared in the [`Package.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Package.swift) manifest and linked to the main executable target.


### How does Palmier Pro handle crash reporting and telemetry?

The application integrates **sentry-cocoa** through a centralized `Telemetry` wrapper in [`Sources/PalmierPro/Telemetry/Telemetry.swift`](https://github.com/palmier-io/palmier-pro/blob/main/Sources/PalmierPro/Telemetry/Telemetry.swift). This captures crash reports, performance traces, and custom breadcrumbs while the app runs in production.


### Which libraries power the AI editing features in Palmier Pro?

AI functionality relies on **swift-sdk** for the Model Context Protocol, **swift-transformers** for text tokenization, and **convex-swift** for fetching remote models. These libraries work together to enable on-device inference and cloud-based AI assistance.


### Does Palmier Pro rely on any native Apple frameworks?

Yes, the application heavily uses **AVFoundation** for media handling, **SwiftUI** and **AppKit** for the interface, **CoreGraphics** for image processing, and **CryptoKit** for security operations. These frameworks are imported throughout the codebase in `Sources/PalmierPro`.