GETTING STARTED
Keep your open Python modules together, reopen them as a project, and return to named checkpoints.
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.
.pcfproj file in PyCForge's themed dialog.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.
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.
| Command | What it saves |
|---|---|
| Save Python | The selected module to its Python file. |
| Save All Python | Every new or modified module to its Python file, asking for locations where needed. |
| Save Project | The open modules' current editor text and project state to the bundle. |
| Create Checkpoint | A 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.
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.