cottage 0.1.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.
Files changed (53) hide show
  1. cottage-0.1.0/.cottage/recipients/sayanarijit +2 -0
  2. cottage-0.1.0/.gitattributes +1 -0
  3. cottage-0.1.0/.github/FUNDING.yml +15 -0
  4. cottage-0.1.0/.github/workflows/py.yml +167 -0
  5. cottage-0.1.0/.github/workflows/rust.yml +22 -0
  6. cottage-0.1.0/.gitignore +72 -0
  7. cottage-0.1.0/Cargo.lock +2887 -0
  8. cottage-0.1.0/Cargo.toml +53 -0
  9. cottage-0.1.0/LICENSE-APACHE +201 -0
  10. cottage-0.1.0/LICENSE-MIT +21 -0
  11. cottage-0.1.0/PKG-INFO +167 -0
  12. cottage-0.1.0/README.md +149 -0
  13. cottage-0.1.0/examples/.env.cott.age +16 -0
  14. cottage-0.1.0/examples/.env.cott.toml +13 -0
  15. cottage-0.1.0/examples/.gitignore +6 -0
  16. cottage-0.1.0/examples/secrets/secret.hcl.cott.age +15 -0
  17. cottage-0.1.0/examples/secrets/secret.hcl.cott.toml +17 -0
  18. cottage-0.1.0/examples/secrets/secret.ini.cott.age +15 -0
  19. cottage-0.1.0/examples/secrets/secret.ini.cott.toml +13 -0
  20. cottage-0.1.0/examples/secrets/secret.json.cott.age +15 -0
  21. cottage-0.1.0/examples/secrets/secret.json.cott.toml +14 -0
  22. cottage-0.1.0/examples/secrets/secret.toml.cott.age +15 -0
  23. cottage-0.1.0/examples/secrets/secret.toml.cott.toml +13 -0
  24. cottage-0.1.0/examples/secrets/secret.yaml.cott.age +15 -0
  25. cottage-0.1.0/examples/secrets/secret.yaml.cott.toml +13 -0
  26. cottage-0.1.0/logo/cottage-dark.jpg +0 -0
  27. cottage-0.1.0/logo/cottage-dark.png +0 -0
  28. cottage-0.1.0/logo/cottage-dark.svg +2416 -0
  29. cottage-0.1.0/logo/cottage.jpg +0 -0
  30. cottage-0.1.0/logo/cottage.png +0 -0
  31. cottage-0.1.0/logo/cottage.svg +2034 -0
  32. cottage-0.1.0/pyproject.toml +23 -0
  33. cottage-0.1.0/src/bin/ctg.rs +3 -0
  34. cottage-0.1.0/src/bin/ctgx.rs +3 -0
  35. cottage-0.1.0/src/clean.rs +54 -0
  36. cottage-0.1.0/src/cli.rs +1027 -0
  37. cottage-0.1.0/src/dec.rs +148 -0
  38. cottage-0.1.0/src/diff.rs +93 -0
  39. cottage-0.1.0/src/enc.rs +212 -0
  40. cottage-0.1.0/src/identity.rs +133 -0
  41. cottage-0.1.0/src/lib.rs +33 -0
  42. cottage-0.1.0/src/metadata.rs +87 -0
  43. cottage-0.1.0/src/operation.rs +62 -0
  44. cottage-0.1.0/src/preview.rs +473 -0
  45. cottage-0.1.0/src/project.rs +326 -0
  46. cottage-0.1.0/src/recipients.rs +163 -0
  47. cottage-0.1.0/src/sync.rs +138 -0
  48. cottage-0.1.0/tests/test_clean.rs +44 -0
  49. cottage-0.1.0/tests/test_diff.rs +63 -0
  50. cottage-0.1.0/tests/test_preview.rs +82 -0
  51. cottage-0.1.0/tests/test_project.rs +149 -0
  52. cottage-0.1.0/tests/test_run.rs +49 -0
  53. cottage-0.1.0/uv.lock +7 -0
