From 17e9303b6931f647d81f36d40bdcd915d9de6cbf Mon Sep 17 00:00:00 2001 From: treastrain / Tanaka Ryoga Date: Fri, 29 Aug 2025 04:21:33 +0900 Subject: [PATCH 1/2] Swift 6.2 Support --- Package.swift | 10 +++++++--- PythonKit/Python.swift | 3 ++- PythonKit/PythonLibrary.swift | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Package.swift b/Package.swift index c1ea0aa..33f5e2e 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.1 +// swift-tools-version: 6.2 import PackageDescription @@ -13,11 +13,15 @@ let package = Package( targets: [ .target( name: "PythonKit", - path: "PythonKit" + path: "PythonKit", + swiftSettings: [ + .defaultIsolation(MainActor.self) + ] ), .testTarget( name: "PythonKitTests", dependencies: ["PythonKit"] ), - ] + ], + swiftLanguageModes: [.v6] ) diff --git a/PythonKit/Python.swift b/PythonKit/Python.swift index 35d2fcb..87cf6cf 100644 --- a/PythonKit/Python.swift +++ b/PythonKit/Python.swift @@ -37,7 +37,7 @@ typealias OwnedPyObjectPointer = PyObjectPointer // `PythonObject` will define copy constructors, move constructors, etc. to // implement move semantics. @usableFromInline @_fixed_layout -final class PyReference { +nonisolated final class PyReference { private var pointer: OwnedPyObjectPointer // This `PyReference`, once deleted, will make no delta change to the @@ -207,6 +207,7 @@ public extension PythonObject { } /// An error produced by a failable Python operation. +@MainActor public enum PythonError : Error, Equatable { /// A Python runtime exception, produced by calling a Python function. case exception(PythonObject, traceback: PythonObject?) diff --git a/PythonKit/PythonLibrary.swift b/PythonKit/PythonLibrary.swift index ab94a3f..55afb3d 100644 --- a/PythonKit/PythonLibrary.swift +++ b/PythonKit/PythonLibrary.swift @@ -30,6 +30,7 @@ import WinSDK //===----------------------------------------------------------------------===// public struct PythonLibrary { + @MainActor public enum Error: Swift.Error, Equatable, CustomStringConvertible { case pythonLibraryNotFound From e65287ac60e4547d77b59d65dc10d2af413341c6 Mon Sep 17 00:00:00 2001 From: treastrain / Tanaka Ryoga Date: Fri, 29 Aug 2025 06:08:43 +0900 Subject: [PATCH 2/2] Swift Language Mode .v5 --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 33f5e2e..fd0151d 100644 --- a/Package.swift +++ b/Package.swift @@ -23,5 +23,5 @@ let package = Package( dependencies: ["PythonKit"] ), ], - swiftLanguageModes: [.v6] + swiftLanguageModes: [.v5] )