project-vault 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,133 @@
1
+ Metadata-Version: 2.4
2
+ Name: project-vault
3
+ Version: 1.0.0
4
+ Summary: The Unified Project Lifecycle Manager: Backup, Restore, and Teleport Projects Anywhere.
5
+ Author-email: Dhruv <your.email@example.com>
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: projectclone
10
+ Requires-Dist: projectrestore
11
+ Requires-Dist: boto3
12
+ Requires-Dist: b2sdk
13
+ Requires-Dist: rich
14
+ Requires-Dist: tomli; python_version < "3.11"
15
+
16
+ # Project Vault (pv)
17
+
18
+ **The Unified Project Lifecycle Manager.**
19
+ Teleport your entire project state—code, databases, caches, and environments—anywhere, safely.
20
+
21
+ ---
22
+
23
+ ## 🚀 The Core Vision
24
+
25
+ Project Vault (`pv`) creates **100% identical project capsules**. It captures the "messy reality" of a working project that Git ignores: local databases, `node_modules`, `.env` files, compiled binaries, and temp directories.
26
+
27
+ If you restore a `pv` snapshot on a new machine and run `diff -r`, you will see **zero differences**.
28
+
29
+ **Use Cases:**
30
+ * **Teleport:** Move a running workspace from Laptop → Server in seconds.
31
+ * **Resurrect:** Restore a dead environment exactly as it was 3 months ago.
32
+ * **Debug:** Snapshot a bug state (including the DB) and send it to a colleague.
33
+
34
+ ---
35
+
36
+ ## 📦 Installation
37
+
38
+ ### The Full Suite (Recommended)
39
+ Install the unified tool to get backup, restore, and cloud synchronization features.
40
+
41
+ ```bash
42
+ pip install project-vault
43
+ ```
44
+
45
+ This installs the `pv` command, which includes:
46
+ * **`projectclone`**: The core snapshot engine.
47
+ * **`projectrestore`**: The safety-critical restoration tool.
48
+
49
+ ### Standalone Tools (Advanced)
50
+ For servers, CI/CD, or minimal environments, you can install the components independently:
51
+
52
+ * **Backup Only:** `pip install projectclone` (No cloud deps)
53
+ * **Restore Only:** `pip install projectrestore` (Zero dependencies, ultra-lightweight)
54
+
55
+ ---
56
+
57
+ ## ⚡ Quick Start
58
+
59
+ ### 1. Initialize
60
+ Run this in your project root to generate a config file (`pv.toml`).
61
+ ```bash
62
+ pv init
63
+ ```
64
+
65
+ ### 2. Create a Snapshot
66
+ Capture the current state of your project into the local vault.
67
+ ```bash
68
+ pv vault
69
+ ```
70
+
71
+ ### 3. Check Status
72
+ See what has changed in your workspace since the last snapshot.
73
+ ```bash
74
+ pv status
75
+ ```
76
+
77
+ ### 4. Sync to Cloud
78
+ Push your encrypted, deduplicated snapshots to S3 or Backblaze B2.
79
+ ```bash
80
+ # Preview what will be uploaded
81
+ pv push --dry-run
82
+
83
+ # Upload
84
+ pv push
85
+ ```
86
+
87
+ ### 5. Restore (Teleport)
88
+ Bring the project back to life on any machine.
89
+ ```bash
90
+ # Restore the entire project
91
+ pv vault-restore ./vault/snapshots/my-project/snapshot_latest.json ./restored_project
92
+
93
+ # Or fix a single mistake locally
94
+ pv checkout src/main.py
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 🛠️ Commands
100
+
101
+ | Command | Description |
102
+ | :--- | :--- |
103
+ | `pv vault` | Create a content-addressable snapshot of the current directory. |
104
+ | `pv status` | Show modified files and cloud sync status. |
105
+ | `pv diff` | Compare a local file against the latest snapshot. |
106
+ | `pv checkout` | Restore a specific file from the latest snapshot. |
107
+ | `pv push` | Sync local vault to Cloud (S3/B2). |
108
+ | `pv pull` | Download missing snapshots from Cloud. |
109
+ | `pv list` | List all local or cloud snapshots. |
110
+ | `pv vault-restore` | Full project restoration from a manifest. |
111
+ | `pv check-integrity`| Verify the health of the local vault (detect corruption). |
112
+
113
+ ---
114
+
115
+ ## 🧩 Architecture
116
+
117
+ Project Vault is a **monorepo** containing three distinct tools:
118
+
119
+ 1. **`project-vault` (pv):** The orchestrator. Handles configuration, cloud sync, and user interaction.
120
+ 2. **`projectclone`:** The backup engine. Handles hashing, deduplication, and manifest generation.
121
+ 3. **`projectrestore`:** The restore engine. A standalone, dependency-free tool focused purely on safe data reconstruction.
122
+
123
+ ---
124
+
125
+ ## 🗺️ Roadmap
126
+
127
+ See [ROADMAP.md](ROADMAP.md) for the vision of **Project Teleportation**, **Smart Capsules**, and **Device Mesh**.
128
+
129
+ ---
130
+
131
+ ## 📄 License
132
+
133
+ MIT License.
@@ -0,0 +1,118 @@
1
+ # Project Vault (pv)
2
+
3
+ **The Unified Project Lifecycle Manager.**
4
+ Teleport your entire project state—code, databases, caches, and environments—anywhere, safely.
5
+
6
+ ---
7
+
8
+ ## 🚀 The Core Vision
9
+
10
+ Project Vault (`pv`) creates **100% identical project capsules**. It captures the "messy reality" of a working project that Git ignores: local databases, `node_modules`, `.env` files, compiled binaries, and temp directories.
11
+
12
+ If you restore a `pv` snapshot on a new machine and run `diff -r`, you will see **zero differences**.
13
+
14
+ **Use Cases:**
15
+ * **Teleport:** Move a running workspace from Laptop → Server in seconds.
16
+ * **Resurrect:** Restore a dead environment exactly as it was 3 months ago.
17
+ * **Debug:** Snapshot a bug state (including the DB) and send it to a colleague.
18
+
19
+ ---
20
+
21
+ ## 📦 Installation
22
+
23
+ ### The Full Suite (Recommended)
24
+ Install the unified tool to get backup, restore, and cloud synchronization features.
25
+
26
+ ```bash
27
+ pip install project-vault
28
+ ```
29
+
30
+ This installs the `pv` command, which includes:
31
+ * **`projectclone`**: The core snapshot engine.
32
+ * **`projectrestore`**: The safety-critical restoration tool.
33
+
34
+ ### Standalone Tools (Advanced)
35
+ For servers, CI/CD, or minimal environments, you can install the components independently:
36
+
37
+ * **Backup Only:** `pip install projectclone` (No cloud deps)
38
+ * **Restore Only:** `pip install projectrestore` (Zero dependencies, ultra-lightweight)
39
+
40
+ ---
41
+
42
+ ## ⚡ Quick Start
43
+
44
+ ### 1. Initialize
45
+ Run this in your project root to generate a config file (`pv.toml`).
46
+ ```bash
47
+ pv init
48
+ ```
49
+
50
+ ### 2. Create a Snapshot
51
+ Capture the current state of your project into the local vault.
52
+ ```bash
53
+ pv vault
54
+ ```
55
+
56
+ ### 3. Check Status
57
+ See what has changed in your workspace since the last snapshot.
58
+ ```bash
59
+ pv status
60
+ ```
61
+
62
+ ### 4. Sync to Cloud
63
+ Push your encrypted, deduplicated snapshots to S3 or Backblaze B2.
64
+ ```bash
65
+ # Preview what will be uploaded
66
+ pv push --dry-run
67
+
68
+ # Upload
69
+ pv push
70
+ ```
71
+
72
+ ### 5. Restore (Teleport)
73
+ Bring the project back to life on any machine.
74
+ ```bash
75
+ # Restore the entire project
76
+ pv vault-restore ./vault/snapshots/my-project/snapshot_latest.json ./restored_project
77
+
78
+ # Or fix a single mistake locally
79
+ pv checkout src/main.py
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 🛠️ Commands
85
+
86
+ | Command | Description |
87
+ | :--- | :--- |
88
+ | `pv vault` | Create a content-addressable snapshot of the current directory. |
89
+ | `pv status` | Show modified files and cloud sync status. |
90
+ | `pv diff` | Compare a local file against the latest snapshot. |
91
+ | `pv checkout` | Restore a specific file from the latest snapshot. |
92
+ | `pv push` | Sync local vault to Cloud (S3/B2). |
93
+ | `pv pull` | Download missing snapshots from Cloud. |
94
+ | `pv list` | List all local or cloud snapshots. |
95
+ | `pv vault-restore` | Full project restoration from a manifest. |
96
+ | `pv check-integrity`| Verify the health of the local vault (detect corruption). |
97
+
98
+ ---
99
+
100
+ ## 🧩 Architecture
101
+
102
+ Project Vault is a **monorepo** containing three distinct tools:
103
+
104
+ 1. **`project-vault` (pv):** The orchestrator. Handles configuration, cloud sync, and user interaction.
105
+ 2. **`projectclone`:** The backup engine. Handles hashing, deduplication, and manifest generation.
106
+ 3. **`projectrestore`:** The restore engine. A standalone, dependency-free tool focused purely on safe data reconstruction.
107
+
108
+ ---
109
+
110
+ ## 🗺️ Roadmap
111
+
112
+ See [ROADMAP.md](ROADMAP.md) for the vision of **Project Teleportation**, **Smart Capsules**, and **Device Mesh**.
113
+
114
+ ---
115
+
116
+ ## 📄 License
117
+
118
+ MIT License.
@@ -0,0 +1,133 @@
1
+ Metadata-Version: 2.4
2
+ Name: project-vault
3
+ Version: 1.0.0
4
+ Summary: The Unified Project Lifecycle Manager: Backup, Restore, and Teleport Projects Anywhere.
5
+ Author-email: Dhruv <your.email@example.com>
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: projectclone
10
+ Requires-Dist: projectrestore
11
+ Requires-Dist: boto3
12
+ Requires-Dist: b2sdk
13
+ Requires-Dist: rich
14
+ Requires-Dist: tomli; python_version < "3.11"
15
+
16
+ # Project Vault (pv)
17
+
18
+ **The Unified Project Lifecycle Manager.**
19
+ Teleport your entire project state—code, databases, caches, and environments—anywhere, safely.
20
+
21
+ ---
22
+
23
+ ## 🚀 The Core Vision
24
+
25
+ Project Vault (`pv`) creates **100% identical project capsules**. It captures the "messy reality" of a working project that Git ignores: local databases, `node_modules`, `.env` files, compiled binaries, and temp directories.
26
+
27
+ If you restore a `pv` snapshot on a new machine and run `diff -r`, you will see **zero differences**.
28
+
29
+ **Use Cases:**
30
+ * **Teleport:** Move a running workspace from Laptop → Server in seconds.
31
+ * **Resurrect:** Restore a dead environment exactly as it was 3 months ago.
32
+ * **Debug:** Snapshot a bug state (including the DB) and send it to a colleague.
33
+
34
+ ---
35
+
36
+ ## 📦 Installation
37
+
38
+ ### The Full Suite (Recommended)
39
+ Install the unified tool to get backup, restore, and cloud synchronization features.
40
+
41
+ ```bash
42
+ pip install project-vault
43
+ ```
44
+
45
+ This installs the `pv` command, which includes:
46
+ * **`projectclone`**: The core snapshot engine.
47
+ * **`projectrestore`**: The safety-critical restoration tool.
48
+
49
+ ### Standalone Tools (Advanced)
50
+ For servers, CI/CD, or minimal environments, you can install the components independently:
51
+
52
+ * **Backup Only:** `pip install projectclone` (No cloud deps)
53
+ * **Restore Only:** `pip install projectrestore` (Zero dependencies, ultra-lightweight)
54
+
55
+ ---
56
+
57
+ ## ⚡ Quick Start
58
+
59
+ ### 1. Initialize
60
+ Run this in your project root to generate a config file (`pv.toml`).
61
+ ```bash
62
+ pv init
63
+ ```
64
+
65
+ ### 2. Create a Snapshot
66
+ Capture the current state of your project into the local vault.
67
+ ```bash
68
+ pv vault
69
+ ```
70
+
71
+ ### 3. Check Status
72
+ See what has changed in your workspace since the last snapshot.
73
+ ```bash
74
+ pv status
75
+ ```
76
+
77
+ ### 4. Sync to Cloud
78
+ Push your encrypted, deduplicated snapshots to S3 or Backblaze B2.
79
+ ```bash
80
+ # Preview what will be uploaded
81
+ pv push --dry-run
82
+
83
+ # Upload
84
+ pv push
85
+ ```
86
+
87
+ ### 5. Restore (Teleport)
88
+ Bring the project back to life on any machine.
89
+ ```bash
90
+ # Restore the entire project
91
+ pv vault-restore ./vault/snapshots/my-project/snapshot_latest.json ./restored_project
92
+
93
+ # Or fix a single mistake locally
94
+ pv checkout src/main.py
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 🛠️ Commands
100
+
101
+ | Command | Description |
102
+ | :--- | :--- |
103
+ | `pv vault` | Create a content-addressable snapshot of the current directory. |
104
+ | `pv status` | Show modified files and cloud sync status. |
105
+ | `pv diff` | Compare a local file against the latest snapshot. |
106
+ | `pv checkout` | Restore a specific file from the latest snapshot. |
107
+ | `pv push` | Sync local vault to Cloud (S3/B2). |
108
+ | `pv pull` | Download missing snapshots from Cloud. |
109
+ | `pv list` | List all local or cloud snapshots. |
110
+ | `pv vault-restore` | Full project restoration from a manifest. |
111
+ | `pv check-integrity`| Verify the health of the local vault (detect corruption). |
112
+
113
+ ---
114
+
115
+ ## 🧩 Architecture
116
+
117
+ Project Vault is a **monorepo** containing three distinct tools:
118
+
119
+ 1. **`project-vault` (pv):** The orchestrator. Handles configuration, cloud sync, and user interaction.
120
+ 2. **`projectclone`:** The backup engine. Handles hashing, deduplication, and manifest generation.
121
+ 3. **`projectrestore`:** The restore engine. A standalone, dependency-free tool focused purely on safe data reconstruction.
122
+
123
+ ---
124
+
125
+ ## 🗺️ Roadmap
126
+
127
+ See [ROADMAP.md](ROADMAP.md) for the vision of **Project Teleportation**, **Smart Capsules**, and **Device Mesh**.
128
+
129
+ ---
130
+
131
+ ## 📄 License
132
+
133
+ MIT License.
@@ -0,0 +1,22 @@
1
+ README.md
2
+ pyproject.toml
3
+ project_vault.egg-info/PKG-INFO
4
+ project_vault.egg-info/SOURCES.txt
5
+ project_vault.egg-info/dependency_links.txt
6
+ project_vault.egg-info/entry_points.txt
7
+ project_vault.egg-info/requires.txt
8
+ project_vault.egg-info/top_level.txt
9
+ src/cli.py
10
+ src/common/__init__.py
11
+ src/common/b2.py
12
+ src/common/cas.py
13
+ src/common/config.py
14
+ src/common/hashing.py
15
+ src/common/ignore.py
16
+ src/common/logger.py
17
+ src/common/manifest.py
18
+ src/common/s3.py
19
+ src/common/test_write.py
20
+ tests/test_cli.py
21
+ tests/test_common_b2.py
22
+ tests/test_common_s3.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ pv = src.cli:main
@@ -0,0 +1,8 @@
1
+ projectclone
2
+ projectrestore
3
+ boto3
4
+ b2sdk
5
+ rich
6
+
7
+ [:python_version < "3.11"]
8
+ tomli
@@ -0,0 +1,37 @@
1
+ [project]
2
+ name = "project-vault"
3
+ version = "1.0.0"
4
+ description = "The Unified Project Lifecycle Manager: Backup, Restore, and Teleport Projects Anywhere."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = {text = "MIT"}
8
+ authors = [
9
+ {name = "Dhruv", email = "your.email@example.com"}
10
+ ]
11
+ dependencies = [
12
+ "projectclone",
13
+ "projectrestore",
14
+ "boto3",
15
+ "b2sdk",
16
+ "rich",
17
+ "tomli; python_version < '3.11'"
18
+ ]
19
+
20
+ [project.scripts]
21
+ pv = "src.cli:main"
22
+
23
+ [build-system]
24
+ requires = ["setuptools>=61.0"]
25
+ build-backend = "setuptools.build_meta"
26
+
27
+ [tool.setuptools]
28
+ packages = ["src", "src.common"]
29
+
30
+ [tool.pytest.ini_options]
31
+ minversion = "6.0"
32
+ addopts = "--cov=src --cov=projectclone --cov=projectrestore --cov-report=term-missing:skip-covered"
33
+ testpaths = [
34
+ "tests",
35
+ "projectclone/tests",
36
+ "projectrestore/tests",
37
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+