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]
)