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

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 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 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 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 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 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 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, the application uses WaveformAnalyzer to extract amplitude data:

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 file wraps sentry-cocoa to provide a unified logging interface:

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, vector animations are converted to video format:

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 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 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. 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.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →