Skip to main content

A tool to save and load a snapshot of a Python debugging environment.

Project description

Debug Snapshot

Overview

Debug Snapshot is a Python package designed to facilitate debugging by enabling the saving and loading of a snapshot of a Python debugging environment. This tool is especially useful when you would like to use the functionally interactive python for debugging, making it easier to analyze and understand complex code behaviors.

Installation

To install Debug Snapshot, simply run the following command:

pip install debugsnap

Usage

To use Debug Snapshot, follow these steps:

** Warning:** By default a new folder named tmp_save_snapshot will be created in your ~ directory and the shapshot files will be saved there. To avoid this behaviour you have to provide a storage_path.

  1. Saving the Debugging Snapshot: In your debug session, use the appropriate function to save the current snapshot. For example:

     from debugsnap import save_snapshot
     save_snapshot(local_vars=locals(), global_vars=globals())
    
  2. Loading the Debugging Snapshot: In a new Python session or an interactive environment, load the saved snapshot:

     from debugsnap import load_snapshot
     global_vars, local_vars = load_snapshot()
     globals().update(global_vars)
     locals().update(local_vars)
    

Snippets

In order to make the use of this package easier we suggest adding the following snippets to your VScode, by adding them to /snippets/python.json

    "Save Debug Snapshot": {
        "prefix": "save_snapshot",
        "body": [
            "from debugsnap import save_snapshot",
            "save_snapshot(local_vars=locals(), global_vars=globals())"
        ],
        "description": "Save the current state of local and global variables, excluding specific ones."
    },
    "Load Debug Snapshot": {
        "prefix": "load_snapshot",
        "body": [
            "from debugsnap import load_snapshot",
            "global_vars, local_vars = load_snapshot()",
            "globals().update(global_vars)",
            "locals().update(local_vars)"
        ],
        "description": "Load a saved state into the current global and local variables."
    }
  • Snapshot Saving: Captures the current snapshot of your Python environment, including variables and their values.
  • Snapshot Loading: Restores the saved snapshot in a new Python session, allowing for continued exploration and debugging.
  • Non-Picklable Object Handling: Gracefully manages non-picklable objects, ensuring a robust saving process.

Requirements

Debug Snapshot requires Python 3.6 or later. Dependencies include:

  • dill >= 0.3.0

Contributing

Contributions to Debug Snapshot are welcome!

License

Debug Snapshot is released under the MIT License. See the LICENSE file for more details.

Contact

For questions or feedback, please contact v4lue4dded@gmail.com.

Author

Developed by v4lue4dded. Visit the GitHub repository for more information and updates.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

debugsnap-0.1.3.tar.gz (3.1 kB view details)

Uploaded Source

File details

Details for the file debugsnap-0.1.3.tar.gz.

File metadata

  • Download URL: debugsnap-0.1.3.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for debugsnap-0.1.3.tar.gz
Algorithm Hash digest
SHA256 421ed37cb2852ffb9a22b78d99b1db41a44a742475770e3fe86c6d9343de2b28
MD5 d75992f21e2fcbb9572179189bab8dda
BLAKE2b-256 195245583dfc132cb5473db31e3a26cc03268e1200e0abbf6e69b06379f1e0a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page