{"id":16640991,"url":"https://github.com/antrikshmisri/checkpoint","last_synced_at":"2025-03-21T15:32:18.738Z","repository":{"id":43195307,"uuid":"376615987","full_name":"antrikshmisri/checkpoint","owner":"antrikshmisri","description":"Create restore points for your project locally","archived":false,"fork":false,"pushed_at":"2022-08-22T09:16:55.000Z","size":2573,"stargazers_count":19,"open_issues_count":8,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T15:58:42.035Z","etag":null,"topics":["checkpoint","cli","python","restore-points","ui"],"latest_commit_sha":null,"homepage":"https://antrikshmisri.github.io/checkpoint/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antrikshmisri.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.txt","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-13T18:40:41.000Z","updated_at":"2023-04-05T11:35:18.000Z","dependencies_parsed_at":"2022-08-03T15:19:06.813Z","dependency_job_id":null,"html_url":"https://github.com/antrikshmisri/checkpoint","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antrikshmisri%2Fcheckpoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antrikshmisri%2Fcheckpoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antrikshmisri%2Fcheckpoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antrikshmisri%2Fcheckpoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antrikshmisri","download_url":"https://codeload.github.com/antrikshmisri/checkpoint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244822730,"owners_count":20516156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checkpoint","cli","python","restore-points","ui"],"created_at":"2024-10-12T07:44:44.876Z","updated_at":"2025-03-21T15:32:18.347Z","avatar_url":"https://github.com/antrikshmisri.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\nCheckpoint\n\u003c/h1\u003e\n\u003cbr /\u003e\n \n\u003cspan align=\"center\"\u003e\n \n[![checkpoint logo](https://raw.githubusercontent.com/antrikshmisri/checkpoint/master/docs/_static/logo.png)](http://checkpoint.antriksh.live/)\n \n\u003cbr /\u003e\n \n[![pip install pycheckpoint](https://raw.githubusercontent.com/antrikshmisri/DATA/34bf992f0f7f6e265d33b193e460ec073579551b/imgs/pip-install-pycheckpoint.svg)](https://github.com/antrikshmisri/checkpoint)\n \n[![forthebadge made-with-python](http://ForTheBadge.com/images/badges/made-with-python.svg)](https://www.python.org/) [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)\n \n \u003cbr /\u003e\n \n [![Codacy Badge](https://app.codacy.com/project/badge/Grade/db5e64ce3b644109afe0c6ed96f266b8)](https://www.codacy.com/gh/antrikshmisri/checkpoint/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=antrikshmisri/checkpoint\u0026amp;utm_campaign=Badge_Grade) ![codecov.io](https://codecov.io/github/antrikshmisri/checkpoint/coverage.svg?branch=master) [![Maintainability](https://api.codeclimate.com/v1/badges/d530dec72a679fe43d46/maintainability)](https://codeclimate.com/github/antrikshmisri/checkpoint/maintainability)\n\n[![Install Checkpoint Windows](https://img.shields.io/badge/Install-Windows-blue.svg?style=flat-square)](https://checkpoint-installer-bucket.s3.amazonaws.com/installers/windows+Installer/windows-install-checkpoint.exe) [![Install Checkpoint MacOS](https://img.shields.io/badge/Install-MacOS-blue.svg?style=flat-square)](https://checkpoint-installer-bucket.s3.amazonaws.com/installers/macos+Installer/macos-install-checkpoint) [![Install Checkpoint Ubuntu](https://img.shields.io/badge/Install-Ubuntu-blue.svg?style=flat-square)](https://checkpoint-installer-bucket.s3.amazonaws.com/installers/ubuntu+Installer/ubuntu-install-checkpoint) \n\n[![GitHub release](https://img.shields.io/github/release/antrikshmisri/checkpoint)](https://GitHub.com/Naereen/StrapDown.js/releases/) [![Downloads](https://pepy.tech/badge/pycheckpoint)](https://pepy.tech/project/pycheckpoint) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) \n \n\u003cdiv\u003e\n\u003cb\u003e Checkpoint is a tool that helps you to create restore points for your project \u003cbr/\u003e\nUnlike other tools like git, checkpoint makes the whole process as simple as a few click \u003cbr/\u003e\nPlus, there is no need for a remote repository, checkpoint does everything locally \u003cbr/\u003e\n\u003c/b\u003e\n \n\u003c/div\u003e\n\u003c/span\u003e\n\u003cbr /\u003e\n \n \n## How does it work?\n \nCheckpoint 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:\n \n* `IOSequence`: This sequence is used to perform all the input/output sequential operations.\n* `CLISequence`: This sequence is used to perform all the CLI operations which includes parsing the arguments, determining the action and performing the action.\n \nCheckpoint 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.\n \n**Detailed documentation can be found [here](http://checkpoint.antriksh.live/)**\n \n## How to use checkpoint?\n \nTo run checkpoint in UI environment, run the following command:\n \n##### Run checkpoint in UI environment\n```bash\ncheckpoint --run-ui\n```\n \nThe following is an example of how to use checkpoint in a CLI environment.\n \n##### Initialize checkpoint in the target project\n```bash\ncheckpoint --action=init --path=path/to/project\n```\n*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.*\n \n##### Creating a restore point\n```bash\ncheckpoint --name=restore_point_name --action=create --path=path/to/project\n```\n \n##### Jumping to a restore point\n```bash\ncheckpoint --name=restore_point_name --action=restore --path=path/to/project\n```\n \n##### Deleting a restore point\n```bash\ncheckpoint --name=restore_point_name --action=delete --path=path/to/project\n```\n \n##### Version of checkpoint\n```bash\ncheckpoint --name=restore_point_name --action=version --path=path/to/project\n```\n \n## Installation\n \n`pip install pycheckpoint`\n### Development\n \n##### 1. Get the source code by cloning from the remote repository.\n```bash\ngit clone https://github.com/antrikshmisri/checkpoint.git\n```\n \n##### 2. Create and activate a virtual environment.\n```bash\npython -m venv venv\nsource venv/bin/activate\n```\n \n##### 3. Get the dependencies\n```bash\npip install -r requirements/default.txt\n```\n##### 4. Install checkpoint as a local project.\n```bash\npip install .\n```\n##### 5. Run the tests\n```bash\npip install -r requirements/test.txt\npytest -v checkpoint/tests/\n```\n \n## Code of Conduct\n \nPlease go through the code of conduct before contributing to this project which can be found [here](./CODE_OF_CONDUCT.md).\n \n \n## Screenshots\n \n\u003cimg width=\"749\" alt=\"Screenshot 2021-11-09 222450\" src=\"https://user-images.githubusercontent.com/54466356/140969067-6e845c1a-dc7d-4985-a0e1-d47583eb0523.png\"\u003e\n \n \n\u003cimg width=\"746\" alt=\"Screenshot 2021-11-09 222154\" src=\"https://user-images.githubusercontent.com/54466356/140968797-ab4fa175-0692-4fdf-937b-5cfb88a8a2ab.png\"\u003e\n \n \n \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantrikshmisri%2Fcheckpoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantrikshmisri%2Fcheckpoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantrikshmisri%2Fcheckpoint/lists"}