@@ -0,0 +1,2 @@
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsTPH+YjZLkPEaP59Iu+O+OglG1FayOMoOuvSG4OD4mEUHOFx8CS8tp927PyWKUW71TbI94uvUn7zgDpwKzqAEzZFUDvT18f9hKATfLOWK3Wh4HdqiOncmTtpQ8aRYYTUSniEMNvWaJQ8pGtq07VEqqSq1sWcATuvkNk+3LCq9kqFoXWci42LtcQN9PLEHPmoDPiieJu1NHL9KRhenBLitMK71m7LhRF8uE2Vy5SrvjToKbYV2DcdLPeku+gyh2Gktu+YJQ7H8Ndb1pqTIo2mG8t/TwWB235M6p7eGxTxxxRUTYkMmzkn3qTWSooTv1OPIWAxITwfoBey3Vpqbl9Rd sayanarijit@katana
2
+ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPjlQEnQBM8ZyASSoWVczOaTVrPKUQinQWnhryDnU/8v sayanarijit@katana
@@ -0,0 +1 @@
1
+ *.cott.age binary filter=cottage-encrypted
@@ -0,0 +1,15 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [sayanarijit]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12
+ polar: # Replace with a single Polar username
13
+ buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14
+ thanks_dev: # Replace with a single thanks.dev username
15
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,167 @@
1
+ name: python
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ tags:
8
+ - "*"
9
+ pull_request:
10
+ workflow_dispatch:
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ linux:
17
+ runs-on: ${{ matrix.platform.runner }}
18
+ strategy:
19
+ matrix:
20
+ platform:
21
+ - runner: ubuntu-22.04
22
+ target: x86_64
23
+ - runner: ubuntu-22.04
24
+ target: x86
25
+ - runner: ubuntu-22.04
26
+ target: aarch64
27
+ - runner: ubuntu-22.04
28
+ target: armv7
29
+ - runner: ubuntu-22.04
30
+ target: s390x
31
+ - runner: ubuntu-22.04
32
+ target: ppc64le
33
+ steps:
34
+ - uses: actions/checkout@v6
35
+ - name: Build wheels
36
+ uses: PyO3/maturin-action@v1
37
+ with:
38
+ target: ${{ matrix.platform.target }}
39
+ args: --release --out dist
40
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
41
+ manylinux: auto
42
+ - name: Upload wheels
43
+ uses: actions/upload-artifact@v6
44
+ with:
45
+ name: wheels-linux-${{ matrix.platform.target }}
46
+ path: dist
47
+
48
+ musllinux:
49
+ runs-on: ${{ matrix.platform.runner }}
50
+ strategy:
51
+ matrix:
52
+ platform:
53
+ - runner: ubuntu-22.04
54
+ target: x86_64
55
+ - runner: ubuntu-22.04
56
+ target: x86
57
+ - runner: ubuntu-22.04
58
+ target: aarch64
59
+ - runner: ubuntu-22.04
60
+ target: armv7
61
+ steps:
62
+ - uses: actions/checkout@v6
63
+ - name: Build wheels
64
+ uses: PyO3/maturin-action@v1
65
+ with:
66
+ target: ${{ matrix.platform.target }}
67
+ args: --release --out dist
68
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
69
+ manylinux: musllinux_1_2
70
+ - name: Upload wheels
71
+ uses: actions/upload-artifact@v6
72
+ with:
73
+ name: wheels-musllinux-${{ matrix.platform.target }}
74
+ path: dist
75
+
76
+ windows:
77
+ runs-on: ${{ matrix.platform.runner }}
78
+ strategy:
79
+ matrix:
80
+ platform:
81
+ - runner: windows-latest
82
+ target: x64
83
+ python_arch: x64
84
+ - runner: windows-latest
85
+ target: x86
86
+ python_arch: x86
87
+ - runner: windows-11-arm
88
+ target: aarch64
89
+ python_arch: arm64
90
+ steps:
91
+ - uses: actions/checkout@v6
92
+ - name: Build wheels
93
+ uses: PyO3/maturin-action@v1
94
+ with:
95
+ target: ${{ matrix.platform.target }}
96
+ args: --release --out dist
97
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
98
+ - name: Upload wheels
99
+ uses: actions/upload-artifact@v6
100
+ with:
101
+ name: wheels-windows-${{ matrix.platform.target }}
102
+ path: dist
103
+
104
+ macos:
105
+ runs-on: ${{ matrix.platform.runner }}
106
+ strategy:
107
+ matrix:
108
+ platform:
109
+ - runner: macos-15-intel
110
+ target: x86_64
111
+ - runner: macos-latest
112
+ target: aarch64
113
+ steps:
114
+ - uses: actions/checkout@v6
115
+ - name: Build wheels
116
+ uses: PyO3/maturin-action@v1
117
+ with:
118
+ target: ${{ matrix.platform.target }}
119
+ args: --release --out dist
120
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
121
+ - name: Upload wheels
122
+ uses: actions/upload-artifact@v6
123
+ with:
124
+ name: wheels-macos-${{ matrix.platform.target }}
125
+ path: dist
126
+
127
+ sdist:
128
+ runs-on: ubuntu-latest
129
+ steps:
130
+ - uses: actions/checkout@v6
131
+ - name: Build sdist
132
+ uses: PyO3/maturin-action@v1
133
+ with:
134
+ command: sdist
135
+ args: --out dist
136
+ - name: Upload sdist
137
+ uses: actions/upload-artifact@v6
138
+ with:
139
+ name: wheels-sdist
140
+ path: dist
141
+
142
+ release:
143
+ name: Release
144
+ runs-on: ubuntu-latest
145
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
146
+ needs: [linux, musllinux, windows, macos, sdist]
147
+ permissions:
148
+ # Use to sign the release artifacts
149
+ id-token: write
150
+ # Used to upload release artifacts
151
+ contents: write
152
+ # Used to generate artifact attestation
153
+ attestations: write
154
+ steps:
155
+ - uses: actions/download-artifact@v7
156
+ - name: Generate artifact attestation
157
+ uses: actions/attest-build-provenance@v3
158
+ with:
159
+ subject-path: "wheels-*/*"
160
+ - name: Install uv
161
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
162
+ uses: astral-sh/setup-uv@v7
163
+ - name: Publish to PyPI
164
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
165
+ run: uv publish 'wheels-*/*'
166
+ env:
167
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,22 @@
1
+ name: Rust
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - name: Build
20
+ run: cargo build --verbose
21
+ - name: Run tests
22
+ run: cargo test --verbose
@@ -0,0 +1,72 @@
1
+ /target
2
+ /.cottage/identity
3
+
4
+ # Byte-compiled / optimized / DLL files
5
+ __pycache__/
6
+ .pytest_cache/
7
+ *.py[cod]
8
+
9
+ # C extensions
10
+ *.so
11
+
12
+ # Distribution / packaging
13
+ .Python
14
+ .venv/
15
+ env/
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ include/
26
+ man/
27
+ venv/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # Installer logs
33
+ pip-log.txt
34
+ pip-delete-this-directory.txt
35
+ pip-selfcheck.json
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+
45
+ # Translations
46
+ *.mo
47
+
48
+ # Mr Developer
49
+ .mr.developer.cfg
50
+ .project
51
+ .pydevproject
52
+
53
+ # Rope
54
+ .ropeproject
55
+
56
+ # Django stuff:
57
+ *.log
58
+ *.pot
59
+
60
+ .DS_Store
61
+
62
+ # Sphinx documentation
63
+ docs/_build/
64
+
65
+ # PyCharm
66
+ .idea/
67
+
68
+ # VSCode
69
+ .vscode/
70
+
71
+ # Pyenv
72
+ .python-version