Swift framework to interact with Python.
PythonKit requires Swift 5 or higher and has been tested on macOS, Linux and Windows.
Some Python code like this:
importsysprint(f"Python {sys.version_info.major}.{sys.version_info.minor}") print(f"Python Version: {sys.version}") print(f"Python Encoding: {sys.getdefaultencoding().upper()}")Can be implemented in Swift through PythonKit with the following code:
import PythonKit letsys=tryPython.import("sys")print("Python \(sys.version_info.major).\(sys.version_info.minor)")print("Python Version: \(sys.version)")print("Python Encoding: \(sys.getdefaultencoding().upper())")Add the following dependency to your Package.swift manifest:
.package(url:"https://github.com/pvieito/PythonKit.git",.branch("master")),PythonKit can be built with Swift PM:
$ cd PythonKit $ swift run [*] Python 3.7 [ ] Version: 3.7.0 The Python library will be loaded at runtime, PythonKit will try to find the most modern Python version available in the system. You can force a given version with the PYTHON_VERSION environment variable or an specific Python library path or name with PYTHON_LIBRARY.
$ PYTHON_VERSION=3 swift run [*] Python 3.5 [ ] Version: 3.5.2 $ PYTHON_VERSION=2.7 swift run [*] Python 2.7 [ ] Version: 2.7.10 $ PYTHON_LIBRARY=libpython3.5.so swift run [*] Python 3.5 [ ] Version: 3.5.2 $ PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so swift run [*] Python 2.7 [ ] Version: 2.7.10 PythonKit is based on the Python module from the Swift for TensorFlow project. Currently both modules are equivalent, the mantainers have been developing them jointly and are kept in sync.