Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pvieito/PythonKit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: Skyline-23/PythonKit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 2 files changed
  • 1 contributor

Commits on Dec 6, 2025

  1. Configuration menu
    Copy the full SHA
    819ea4c View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2026

  1. fix: prevent SIGTRAP crash on Python exceptions in dynamic calls

    Replace `try!` with do/catch in PythonObject.dynamicallyCall methods.
    Previously, any Python exception raised during dynamic calls would
    trigger swift_unexpectedError → SIGTRAP, crashing the app.
    
    Now returns Python.None with assertionFailure (debug-only) instead
    of fatal crash in release builds.
    
    Affected methods:
    - dynamicallyCall(withArguments:)
    - dynamicallyCall(withKeywordArguments:) (both overloads)
    Skyline-23 committed Jan 4, 2026
    Configuration menu
    Copy the full SHA
    ee2baf2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1c42f8c View commit details
    Browse the repository at this point in the history
  3. feat: add SafeDynamicCallable for non-crashing Python calls

    Add `safeCallable` property to PythonObject that returns Python.None
    on Python exceptions instead of crashing.
    
    Follows the existing `throwingCallable` pattern, providing an opt-in
    safe path without changing default behavior.
    
    Usage: obj.safeCallable(args...) → returns Python.None on error
    Skyline-23 committed Jan 4, 2026
    Configuration menu
    Copy the full SHA
    11e7079 View commit details
    Browse the repository at this point in the history
Loading