The File System
Navigate your project seamlessly. Understand how the Virtual File System synchronizes with our cloud storage in real-time.
The Virtual File System (VFS)
The Explorer panel in Python Online is not just a visual list of your code; it is a Virtual File System (VFS) that acts as a real-time bridge between your browser's memory and our remote Linux servers.
When you create, rename, or delete a file in the UI, the platform executes a synchronized transaction. It updates the VFS state instantly so you can continue working without UI latency, while a background Web Worker securely commits the structural change to your persistent cloud storage.
Reality Sync: The Reconciliation Engine
One of the most frustrating aspects of standard web IDEs is "state drift"—when your Python script generates a file (like a CSV report or a Matplotlib chart), but the file doesn't appear in the sidebar until you manually refresh the page.
Python Online eliminates this using a two-tier reconciliation architecture:
- The Live Watcher: Our backend nodes monitor your project directory in real-time. If an automated task or a background process modifies a file, those changes are immediately piped to your browser via WebSockets, keeping your open tabs perfectly synchronized.
- The Authoritative Scan: Every time a Python execution finishes (when your script completes), the orchestrator pauses for a 100ms grace period to allow file I/O to settle. It then performs a high-integrity differential scan between the physical server disk and your browser's VFS. Any newly generated files or folders are instantly injected into the UI, automatically expanding the relevant folders so you can see your generated data immediately.
Explorer Operations
The Explorer is designed to function identically to standard desktop file managers:
- Context Menu: Right-click anywhere in the empty space to create new files or folders. Right-click on a specific item to access actions like Rename, Duplicate, or Delete.
- Visual Cues: Files are automatically assigned standard icon sets based on their extension. The platform provides rich syntax support and validation for JSON, Markdown, HTML, CSS, JavaScript, and shell scripts alongside Python.
- Drag and Drop: Reorganizing your project is seamless. You can drag any file or folder and drop it into another folder to move it atomically across the network.
- Sanitization: System metadata—such as Python's
__pycache__folders,.pypackageslibrary dependencies, and internal execution logs—are automatically filtered out. Your workspace remains clean and focused exclusively on your application code.
Global Project Search
When working on multi-file web applications, finding specific function calls or variable definitions is critical. The Search Panel provides global full-text search across your entire project.
The engine searches the live, in-memory contents of your files, meaning it can find text in a document even if you haven't saved it to the cloud yet. It supports advanced filtering toggles:
Aa(Match Case): Ensures your search strictly adheres to exact casing.\b(Whole Word): Prevents partial matches (e.g., searching for "app" won't highlight the word "apple")..*(Regular Expressions): Leverage powerful Regex queries to find complex code structures across dozens of files simultaneously.
Clicking on any search result instantly opens the target file and moves your cursor directly to the highlighted line.
Data Portability (Import & Export)
You can transition your local projects to the cloud, or take your cloud projects offline, at any time.
Importing a Project
To import existing work, right-click in the empty space of the Explorer and select Import Project. You can upload an entire folder structure from your computer. The platform will recursively recreate your folders and upload all text and binary assets, perfectly replicating your local environment in the cloud.
Note on Imports: The upload size is strictly bound by your tier's storage limits (100MB for Free, 1GB for Pro). If your upload exceeds this quota, the operation will be cleanly blocked before any files are transferred.
Exporting a Project
If you want to move your codebase elsewhere or back it up locally, simply right-click and select Export Project. The Virtual File System will compress your entire source code directory into a standard .zip file and prompt a download to your machine.