Unlike other tools like git, checkpoint makes the whole process as simple as a few click
Plus, there is no need for a remote repository, checkpoint does everything locally
Checkpoint provides multiple Sequence
classes that have member functions which execute based on their order in the sequence. These sequences are used to perform all the sequential operations that are required to create a restore point. Some of these sequences are:
IOSequence
: This sequence is used to perform all the input/output sequential operations.CLISequence
: This sequence is used to perform all the CLI operations which includes parsing the arguments, determining the action and performing the action.
Checkpoint also supports custom sequences that can be used to initialize checkpoint in different environments. For example, if a checkpoint is to be initialized in a UI environment a sequence for UI can be created and passed to the Checkpoint
constructor.
Detailed documentation can be found here
To run checkpoint in UI environment, run the following command:
checkpoint --run-ui
The following is an example of how to use checkpoint in a CLI environment.
checkpoint --action=init --path=path/to/project
After initialization a .checkpoint
directory is created in the target project. If the project is git initialized, this directory should be added to the git ignore file.
checkpoint --name=restore_point_name --action=create --path=path/to/project
checkpoint --name=restore_point_name --action=restore --path=path/to/project
checkpoint --name=restore_point_name --action=delete --path=path/to/project
checkpoint --name=restore_point_name --action=version --path=path/to/project
pip install pycheckpoint
git clone https://github.com/antrikshmisri/checkpoint.git
python -m venv venv
source venv/bin/activate
pip install -r requirements/default.txt
pip install .
pip install -r requirements/test.txt
pytest -v checkpoint/tests/
Please go through the code of conduct before contributing to this project which can be found here.