30 open-source projects similar to pry/pry, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pry alternative.
PsySH is an interactive read-eval-print loop and shell environment for PHP. It functions as a runtime debugger and application inspector, allowing for the execution of PHP code in real-time to experiment with snippets and inspect live application state. The project is distinguished by its ability to be embedded directly into running PHP applications for live troubleshooting. It provides specialized tools for state manipulation, including the ability to bypass visibility restrictions to inspect private or protected object members and the capacity to reload code without restarting the session.
IPython is an interactive computing environment and programmable extension of the Python read-eval-print loop. It serves as a development tool for writing, testing, and executing code in a live environment designed for rapid prototyping and data exploration. The system differentiates itself through a specialized set of magic commands for environment configuration and system shell integration. It features an object introspection engine for analyzing live program objects at runtime and a frontend-agnostic kernel that allows the execution logic to be embedded into other applications or graphical
This project is a comprehensive productivity guide and configuration reference for the VS Code editor. It provides a curated collection of shortcuts, configuration tips, and tutorials designed to improve efficiency and optimize the daily coding workflow. The resource covers advanced AI-assisted development, including the integration of autonomous agents, custom prompt files, and AI-powered coding assistants for task automation and code generation. It also provides specialized guidance on integrated terminal management, such as configuring shell profiles and automating command execution. Addi
ptpython is a programmable Python interactive shell and development console. It functions as an enhanced REPL for executing Python code and managing runtime state, featuring support for an asynchronous event loop that allows for top-level await statements. The environment is highly customizable, offering pluggable keybinding schemes and adjustable interface appearances. It provides a programmable interface that can be embedded into other applications to facilitate runtime debugging and live state inspection. The shell includes a suite of developer tools for interactive coding, such as automa
This repository contains the comprehensive documentation for a code editor focused on AI-assisted software development and remote development workflows. It covers the implementation of AI agents and language models used for autonomous code generation, large-scale refactoring, and task iteration. The project is distinguished by its deep integration of autonomous AI agents capable of web navigation, application logic validation, and orchestrating multi-step development processes. It provides specialized frameworks for tailoring AI behavior through custom instructions, model context protocols, a
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
Laravel Tinker is an interactive shell that boots the full Laravel application context, allowing you to run PHP code, test models, and experiment with the framework in real time from the command line. It integrates PsySH as its underlying REPL engine, providing features like automatic namespace resolution, command history persistence, and on-demand class loading through Composer's autoloader. The tool handles the full lifecycle of a Laravel console command, from defining input signatures and prompting for missing arguments to executing commands programmatically and queuing them for background
ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables functional programming across different JavaScript engines and platforms, allowing developers to build user interfaces and applications for web browsers and server environments. The project provides a read-eval-print loop for executing code live within a browser or server for immediate feedback. This facilitates an interactive development workflow where code can be written and tested in real time without restarting the application. The system covers a broad capability surface, i
Leiningen is a build tool, dependency manager, and project automator for Clojure. It provides a command-line interface for bootstrapping new project structures, managing external libraries, and launching interactive read-eval-print loops for live development. The tool allows for the extension of build commands through a plugin system and manages project settings using a configuration map that can be layered with global user preferences and specific profiles. Its capabilities cover the full project lifecycle, including automated test execution, the creation of standalone executable archives,
Node.js is an open-source, cross-platform JavaScript runtime environment built on the V8 engine, designed for executing JavaScript code outside a web browser. It operates as a server-side JavaScript platform with an event-driven, non-blocking I/O architecture that enables building scalable network applications and web servers. The runtime integrates the CommonJS module system for synchronous module loading and the npm ecosystem for sharing and reusing packages. The platform provides comprehensive capabilities for web server development, including creating HTTP and HTTPS servers, managing HTTP
ts-node is a TypeScript execution engine and just-in-time transpiler for Node.js. It enables the direct execution of TypeScript files by converting them to JavaScript on the fly, removing the requirement for a manual pre-compilation build step. It also provides a TypeScript read-eval-print loop for evaluating expressions and testing code snippets in real time. The project integrates with the Node.js module system as a loader hook to resolve and load files using native import syntax. It features a pluggable compiler interface that allows the use of external transpilers to accelerate execution
dnSpy is a specialized suite of tools for the reverse engineering of .NET assemblies, functioning as a decompiler, assembly editor, and debugger. It translates compiled intermediate language back into high-level source code and provides an execution environment for stepping through compiled binaries to inspect runtime state without the original source files. The project includes a BAML decompiler that converts binary application markup language into a disassembled format and translates it into extensible markup language for user interface analysis. It also functions as a binary analysis tool
Vimspector is a visual debugger integration for Vim that enables developers to step through code and inspect program state without leaving the editor. It utilizes the Debug Adapter Protocol to provide a unified interface for debugging multiple programming languages through various debug adapters. The project distinguishes itself by supporting low-level analysis and specialized environments, including bare metal hardware debugging for microcontrollers and the ability to perform disassembly analysis and process memory dumping. It also provides remote debugging capabilities by proxying requests
Melody is a regular expression transpiler and pattern compiler that translates a high-level, human-readable syntax into standard regular expressions. It functions as a tool to simplify the creation and maintainability of complex matching patterns. The project provides a specialized syntax for defining reusable variables and macros to reduce duplication within expressions. It includes native support for mapping specialized labels to Unicode category properties and automatically handles the escaping of literal text. The system is accessible through several interfaces, including a command-line
FLEX is a diagnostic framework designed for the inspection and modification of mobile applications during active execution. It provides a suite of tools that allow developers to explore the internal state of a running process, including its memory, class definitions, and object properties, without requiring a recompilation of the source code. The tool distinguishes itself by enabling real-time interaction with the application environment. It facilitates dynamic user interface prototyping by allowing for the traversal and modification of visual hierarchies, as well as the direct manipulation o
LightTable is an extensible source code editor and integrated development environment designed as an interactive programming environment. It enables the evaluation of programming language fragments in real time to provide instant feedback on expressions. The workspace functions as a remote execution environment, connecting to and managing external servers to run code within remote processes. It allows for an interactive workflow where users can execute code fragments and track expression values without restarting the environment. The system provides source code editing capabilities, includin
nvim-dap is a Neovim plugin that serves as a client implementation of the Debug Adapter Protocol. It provides a language-agnostic debugger interface that integrates external debugger binaries into the editor, allowing users to manage breakpoints and step through code. The project enables remote process debugging by attaching to running processes or containerized applications via TCP sockets and network proxies. It supports connecting to debug adapters through standard input/output or TCP, with specialized support for launching and attaching to Java processes. The plugin covers program execut
ptpython is an enhanced interactive Python REPL and asynchronous console built on the prompt-toolkit library. It provides a customizable command-line interface for executing Python code with support for multiline editing, autocompletion, and syntax highlighting. The environment supports top-level await statements and asynchronous execution via an integrated event loop. It allows for extensive interface customization, including configurable key bindings for Vi or Emacs navigation and personalized color schemes. The shell includes capabilities for real-time syntax validation and the execution
Yaegi is a Go language interpreter and embedded scripting engine that executes Go source code at runtime without requiring a separate compilation step. It provides a mechanism for evaluating Go expressions and files dynamically, functioning as both a library for compiled applications and a standalone read-eval-print-loop environment. The project enables the integration of dynamic Go scripts into compiled programs to allow for runtime extensibility and plugin development. It facilitates the conversion of interpreted symbols from evaluated scripts into usable interfaces and types within a compi
Python Fire is a library that automatically generates command line interfaces from any Python object, function, or class. It removes the need for manual argument parsing by mapping Python dictionaries, lists, and classes directly to terminal commands. The tool converts Python docstrings into formatted terminal help screens and produces shell scripts to enable tab-completion for available commands. It can wrap existing libraries or external modules to expose their functionality via the terminal without requiring modifications to the original source code. The library supports hierarchical comm
Pkl is a configuration-as-code language used to define, validate, and generate structured configuration files. It functions as a type-safe configuration generator that enforces data integrity through a strongly-typed schema, ensuring configuration values meet defined constraints and types during evaluation. The project distinguishes itself by acting as both a configuration file generator and a binding generator. It transforms high-level programmable definitions into static formats such as JSON, YAML, or XML, and produces language-specific source code to synchronize settings and provide type s
Stack is a build tool, package manager, and project bootstrapper for the Haskell language. It provides a consistent environment for compiling source code, managing project binaries, and executing programs. The system ensures reproducible builds through snapshot-based dependency resolution and manages the installation of specific compiler binaries to match project requirements. It utilizes content-addressable package storage and local-path caching to maintain the integrity of source code and avoid redundant downloads across different projects. The toolset covers the full development lifecycle
Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous
Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a
Devtool is a suite of developer tools designed to execute server-side JavaScript code within a browser environment. It functions as a bridge that allows Node.js programs to run inside a Chromium instance, enabling the use of built-in browser developer tools for visual debugging and performance profiling. The project provides a read-eval-print loop for interactive command execution with support for relative imports and piped input. It also includes a file watcher that monitors source files for changes and automatically reloads programs to accelerate the iteration cycle. The system integrates
Sbt is a JVM build tool and dependency management system designed for Scala and Java. It functions as a multi-project build orchestrator that manages the compilation of source code, resolves external libraries from remote repositories, and packages binaries for distribution. The project is distinguished by its interactive build system, which provides a read-eval-print loop for real-time state inspection and task execution. It utilizes a dependency-graph based execution model to process tasks and maintains a type-safe key-value store for dynamic build configuration. Its capabilities cover JVM
Cerebro is a desktop application launcher and search interface that provides a minimalist overlay for finding files, launching software, and executing web queries. It functions as a centralized command bar designed for desktop productivity and rapid system navigation. The project features an extensible plugin framework and a modular architecture, allowing third-party add-ons to integrate new tools and capabilities through a standardized API. It also includes a customizable theme engine that enables users to adjust the visual appearance and styles of the workspace interface. The interface sup
Spacemacs is a community-driven configuration for Emacs that integrates modal text editing and a modular system for managing editor features. It implements distinct states for navigation and insertion to separate text manipulation from text entry, combining the efficiency of modal navigation with the extensibility of the Emacs environment. The project distinguishes itself through a layer-based feature composition system, which groups related third-party packages and configurations into modular units. This system includes dependency-based resolution to manage conflicting extensions and a mnemo
ChezScheme is a compiler and runtime environment for the Scheme programming language that transforms source code into optimized machine binaries. It serves as a high-performance implementation of the language, producing executable machine code for execution on physical hardware. The project features a native machine code compiler, a read-eval-print loop for executing and editing multi-line expressions in real time via a shell, and a generational garbage collected runtime for automatic memory management. It also includes a foreign function interface for integrating external C libraries and lan