GETTING STARTED

Projects and checkpoints

Keep your open Python modules together, reopen them as a project, and return to named checkpoints.

Save a project

Choose File → Project → Save Project and select a filename. PyCForge creates a .pcfproj bundle containing all open Python modules, their current editor text, tab order, primary module, module identities, and Typed or Runtime mode. The first save also creates an Initial project checkpoint. Later Save Project operations update the current state without adding a checkpoint.

The bundle is a ZIP file with a JSON manifest, UTF-8 Python sources, and any checkpoints. It includes the open source modules; generated C, data files, images, installed packages, virtual environments, and compiler installations are not included. Keep any required companion resources separately.

Save Project As creates a copy at another location. Leave Include checkpoints checked to carry the history with it, or clear it to save only the current state. A copy without checkpoints must use a different filename.

Open and preview

  1. Choose File → Project → Open Project and select a .pcfproj file in PyCForge's themed dialog.
  2. Review the right-side preview: bundled modules, primary module, conversion mode, file size, checkpoint count, and latest checkpoint. A cover panel with a small progress bar remains over the information while the selected bundle is checked. Selecting a file does not extract it or change the workspace.
  3. Choose a Working folder. It must be a new folder inside an existing parent; PyCForge suggests an available name.
  4. Choose Open. If the current workspace has unsaved changes, choose Save All, Discard, or Cancel before it is replaced.

Opening validates the complete bundle, writes its current Python sources into the new working folder, and opens those files in the saved tab order. Existing folders and the original Python files are left untouched. Invalid or damaged bundles do not replace the current workspace. Nothing in a bundle is executed by previewing or opening it.

Checkpoints and restore

Choose File → Project → Create Checkpoint and give the version a short name, such as “Before refactoring”. A checkpoint captures all open modules and the conversion mode, including unsaved editor text, and is stored in the project bundle.

Open Project History, select a checkpoint, then select a module to compare its source with the current workspace. Restore Module restores that module; Restore Project restores the checkpoint's module set, order, primary module, active tab, and conversion mode. Review the confirmation before continuing.

Before either restore, PyCForge saves the current editor state as a recovery checkpoint named Before restore: …. If that save fails, the restore stops. Restoring updates the editors; Python files on disk are written only when you explicitly save them. Removing a module through a restore does not delete its disk file.

The Delete button removes a selected checkpoint after confirmation. It does not delete Python files. A bundle holds up to 100 checkpoints, so delete an unwanted checkpoint or save a separate copy without history when that limit is reached.

Python files and project saves

CommandWhat it saves
Save PythonThe selected module to its Python file.
Save All PythonEvery new or modified module to its Python file, asking for locations where needed.
Save ProjectThe open modules' current editor text and project state to the bundle.
Create CheckpointA named version and the current project state to the bundle.

Saving a bundle does not clear a module's unsaved marker or update its separate .py file. Use Save All Python before running a script that imports edited companion modules. On exit or when opening another project, the unsaved-changes dialog's Save All saves the Python files and any changed associated project bundle. Cancelling a location or encountering a write failure leaves the workspace open with the remaining changes intact.

If another application changes the project bundle after PyCForge reads it, saving stops rather than replacing that revision. Use Save Project As to keep your editor state in a separate bundle, or reopen the changed project.

Returning to a project

Normal startup reopens saved Python files from disk and reconnects their available project history. It does not extract a bundle over those files or silently restore older source text. To load the exact saved bundle state, use Open Project and choose a new working folder.

Missing, damaged, or slow project-history reads appear in the Startup report while the rest of the workspace remains usable. The bundle and Python files remain unchanged. Retry with Open Project when the file is available. Safe start opens an empty workspace without reading or changing the previous session.

A project supports up to 64 open Python modules, each up to 16 MiB, with up to 128 MiB of distinct source content across its current state and history. Linked modules must be on one drive and, once associated with a working folder, inside that folder. Portable filenames must also be valid on Windows, Linux, and macOS; conflicting names are reported before saving.