Skip to main content

Create restore points in your projects

Project description

checkpoint

Codacy Badge codecov.io Maintainability

GitHub release Downloads

PRs Welcome

forthebadge made-with-python

Create restore points for your project locally

Checkpoint is a tool that helps you to create restore points for your project. This is very similar to git tagging, the only difference between these two is that checkpoint doesn't require the project to be git initialized. It also doesn't require you to have a git remote.

How does it work?

Checkpoint provides multiple Sequence classes that have memeber functions which execute based on their order in the sequence. These sequences are used to perform all the sequentional operations that are required to create a restore point. Some of these sequences are:

  • IOSequence: This sequence is used to perfrom all the input/output sequentional 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 checkpoint isto be initialized in a UI enviroment a sequence for UI can be created and passed to the Checkpoint constructor.

Detailed documentation can be found here

How to use checkpoint?

To run checkpoint in UI environment, run the following command:

Run checkpoint in UI environment
checkpoint --run-ui

The following is an example of how to use checkpoint in a CLI environment.

Initialize checkpoint in the target project
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.

Creating a restore point
checkpoint --name=restore_point_name --action=create --path=path/to/project
Jumping to a restore point
checkpoint --name=restore_point_name --action=restore --path=path/to/project
Deleting a restore point
checkpoint --name=restore_point_name --action=delete --path=path/to/project
Version of checkpoint
checkpoint --name=restore_point_name --action=version --path=path/to/project

Installation

pip install pycheckpoint

Development

1. Get the source code by cloning from remote repository.
git clone https://github.com/antrikshmisri/checkpoint.git
2. Create and activate a virtual environment.
python -m venv venv
source venv/bin/activate
3. Get the dependencies
pip install -r requirements/default.txt
4. Install checkpoint as a local project.
pip install .
5. Run the tests
pip intall -r requirements/test.txt
pytest -v checkpoint/tests/

Code of Conduct

Please go through the code of conduct before contributing to this project which can be found here.

Screenshots

Screenshot 2021-11-09 222450 Screenshot 2021-11-09 222154

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycheckpoint-1.3.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

pycheckpoint-1.3-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file pycheckpoint-1.3.tar.gz.

File metadata

  • Download URL: pycheckpoint-1.3.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for pycheckpoint-1.3.tar.gz
Algorithm Hash digest
SHA256 a9b1d6d873516d96996465aebf4b5aff60885ab1a75943c042aed113190f6344
MD5 5526e756937c2c4ba9d25ac694c5af4a
BLAKE2b-256 2fc22add7772f1f2887c657549a50b316fa083c65054b1850cbd93997d890ca2

See more details on using hashes here.

File details

Details for the file pycheckpoint-1.3-py3-none-any.whl.

File metadata

  • Download URL: pycheckpoint-1.3-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for pycheckpoint-1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e6521684e2be0e12204934de952a394b22893826f6920f5a4976b6bff34f2390
MD5 fe6f1db987e32b5aea2b07ce11c42e35
BLAKE2b-256 ac363b151ad99bb67853dadbe1f81951972d83d933fdce82a7cd1997ead72a81

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page