clsync 1.1.2__tar.gz → 1.1.3__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.
- clsync-1.1.3/.claude/.gitkeep +1 -0
- {clsync-1.1.2 → clsync-1.1.3}/.gitlab-ci.yml +15 -0
- clsync-1.1.3/.pip-cache/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a +0 -0
- clsync-1.1.3/.pip-cache/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace +0 -0
- clsync-1.1.3/.pip-cache/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/2/4/d/b/9/24db9366753b8559a96fe294a29ebf32f13c5cff54739e41b20a46e8 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/2/4/d/b/9/24db9366753b8559a96fe294a29ebf32f13c5cff54739e41b20a46e8.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/2/b/c/2/8/2bc2855ae0ee0448fa088e265e6d7cf5bce69889ce23abb6cc761c44 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75.body → clsync-1.1.3/.pip-cache/http-v2/2/b/c/2/8/2bc2855ae0ee0448fa088e265e6d7cf5bce69889ce23abb6cc761c44.body +1 -1
- clsync-1.1.3/.pip-cache/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f +0 -0
- clsync-1.1.3/.pip-cache/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/3/c/e/7/7/3ce770df07ea321ab056bed31a67391a50e82aea9460d349fd057276.body → clsync-1.1.3/.pip-cache/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964.body +10 -5
- clsync-1.1.2/.pip-cache/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0 → clsync-1.1.3/.pip-cache/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa +0 -0
- clsync-1.1.3/.pip-cache/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c +0 -0
- clsync-1.1.2/.pip-cache/http-v2/c/5/2/e/2/c52e2f1dd5b9608ced10cc1a661cb4850330552cdc6801105598d8e4.body → clsync-1.1.3/.pip-cache/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c.body +40 -4
- clsync-1.1.3/.pip-cache/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/9/1/6/f/8/916f8e59eed25dd14a24a0bf49b437757fe356d363efd6ede438087f +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03.body → clsync-1.1.3/.pip-cache/http-v2/9/1/6/f/8/916f8e59eed25dd14a24a0bf49b437757fe356d363efd6ede438087f.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a +0 -0
- clsync-1.1.3/.pip-cache/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a.body +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/.pip-cache/http-v2/b/9/3/9/c/b939c4552b20c2f2a36204f6bb1d2e526af7e96070b43b1d2e2e9ae4 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc +0 -0
- clsync-1.1.2/.pip-cache/http-v2/8/3/2/5/0/832505e3888a5751a777d9654bf14eb54b92aa42dfc569c4812d43cf.body → clsync-1.1.3/.pip-cache/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc.body +4 -4
- clsync-1.1.3/.pip-cache/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a +0 -0
- clsync-1.1.3/.pip-cache/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc +0 -0
- clsync-1.1.3/.pip-cache/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/f/2/d/a/b/f2dabcdf97e445f98036aadbe7dddc4c9ecb47a8a60783427f548b2c +0 -0
- clsync-1.1.2/.pip-cache/http-v2/6/a/0/8/8/6a088fc192b69f4692b96903e0d1df2f92839b402221a47a2ca3b5be.body → clsync-1.1.3/.pip-cache/http-v2/f/2/d/a/b/f2dabcdf97e445f98036aadbe7dddc4c9ecb47a8a60783427f548b2c.body +1 -1
- clsync-1.1.3/.pip-cache/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2 +0 -0
- clsync-1.1.3/.pip-cache/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2.body +0 -0
- clsync-1.1.3/.pip-cache/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5 +0 -0
- clsync-1.1.3/.pip-cache/selfcheck/fe300af6f7d708c14827daac3afc81fbb8306b73de8dd6e3f1f8ea3b +1 -0
- {clsync-1.1.2 → clsync-1.1.3}/PKG-INFO +1 -1
- {clsync-1.1.2/src/claude_sync/templates → clsync-1.1.3}/pipeline/synthesize.py +14 -1
- {clsync-1.1.2 → clsync-1.1.3}/pyproject.toml +1 -1
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/bootstrap.py +3 -1
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/github-workflow.yml +10 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/gitlab-ci.yml +14 -1
- {clsync-1.1.2 → clsync-1.1.3/src/claude_sync/templates}/pipeline/synthesize.py +14 -1
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_config.py +1 -1
- clsync-1.1.2/.pip-cache/http-v2/0/3/5/9/5/03595f024098ed084eba12d86fd2749d935b061fa35d6b1f18cc0b84 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/0/3/5/9/5/03595f024098ed084eba12d86fd2749d935b061fa35d6b1f18cc0b84.body +0 -139
- clsync-1.1.2/.pip-cache/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a +0 -0
- clsync-1.1.2/.pip-cache/http-v2/1/0/f/7/b/10f7b6adbfb7d3cd4bc86e1d6fb49a2b3aa9d3e5b1bb00aa757f9b45 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/1/0/f/7/b/10f7b6adbfb7d3cd4bc86e1d6fb49a2b3aa9d3e5b1bb00aa757f9b45.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f +0 -0
- clsync-1.1.2/.pip-cache/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/3/c/e/7/7/3ce770df07ea321ab056bed31a67391a50e82aea9460d349fd057276 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa +0 -0
- clsync-1.1.2/.pip-cache/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/6/a/0/8/8/6a088fc192b69f4692b96903e0d1df2f92839b402221a47a2ca3b5be +0 -0
- clsync-1.1.2/.pip-cache/http-v2/8/3/2/5/0/832505e3888a5751a777d9654bf14eb54b92aa42dfc569c4812d43cf +0 -0
- clsync-1.1.2/.pip-cache/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/9/e/a/1/5/9ea15e1a7a7a1cb9950b76e2e3c06da4d07100bc185f905f6e33e283 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/9/e/a/1/5/9ea15e1a7a7a1cb9950b76e2e3c06da4d07100bc185f905f6e33e283.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/d/3/4/4/ad344e8dcc28c72166da85db3d3c34ea7bd39531944f502465cf3a50 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/d/3/4/4/ad344e8dcc28c72166da85db3d3c34ea7bd39531944f502465cf3a50.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/f/0/b/4/af0b4f3ea11a267af8c06f6fa9fa74e1a06b91e221cbd34f379bb11c +0 -0
- clsync-1.1.2/.pip-cache/http-v2/a/f/0/b/4/af0b4f3ea11a267af8c06f6fa9fa74e1a06b91e221cbd34f379bb11c.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/c/5/2/e/2/c52e2f1dd5b9608ced10cc1a661cb4850330552cdc6801105598d8e4 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/c/6/f/3/1/c6f3192810e6b78a08fee1da61557cd4bdd93a63331b9d474bca9d38 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/c/6/f/3/1/c6f3192810e6b78a08fee1da61557cd4bdd93a63331b9d474bca9d38.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a +0 -0
- clsync-1.1.2/.pip-cache/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2 +0 -0
- clsync-1.1.2/.pip-cache/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2.body +0 -0
- clsync-1.1.2/.pip-cache/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5 +0 -0
- clsync-1.1.2/.pip-cache/selfcheck/fe300af6f7d708c14827daac3afc81fbb8306b73de8dd6e3f1f8ea3b +0 -1
- {clsync-1.1.2 → clsync-1.1.3}/.gitignore +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/.pip-cache/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a.body +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/.pip-cache/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029.body +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/.pip-cache/http-v2/b/9/3/9/c/b939c4552b20c2f2a36204f6bb1d2e526af7e96070b43b1d2e2e9ae4.body +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/.pip-cache/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5.body +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/CLAUDE.md +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/LICENSE +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/README.md +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/pipeline/models.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/pipeline/prompts/synthesize_claude_md.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/pipeline/prompts/synthesize_critic.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/pipeline/requirements.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/project-specification.md +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/__init__.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/apply.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/ci_provider.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/claude_paths.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/cli.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/config.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/git_ops.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/gitlab_api.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/lock.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/models.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/prompts/bootstrap.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/scaffold.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/snapshot.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/__init__.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/gitignore +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/pipeline/models.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/pipeline/prompts/synthesize_claude_md.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/pipeline/prompts/synthesize_critic.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/pipeline/requirements.txt +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/fixtures/machine_a/global/CLAUDE.md +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/fixtures/machine_a/projects/my-app/CLAUDE.md +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/fixtures/machine_b/global/CLAUDE.md +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_apply.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_bootstrap.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_claude_paths.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_git_ops.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_gitlab_api.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_lock.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_scaffold.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_snapshot.py +0 -0
- {clsync-1.1.2 → clsync-1.1.3}/tests/test_synthesize.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -19,6 +19,21 @@ build_wheel:
|
|
|
19
19
|
paths:
|
|
20
20
|
- .pip-cache/
|
|
21
21
|
script:
|
|
22
|
+
# The package version is hardcoded in pyproject.toml and is NOT derived from
|
|
23
|
+
# the tag. Assert they agree before building, so a forgotten version bump
|
|
24
|
+
# fails here with a clear message instead of at the twine upload step with
|
|
25
|
+
# an opaque "File already exists" 400.
|
|
26
|
+
- |
|
|
27
|
+
if [ -n "$CI_COMMIT_TAG" ]; then
|
|
28
|
+
PROJECT_VERSION=$(python -c "import tomllib, pathlib; print(tomllib.loads(pathlib.Path('pyproject.toml').read_text(encoding='utf-8'))['project']['version'])")
|
|
29
|
+
if [ "$CI_COMMIT_TAG" != "v${PROJECT_VERSION}" ]; then
|
|
30
|
+
echo "ERROR: tag '${CI_COMMIT_TAG}' does not match pyproject.toml version '${PROJECT_VERSION}'."
|
|
31
|
+
echo "Expected the tag to be 'v${PROJECT_VERSION}'."
|
|
32
|
+
echo "Bump the version in pyproject.toml in the same commit as the change, then retag."
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
echo "Tag '${CI_COMMIT_TAG}' matches pyproject.toml version '${PROJECT_VERSION}'."
|
|
36
|
+
fi
|
|
22
37
|
- pip install build
|
|
23
38
|
- python -m build
|
|
24
39
|
artifacts:
|
clsync-1.1.3/.pip-cache/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a
ADDED
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/2/4/d/b/9/24db9366753b8559a96fe294a29ebf32f13c5cff54739e41b20a46e8
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029
ADDED
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/2/b/c/2/8/2bc2855ae0ee0448fa088e265e6d7cf5bce69889ce23abb6cc761c44
ADDED
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964
ADDED
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: packaging
|
|
3
|
-
Version: 26.
|
|
3
|
+
Version: 26.2
|
|
4
4
|
Summary: Core utilities for Python packages
|
|
5
5
|
Author-email: Donald Stufft <donald@stufft.io>
|
|
6
6
|
Requires-Python: >=3.8
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.14
|
|
21
21
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
22
22
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
23
|
+
Classifier: Programming Language :: Python :: Free Threading :: 4 - Resilient
|
|
23
24
|
Classifier: Typing :: Typed
|
|
24
25
|
License-File: LICENSE
|
|
25
26
|
License-File: LICENSE.APACHE
|
|
@@ -52,10 +53,14 @@ The `documentation`_ provides information and the API for the following:
|
|
|
52
53
|
- Version Handling
|
|
53
54
|
- Specifiers
|
|
54
55
|
- Markers
|
|
56
|
+
- Licenses
|
|
55
57
|
- Requirements
|
|
56
|
-
- Tags
|
|
57
58
|
- Metadata
|
|
58
|
-
-
|
|
59
|
+
- Tags
|
|
60
|
+
- Lockfiles (pylock)
|
|
61
|
+
- Direct URL helpers
|
|
62
|
+
- Dependency groups
|
|
63
|
+
- Errors
|
|
59
64
|
- Utilities
|
|
60
65
|
|
|
61
66
|
Installation
|
|
@@ -72,11 +77,11 @@ Discussion
|
|
|
72
77
|
|
|
73
78
|
If you run into bugs, you can file them in our `issue tracker`_.
|
|
74
79
|
|
|
75
|
-
You can also join
|
|
76
|
-
|
|
80
|
+
You can also join discussions on `GitHub Discussions`_ to ask questions or get involved.
|
|
77
81
|
|
|
78
82
|
.. _`documentation`: https://packaging.pypa.io/
|
|
79
83
|
.. _`issue tracker`: https://github.com/pypa/packaging/issues
|
|
84
|
+
.. _`GitHub Discussions`: https://github.com/pypa/packaging/discussions
|
|
80
85
|
|
|
81
86
|
|
|
82
87
|
Code of Conduct
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c
ADDED
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pathspec
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: Utility library for gitignore style pattern matching of file paths.
|
|
5
5
|
Author-email: "Caleb P. Burns" <cpburnz@gmail.com>
|
|
6
6
|
Requires-Python: >=3.9
|
|
@@ -25,15 +25,13 @@ License-File: LICENSE
|
|
|
25
25
|
Requires-Dist: hyperscan >=0.7 ; extra == "hyperscan"
|
|
26
26
|
Requires-Dist: typing-extensions >=4 ; extra == "optional"
|
|
27
27
|
Requires-Dist: google-re2 >=1.1 ; extra == "re2"
|
|
28
|
-
|
|
29
|
-
Requires-Dist: typing-extensions >=4.15 ; extra == "tests"
|
|
28
|
+
Project-URL: Change Log, https://python-path-specification.readthedocs.io/en/latest/changes.html
|
|
30
29
|
Project-URL: Documentation, https://python-path-specification.readthedocs.io/en/latest/index.html
|
|
31
30
|
Project-URL: Issue Tracker, https://github.com/cpburnz/python-pathspec/issues
|
|
32
31
|
Project-URL: Source Code, https://github.com/cpburnz/python-pathspec
|
|
33
32
|
Provides-Extra: hyperscan
|
|
34
33
|
Provides-Extra: optional
|
|
35
34
|
Provides-Extra: re2
|
|
36
|
-
Provides-Extra: tests
|
|
37
35
|
|
|
38
36
|
|
|
39
37
|
PathSpec
|
|
@@ -264,9 +262,47 @@ Change History
|
|
|
264
262
|
==============
|
|
265
263
|
|
|
266
264
|
|
|
265
|
+
1.1.1 (2026-04-26)
|
|
266
|
+
------------------
|
|
267
|
+
|
|
268
|
+
Improvements:
|
|
269
|
+
|
|
270
|
+
- Improved type checking with mypy and pyright.
|
|
271
|
+
|
|
272
|
+
Bug fixes:
|
|
273
|
+
|
|
274
|
+
- Fixed typing on `PathSpec[TPattern]` to `PathSpec[TPattern_co]`.
|
|
275
|
+
- Added missing variant type-hint `type[Pattern]` to `PathSpec.from_lines()` parameter `pattern_factory`.
|
|
276
|
+
- Fixed possible type error when using `+` and `+=` operators on `PathSpec`.
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
1.1.0 (2026-04-22)
|
|
280
|
+
------------------
|
|
281
|
+
|
|
282
|
+
New features:
|
|
283
|
+
|
|
284
|
+
- `Issue #108`_: Specialize pattern type for `PathSpec` as `PathSpec[TPattern]` for better debugging of `PathSpec().patterns`.
|
|
285
|
+
|
|
286
|
+
Bug fixes:
|
|
287
|
+
|
|
288
|
+
- `Issue #93`_: Git discards invalid range notation. `GitIgnoreSpecPattern` now discards patterns with invalid range notation like Git.
|
|
289
|
+
- `Pull #106`_: Fix escape() not escaping backslash characters.
|
|
290
|
+
|
|
291
|
+
Improvements:
|
|
292
|
+
|
|
293
|
+
- `Pull #110`_: Nicer debug print outs (and str for regex pattern).
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
.. _`Pull #106`: https://github.com/cpburnz/python-pathspec/pull/106
|
|
297
|
+
.. _`Issue #108`: https://github.com/cpburnz/python-pathspec/issues/108
|
|
298
|
+
.. _`Pull #110`: https://github.com/cpburnz/python-pathspec/pull/110
|
|
299
|
+
|
|
300
|
+
|
|
267
301
|
1.0.4 (2026-01-26)
|
|
268
302
|
------------------
|
|
269
303
|
|
|
304
|
+
Bug fixes:
|
|
305
|
+
|
|
270
306
|
- `Issue #103`_: Using re2 fails if pyre2 is also installed.
|
|
271
307
|
|
|
272
308
|
.. _`Issue #103`: https://github.com/cpburnz/python-pathspec/issues/103
|
clsync-1.1.3/.pip-cache/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/9/1/6/f/8/916f8e59eed25dd14a24a0bf49b437757fe356d363efd6ede438087f
ADDED
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc
ADDED
|
Binary file
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: build
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
4
4
|
Summary: A simple, correct Python build frontend
|
|
5
5
|
Author-email: Filipe Laíns <lains@riseup.net>, Bernát Gábor <gaborjbernat@gmail.com>, layday <layday@protonmail.com>, Henry Schreiner <henryschreineriii@gmail.com>
|
|
6
|
-
Requires-Python: >= 3.
|
|
6
|
+
Requires-Python: >= 3.10
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-Expression: MIT
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -22,14 +21,15 @@ Requires-Dist: pyproject_hooks
|
|
|
22
21
|
Requires-Dist: colorama; os_name == "nt"
|
|
23
22
|
Requires-Dist: importlib-metadata >= 4.6; python_full_version < "3.10.2"
|
|
24
23
|
Requires-Dist: tomli >= 1.1.0; python_version < "3.11"
|
|
24
|
+
Requires-Dist: keyring ; extra == "keyring"
|
|
25
25
|
Requires-Dist: uv >= 0.1.18 ; extra == "uv"
|
|
26
|
-
Requires-Dist: virtualenv >= 20.11 ; extra == "virtualenv" and ( python_version < '3.10')
|
|
27
26
|
Requires-Dist: virtualenv >= 20.17 ; extra == "virtualenv" and ( python_version >= '3.10' and python_version < '3.14')
|
|
28
27
|
Requires-Dist: virtualenv >= 20.31 ; extra == "virtualenv" and ( python_version >= '3.14')
|
|
29
28
|
Project-URL: changelog, https://build.pypa.io/en/stable/changelog.html
|
|
30
29
|
Project-URL: homepage, https://build.pypa.io
|
|
31
30
|
Project-URL: issues, https://github.com/pypa/build/issues
|
|
32
31
|
Project-URL: source, https://github.com/pypa/build
|
|
32
|
+
Provides-Extra: keyring
|
|
33
33
|
Provides-Extra: uv
|
|
34
34
|
Provides-Extra: virtualenv
|
|
35
35
|
|
clsync-1.1.3/.pip-cache/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/f/2/d/a/b/f2dabcdf97e445f98036aadbe7dddc4c9ecb47a8a60783427f548b2c
ADDED
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2
ADDED
|
Binary file
|
|
Binary file
|
clsync-1.1.3/.pip-cache/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"key":"/usr/local","last_check":"2026-07-28T22:11:02.508933+00:00","pypi_version":"26.1.2"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clsync
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.3
|
|
4
4
|
Summary: Sync Claude Code knowledge across machines via a shared git repository and AI-powered synthesis
|
|
5
5
|
Project-URL: Homepage, https://gitlab.hahtse.de/published/claudesync
|
|
6
6
|
Project-URL: Repository, https://gitlab.hahtse.de/published/claudesync
|
|
@@ -27,7 +27,8 @@ CONSOLIDATED_DIR = REPO_ROOT / "consolidated"
|
|
|
27
27
|
META_DIR = REPO_ROOT / "meta"
|
|
28
28
|
PROMPTS_DIR = Path(__file__).parent / "prompts"
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
# Overridable so a retired model ID can be swapped via CI variable without a code change.
|
|
31
|
+
MODEL = os.environ.get("SYNTHESIS_MODEL", "claude-sonnet-5")
|
|
31
32
|
MAX_TOKENS = 8192
|
|
32
33
|
|
|
33
34
|
|
|
@@ -421,6 +422,18 @@ def main() -> None:
|
|
|
421
422
|
+ (", ".join(synthesized_scopes) if synthesized_scopes else "none")
|
|
422
423
|
)
|
|
423
424
|
|
|
425
|
+
if failed_scopes:
|
|
426
|
+
print(
|
|
427
|
+
f"ERROR: {len(failed_scopes)} of {len(scopes)} scope(s) failed and were left "
|
|
428
|
+
"unsynthesised: " + ", ".join(sorted(failed_scopes))
|
|
429
|
+
)
|
|
430
|
+
print(
|
|
431
|
+
"Propagated files (memory/, settings.json) are unaffected — they are written "
|
|
432
|
+
"outside the synthesis gate. Exiting non-zero so a broken synthesis cannot "
|
|
433
|
+
"report a green pipeline. The CI job commits results before honouring this code."
|
|
434
|
+
)
|
|
435
|
+
sys.exit(1)
|
|
436
|
+
|
|
424
437
|
|
|
425
438
|
if __name__ == "__main__":
|
|
426
439
|
main()
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "clsync"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.3"
|
|
8
8
|
description = "Sync Claude Code knowledge across machines via a shared git repository and AI-powered synthesis"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -5,11 +5,13 @@ This module calls the Anthropic API directly on the client machine. It requires
|
|
|
5
5
|
'bootstrap' optional dependency: pip install clsync[bootstrap]
|
|
6
6
|
"""
|
|
7
7
|
import json
|
|
8
|
+
import os
|
|
8
9
|
from pathlib import Path
|
|
9
10
|
|
|
10
11
|
from claude_sync.claude_paths import claude_memory_dir, claude_sessions_index
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
# Overridable so a retired model ID can be swapped via env var without a code change.
|
|
14
|
+
MODEL = os.environ.get("SYNTHESIS_MODEL", "claude-sonnet-5")
|
|
13
15
|
MAX_TOKENS = 8192
|
|
14
16
|
|
|
15
17
|
_PROMPTS_DIR = Path(__file__).parent / "prompts"
|
|
@@ -23,7 +23,12 @@ jobs:
|
|
|
23
23
|
python-version: '3.12'
|
|
24
24
|
- name: Install dependencies
|
|
25
25
|
run: pip install -r pipeline/requirements.txt
|
|
26
|
+
# synthesize.py exits non-zero when any scope fails. continue-on-error keeps the
|
|
27
|
+
# commit step running so propagated memory/ and settings.json are still pushed;
|
|
28
|
+
# the final step then fails the run loudly.
|
|
26
29
|
- name: Run synthesis
|
|
30
|
+
id: synthesis
|
|
31
|
+
continue-on-error: true
|
|
27
32
|
env:
|
|
28
33
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
29
34
|
run: python pipeline/synthesize.py
|
|
@@ -38,3 +43,8 @@ jobs:
|
|
|
38
43
|
git commit -m "synthesis: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
39
44
|
git push
|
|
40
45
|
fi
|
|
46
|
+
- name: Fail if synthesis reported failed scopes
|
|
47
|
+
if: steps.synthesis.outcome == 'failure'
|
|
48
|
+
run: |
|
|
49
|
+
echo "ERROR: synthesis reported failed scope(s). Any results produced were still committed above."
|
|
50
|
+
exit 1
|
|
@@ -27,8 +27,16 @@ variables:
|
|
|
27
27
|
- git checkout main
|
|
28
28
|
- git pull origin main
|
|
29
29
|
script:
|
|
30
|
-
-
|
|
30
|
+
# synthesize.py exits non-zero when any scope fails. Capture that instead of
|
|
31
|
+
# letting it abort the job, so propagated memory/ and settings.json are still
|
|
32
|
+
# committed, then honour the code at the end to fail the pipeline loudly.
|
|
31
33
|
- |
|
|
34
|
+
set +e
|
|
35
|
+
python pipeline/synthesize.py
|
|
36
|
+
SYNTH_RC=$?
|
|
37
|
+
set -e
|
|
38
|
+
echo "synthesize.py exit code: $SYNTH_RC"
|
|
39
|
+
|
|
32
40
|
git add consolidated/ meta/
|
|
33
41
|
if git diff --cached --quiet; then
|
|
34
42
|
echo "No changes after synthesis, skipping commit."
|
|
@@ -38,6 +46,11 @@ variables:
|
|
|
38
46
|
git push origin main
|
|
39
47
|
fi
|
|
40
48
|
|
|
49
|
+
if [ "$SYNTH_RC" -ne 0 ]; then
|
|
50
|
+
echo "ERROR: synthesis reported failed scope(s). Any results produced were still committed above."
|
|
51
|
+
exit "$SYNTH_RC"
|
|
52
|
+
fi
|
|
53
|
+
|
|
41
54
|
synthesize_scheduled:
|
|
42
55
|
extends: .synthesis_base
|
|
43
56
|
rules:
|
|
@@ -27,7 +27,8 @@ CONSOLIDATED_DIR = REPO_ROOT / "consolidated"
|
|
|
27
27
|
META_DIR = REPO_ROOT / "meta"
|
|
28
28
|
PROMPTS_DIR = Path(__file__).parent / "prompts"
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
# Overridable so a retired model ID can be swapped via CI variable without a code change.
|
|
31
|
+
MODEL = os.environ.get("SYNTHESIS_MODEL", "claude-sonnet-5")
|
|
31
32
|
MAX_TOKENS = 8192
|
|
32
33
|
|
|
33
34
|
|
|
@@ -421,6 +422,18 @@ def main() -> None:
|
|
|
421
422
|
+ (", ".join(synthesized_scopes) if synthesized_scopes else "none")
|
|
422
423
|
)
|
|
423
424
|
|
|
425
|
+
if failed_scopes:
|
|
426
|
+
print(
|
|
427
|
+
f"ERROR: {len(failed_scopes)} of {len(scopes)} scope(s) failed and were left "
|
|
428
|
+
"unsynthesised: " + ", ".join(sorted(failed_scopes))
|
|
429
|
+
)
|
|
430
|
+
print(
|
|
431
|
+
"Propagated files (memory/, settings.json) are unaffected — they are written "
|
|
432
|
+
"outside the synthesis gate. Exiting non-zero so a broken synthesis cannot "
|
|
433
|
+
"report a green pipeline. The CI job commits results before honouring this code."
|
|
434
|
+
)
|
|
435
|
+
sys.exit(1)
|
|
436
|
+
|
|
424
437
|
|
|
425
438
|
if __name__ == "__main__":
|
|
426
439
|
main()
|
|
@@ -43,7 +43,7 @@ def test_load_valid_config(config_file):
|
|
|
43
43
|
|
|
44
44
|
def test_load_missing_config_raises(config_file):
|
|
45
45
|
# Don't write the file — it shouldn't exist
|
|
46
|
-
with pytest.raises(FileNotFoundError, match="
|
|
46
|
+
with pytest.raises(FileNotFoundError, match="clsync init"):
|
|
47
47
|
load_config()
|
|
48
48
|
|
|
49
49
|
|
clsync-1.1.2/.pip-cache/http-v2/0/3/5/9/5/03595f024098ed084eba12d86fd2749d935b061fa35d6b1f18cc0b84
DELETED
|
Binary file
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: build
|
|
3
|
-
Version: 1.4.0
|
|
4
|
-
Summary: A simple, correct Python build frontend
|
|
5
|
-
Author-email: Filipe Laíns <lains@riseup.net>, Bernát Gábor <gaborjbernat@gmail.com>, layday <layday@protonmail.com>, Henry Schreiner <henryschreineriii@gmail.com>
|
|
6
|
-
Requires-Python: >= 3.9
|
|
7
|
-
Description-Content-Type: text/markdown
|
|
8
|
-
License-Expression: MIT
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
-
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
18
|
-
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
19
|
-
License-File: LICENSE
|
|
20
|
-
Requires-Dist: packaging >= 24.0
|
|
21
|
-
Requires-Dist: pyproject_hooks
|
|
22
|
-
Requires-Dist: colorama; os_name == "nt"
|
|
23
|
-
Requires-Dist: importlib-metadata >= 4.6; python_full_version < "3.10.2"
|
|
24
|
-
Requires-Dist: tomli >= 1.1.0; python_version < "3.11"
|
|
25
|
-
Requires-Dist: uv >= 0.1.18 ; extra == "uv"
|
|
26
|
-
Requires-Dist: virtualenv >= 20.11 ; extra == "virtualenv" and ( python_version < '3.10')
|
|
27
|
-
Requires-Dist: virtualenv >= 20.17 ; extra == "virtualenv" and ( python_version >= '3.10' and python_version < '3.14')
|
|
28
|
-
Requires-Dist: virtualenv >= 20.31 ; extra == "virtualenv" and ( python_version >= '3.14')
|
|
29
|
-
Project-URL: changelog, https://build.pypa.io/en/stable/changelog.html
|
|
30
|
-
Project-URL: homepage, https://build.pypa.io
|
|
31
|
-
Project-URL: issues, https://github.com/pypa/build/issues
|
|
32
|
-
Project-URL: source, https://github.com/pypa/build
|
|
33
|
-
Provides-Extra: uv
|
|
34
|
-
Provides-Extra: virtualenv
|
|
35
|
-
|
|
36
|
-
# build
|
|
37
|
-
|
|
38
|
-
[](https://results.pre-commit.ci/latest/github/pypa/build/main)
|
|
39
|
-
[](https://github.com/pypa/build/actions/workflows/test.yml)
|
|
40
|
-
[](https://codecov.io/gh/pypa/build)
|
|
41
|
-
|
|
42
|
-
[](https://build.pypa.io/en/latest/?badge=latest)
|
|
43
|
-
[](https://pypi.org/project/build/)
|
|
44
|
-
[](https://discord.gg/pypa)
|
|
45
|
-
|
|
46
|
-
A simple, correct Python build frontend.
|
|
47
|
-
|
|
48
|
-
See the [documentation](https://build.pypa.io) for more information.
|
|
49
|
-
|
|
50
|
-
### Installation
|
|
51
|
-
|
|
52
|
-
`build` can be installed via `pip` or an equivalent via:
|
|
53
|
-
|
|
54
|
-
```console
|
|
55
|
-
$ pip install build
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Usage
|
|
59
|
-
|
|
60
|
-
```console
|
|
61
|
-
$ python -m build
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
This will build the package in an isolated environment, generating a
|
|
65
|
-
source-distribution and wheel in the directory `dist/`. See the
|
|
66
|
-
[documentation](https://build.pypa.io) for full information. Build is also
|
|
67
|
-
available via the command line as `pyproject-build` once installed.
|
|
68
|
-
|
|
69
|
-
### Common arguments
|
|
70
|
-
|
|
71
|
-
- `--sdist` (`-s`): Produce just an SDist
|
|
72
|
-
- `--wheel` (`-w`): Produce just a wheel
|
|
73
|
-
- `--metadata`: Produce just the metadata as JSON. Cannot be used with `--sdist`/`--wheel`.
|
|
74
|
-
- `-C<option>=<value>`: A Config-setting, the PEP 517 way of passing options to a backend. Can be passed multiple times. Matching options will make a list. Note that setuptools has very limited support.
|
|
75
|
-
- `--config-json=<value>`: An alternative way to pass in complex config settings as JSON strings. Can't be used with `-C`.
|
|
76
|
-
- `--installer`: Pick an installer for the isolated build (`pip` or `uv`).
|
|
77
|
-
- `--no-isolation` (`-n`): Disable build isolation.
|
|
78
|
-
- `--skip-dependency-check` (`-x`): Disable dependency checking when not isolated; this should be done if some requirements or version ranges are not required for non-isolated builds.
|
|
79
|
-
- `--outdir` (`-o`): The output directory (defaults to `dist`)
|
|
80
|
-
|
|
81
|
-
Some common combinations of arguments:
|
|
82
|
-
|
|
83
|
-
- `--sdist --wheel` (`-sw`): Produce and SDist and a wheel, both from the source distribution. The default (if no flag is passed) is to build an SDist and then build a wheel _from_ the SDist.
|
|
84
|
-
- `-nx`: Disable build isolation and dependency checking. Identical to pip and uv's `--no-build-isolation` flag.
|
|
85
|
-
- `--metadata | jq -r .version`: get the version in a bash-like environment.
|
|
86
|
-
|
|
87
|
-
### Integration with other tools
|
|
88
|
-
|
|
89
|
-
#### pipx
|
|
90
|
-
|
|
91
|
-
If you use [pipx][], such as in GitHub Actions, the following command will download
|
|
92
|
-
and run build in one step:
|
|
93
|
-
|
|
94
|
-
```console
|
|
95
|
-
$ pipx run build
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
#### uv
|
|
99
|
-
|
|
100
|
-
If you want to use [uv][] to speed up the virtual environment creation, you can
|
|
101
|
-
use `--installer=uv`. You can get a Python wheel for `uv` with the `[uv]`
|
|
102
|
-
extra. For example, using pipx like above:
|
|
103
|
-
|
|
104
|
-
```console
|
|
105
|
-
$ pipx run 'build[uv]' --installer uv
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
If you already have uv, you don't need the extra. For example:
|
|
109
|
-
|
|
110
|
-
```console
|
|
111
|
-
$ uvx --from build pyproject-build --installer uv
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
#### cibuildwheel
|
|
115
|
-
|
|
116
|
-
If you are using [cibuildwheel][], build is integrated and the default builder in 3.0+. If you want to use `uv` as the installer, you can use:
|
|
117
|
-
|
|
118
|
-
```toml
|
|
119
|
-
[tool.cibuildwheel]
|
|
120
|
-
build-frontend = "build[uv]"
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
(Be sure to pre-install uv before running cibuildwheel for this one!)
|
|
124
|
-
|
|
125
|
-
#### Conda-forge
|
|
126
|
-
|
|
127
|
-
On conda-forge, this package is called [python-build][].
|
|
128
|
-
|
|
129
|
-
### Code of Conduct
|
|
130
|
-
|
|
131
|
-
Everyone interacting in the build's codebase, issue trackers, chat rooms, and mailing lists is expected to follow
|
|
132
|
-
the [PSF Code of Conduct].
|
|
133
|
-
|
|
134
|
-
[psf code of conduct]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
|
|
135
|
-
[pipx]: https://pipx.pypa.io
|
|
136
|
-
[uv]: https://docs.astral.sh/uv/
|
|
137
|
-
[cibuildwheel]: https://cibuildwheel.pypa.io
|
|
138
|
-
[python-build]: https://github.com/conda-forge/python-build-feedstock
|
|
139
|
-
|
clsync-1.1.2/.pip-cache/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/1/0/f/7/b/10f7b6adbfb7d3cd4bc86e1d6fb49a2b3aa9d3e5b1bb00aa757f9b45
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/3/c/e/7/7/3ce770df07ea321ab056bed31a67391a50e82aea9460d349fd057276
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/6/a/0/8/8/6a088fc192b69f4692b96903e0d1df2f92839b402221a47a2ca3b5be
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/8/3/2/5/0/832505e3888a5751a777d9654bf14eb54b92aa42dfc569c4812d43cf
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/9/e/a/1/5/9ea15e1a7a7a1cb9950b76e2e3c06da4d07100bc185f905f6e33e283
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/a/d/3/4/4/ad344e8dcc28c72166da85db3d3c34ea7bd39531944f502465cf3a50
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/a/f/0/b/4/af0b4f3ea11a267af8c06f6fa9fa74e1a06b91e221cbd34f379bb11c
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/c/5/2/e/2/c52e2f1dd5b9608ced10cc1a661cb4850330552cdc6801105598d8e4
DELETED
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/c/6/f/3/1/c6f3192810e6b78a08fee1da61557cd4bdd93a63331b9d474bca9d38
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2
DELETED
|
Binary file
|
|
Binary file
|
clsync-1.1.2/.pip-cache/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"key":"/usr/local","last_check":"2026-04-02T08:06:15.087529+00:00","pypi_version":"26.0.1"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/pipeline/prompts/synthesize_claude_md.txt
RENAMED
|
File without changes
|
{clsync-1.1.2 → clsync-1.1.3}/src/claude_sync/templates/pipeline/prompts/synthesize_critic.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|