git-stream 1.0.1__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,58 @@
1
+ name: Git Stream Build
2
+ run-name: Git Stream Build - ${{ github.run_id }}
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches:
7
+ - main
8
+ - release/*
9
+ pull_request:
10
+ branches:
11
+ - main
12
+ - release/*
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ test:
19
+ uses: tardis4500/shared-actions/.github/workflows/vjer.yml@main
20
+ with:
21
+ action: test
22
+ os: ${{ matrix.os }}
23
+ python-version: ${{ matrix.python-version }}
24
+ strategy:
25
+ matrix:
26
+ os:
27
+ - ubuntu-latest
28
+ - macos-latest
29
+ - windows-latest
30
+ python-version:
31
+ - "3.11"
32
+ - "3.12"
33
+
34
+ build:
35
+ needs: test
36
+ uses: tardis4500/shared-actions/.github/workflows/vjer.yml@main
37
+ with:
38
+ action: build
39
+ os: ubuntu-latest
40
+ python-version: "3.11"
41
+ use-flit: true
42
+
43
+ install-test:
44
+ needs: build
45
+ uses: tardis4500/shared-actions/.github/workflows/install-test.yml@main
46
+ with:
47
+ os: ${{ matrix.os }}
48
+ python-version: ${{ matrix.python-version }}
49
+ test-action: "python -c 'import batcave; print(batcave.__version__)'"
50
+ strategy:
51
+ matrix:
52
+ os:
53
+ - ubuntu-latest
54
+ - macos-latest
55
+ - windows-latest
56
+ python-version:
57
+ - "3.11"
58
+ - "3.12"
@@ -0,0 +1,37 @@
1
+ name: Git Stream Publish
2
+ run-name: Git Stream Publish - ${{ github.run_id }}
3
+
4
+ on:
5
+ workflow_dispatch:
6
+ inputs:
7
+ run-id:
8
+ description: The run to release
9
+ required: true
10
+ type: number
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.ref }}
13
+ cancel-in-progress: true
14
+
15
+ permissions:
16
+ contents: write
17
+ id-token: write
18
+
19
+ jobs:
20
+ pre_release:
21
+ uses: ./.github/workflows/pypi-publish.yml
22
+ # uses: tardis4500/shared-actions/.github/workflows/pypi-publish.yml@main
23
+ secrets: inherit
24
+ with:
25
+ environment: Staging
26
+ publish-mode: pre_release
27
+ run-id: ${{ inputs.run-id }}
28
+
29
+ release:
30
+ needs: pre_release
31
+ uses: ./.github/workflows/pypi-publish.yml
32
+ # uses: tardis4500/shared-actions/.github/workflows/pypi-publish.yml@main
33
+ secrets: inherit
34
+ with:
35
+ environment: Production
36
+ publish-mode: release
37
+ run-id: ${{ inputs.run-id }}
@@ -0,0 +1,77 @@
1
+ name: Shared PyPi Publish Action
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ environment:
7
+ required: true
8
+ type: string
9
+ publish-mode:
10
+ required: true
11
+ type: string
12
+ run-id:
13
+ required: true
14
+ type: string
15
+ python-version:
16
+ required: false
17
+ type: string
18
+ default: "3.11"
19
+ use-local-vjer:
20
+ required: false
21
+ type: boolean
22
+ default: false
23
+
24
+ env:
25
+ ARTIFACTS_DIR: artifacts
26
+ GH_TOKEN: ${{ github.token }}
27
+ VJER_ENV: development
28
+
29
+ jobs:
30
+ pypi-publish:
31
+ runs-on: ubuntu-latest
32
+ environment: ${{ inputs.environment }}
33
+ steps:
34
+ - name: Checkout source
35
+ uses: actions/checkout@v4
36
+ - name: Setup Python ${{ inputs.python-version }}
37
+ uses: actions/setup-python@v4
38
+ with:
39
+ python-version: ${{ inputs.python-version }}
40
+ cache: "pip"
41
+ - name: Download artifacts
42
+ uses: actions/download-artifact@v4
43
+ with:
44
+ run-id: ${{ inputs.run-id }}
45
+ github-token: ${{ secrets.ARTIFACT_TOKEN }}
46
+ - name: Install local vjer
47
+ run: pip install $ARTIFACTS_DIR/*.whl
48
+ if: inputs.use-local-vjer
49
+ - name: Install vjer
50
+ run: pip install vjer
51
+ if: ${{ ! inputs.use-local-vjer }}
52
+ - name: Prepare Git
53
+ run: |
54
+ git config user.name "${{ github.triggering_actor }}"
55
+ git config user.email "${{ github.triggering_actor }}@users.noreply.github.com"
56
+ git pull
57
+ - name: Publish to Test PyPi
58
+ uses: pypa/gh-action-pypi-publish@release/v1
59
+ with:
60
+ repository-url: https://test.pypi.org/legacy/
61
+ packages-dir: ${{ env.ARTIFACTS_DIR }}
62
+ if: inputs.publish-mode == 'pre_release'
63
+ - name: Run post-publish steps
64
+ run: vjer ${{ inputs.publish-mode }}
65
+ - name: Publish to PyPi
66
+ uses: pypa/gh-action-pypi-publish@release/v1
67
+ with:
68
+ packages-dir: ${{ env.ARTIFACTS_DIR }}
69
+ if: inputs.publish-mode == 'release'
70
+ - name: Upload released artifacts
71
+ uses: actions/upload-artifact@v4
72
+ with:
73
+ name: ${{ env.ARTIFACTS_DIR }}
74
+ path: ${{ env.ARTIFACTS_DIR }}
75
+ if: inputs.publish-mode == 'release'
76
+
77
+ # cSpell:ignore pypa noreply
@@ -0,0 +1,276 @@
1
+ # File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
2
+ # Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,python,git,macos
3
+ # Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,python,git,macos
4
+
5
+ ### Git ###
6
+ # Created by git for backups. To disable backups in Git:
7
+ # $ git config --global mergetool.keepBackup false
8
+ *.orig
9
+
10
+ # Created by git when using merge tools for conflicts
11
+ *.BACKUP.*
12
+ *.BASE.*
13
+ *.LOCAL.*
14
+ *.REMOTE.*
15
+ *_BACKUP_*.txt
16
+ *_BASE_*.txt
17
+ *_LOCAL_*.txt
18
+ *_REMOTE_*.txt
19
+
20
+ ### macOS ###
21
+ # General
22
+ .DS_Store
23
+ .AppleDouble
24
+ .LSOverride
25
+
26
+ # Icon must end with two \r
27
+ Icon
28
+
29
+ # Thumbnails
30
+ ._*
31
+
32
+ # Files that might appear in the root of a volume
33
+ .DocumentRevisions-V100
34
+ .fseventsd
35
+ .Spotlight-V100
36
+ .TemporaryItems
37
+ .Trashes
38
+ .VolumeIcon.icns
39
+ .com.apple.timemachine.donotpresent
40
+
41
+ # Directories potentially created on remote AFP share
42
+ .AppleDB
43
+ .AppleDesktop
44
+ Network Trash Folder
45
+ Temporary Items
46
+ .apdisk
47
+
48
+ ### macOS Patch ###
49
+ # iCloud generated files
50
+ *.icloud
51
+
52
+ ### Python ###
53
+ # Byte-compiled / optimized / DLL files
54
+ __pycache__/
55
+ *.py[cod]
56
+ *$py.class
57
+
58
+ # C extensions
59
+ *.so
60
+
61
+ # Distribution / packaging
62
+ .Python
63
+ build/
64
+ develop-eggs/
65
+ dist/
66
+ downloads/
67
+ eggs/
68
+ .eggs/
69
+ lib/
70
+ lib64/
71
+ parts/
72
+ sdist/
73
+ var/
74
+ wheels/
75
+ share/python-wheels/
76
+ *.egg-info/
77
+ .installed.cfg
78
+ *.egg
79
+ MANIFEST
80
+
81
+ # PyInstaller
82
+ # Usually these files are written by a python script from a template
83
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
84
+ *.manifest
85
+ *.spec
86
+
87
+ # Installer logs
88
+ pip-log.txt
89
+ pip-delete-this-directory.txt
90
+
91
+ # Unit test / coverage reports
92
+ htmlcov/
93
+ .tox/
94
+ .nox/
95
+ .coverage
96
+ .coverage.*
97
+ .cache
98
+ nosetests.xml
99
+ coverage.xml
100
+ *.cover
101
+ *.py,cover
102
+ .hypothesis/
103
+ .pytest_cache/
104
+ cover/
105
+
106
+ # Translations
107
+ *.mo
108
+ *.pot
109
+
110
+ # Django stuff:
111
+ *.log
112
+ local_settings.py
113
+ db.sqlite3
114
+ db.sqlite3-journal
115
+
116
+ # Flask stuff:
117
+ instance/
118
+ .webassets-cache
119
+
120
+ # Scrapy stuff:
121
+ .scrapy
122
+
123
+ # Sphinx documentation
124
+ docs/_build/
125
+
126
+ # PyBuilder
127
+ .pybuilder/
128
+ target/
129
+
130
+ # Jupyter Notebook
131
+ .ipynb_checkpoints
132
+
133
+ # IPython
134
+ profile_default/
135
+ ipython_config.py
136
+
137
+ # pyenv
138
+ # For a library or package, you might want to ignore these files since the code is
139
+ # intended to run in multiple environments; otherwise, check them in:
140
+ # .python-version
141
+
142
+ # pipenv
143
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
144
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
145
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
146
+ # install all needed dependencies.
147
+ #Pipfile.lock
148
+
149
+ # poetry
150
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
151
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
152
+ # commonly ignored for libraries.
153
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
154
+ #poetry.lock
155
+
156
+ # pdm
157
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
158
+ #pdm.lock
159
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
160
+ # in version control.
161
+ # https://pdm.fming.dev/#use-with-ide
162
+ .pdm.toml
163
+
164
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
165
+ __pypackages__/
166
+
167
+ # Celery stuff
168
+ celerybeat-schedule
169
+ celerybeat.pid
170
+
171
+ # SageMath parsed files
172
+ *.sage.py
173
+
174
+ # Environments
175
+ .env
176
+ .venv
177
+ env/
178
+ venv/
179
+ ENV/
180
+ env.bak/
181
+ venv.bak/
182
+
183
+ # Spyder project settings
184
+ .spyderproject
185
+ .spyproject
186
+
187
+ # Rope project settings
188
+ .ropeproject
189
+
190
+ # mkdocs documentation
191
+ /site
192
+
193
+ # mypy
194
+ .mypy_cache/
195
+ .dmypy.json
196
+ dmypy.json
197
+
198
+ # Pyre type checker
199
+ .pyre/
200
+
201
+ # pytype static type analyzer
202
+ .pytype/
203
+
204
+ # Cython debug symbols
205
+ cython_debug/
206
+
207
+ # PyCharm
208
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
209
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
210
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
211
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
212
+ #.idea/
213
+
214
+ ### Python Patch ###
215
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
216
+ poetry.toml
217
+
218
+ # ruff
219
+ .ruff_cache/
220
+
221
+ # LSP config files
222
+ pyrightconfig.json
223
+
224
+ ### VisualStudioCode ###
225
+ .vscode/*
226
+ !.vscode/settings.json
227
+ !.vscode/tasks.json
228
+ !.vscode/launch.json
229
+ !.vscode/extensions.json
230
+ !.vscode/*.code-snippets
231
+
232
+ # Local History for Visual Studio Code
233
+ .history/
234
+
235
+ # Built Visual Studio Code Extensions
236
+ *.vsix
237
+
238
+ ### VisualStudioCode Patch ###
239
+ # Ignore all local history of files
240
+ .history
241
+ .ionide
242
+
243
+ ### Windows ###
244
+ # Windows thumbnail cache files
245
+ Thumbs.db
246
+ Thumbs.db:encryptable
247
+ ehthumbs.db
248
+ ehthumbs_vista.db
249
+
250
+ # Dump file
251
+ *.stackdump
252
+
253
+ # Folder config file
254
+ [Dd]esktop.ini
255
+
256
+ # Recycle Bin used on file shares
257
+ $RECYCLE.BIN/
258
+
259
+ # Windows Installer files
260
+ *.cab
261
+ *.msi
262
+ *.msix
263
+ *.msm
264
+ *.msp
265
+
266
+ # Windows shortcuts
267
+ *.lnk
268
+
269
+ # End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,python,git,macos
270
+
271
+ # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
272
+
273
+ .git/
274
+ .p4cfg
275
+ artifacts/
276
+ unit_test_results/
@@ -0,0 +1,244 @@
1
+ # File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
2
+ # Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,python,git
3
+ # Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,python,git
4
+
5
+ ### Git ###
6
+ # Created by git for backups. To disable backups in Git:
7
+ # $ git config --global mergetool.keepBackup false
8
+ *.orig
9
+
10
+ # Created by git when using merge tools for conflicts
11
+ *.BACKUP.*
12
+ *.BASE.*
13
+ *.LOCAL.*
14
+ *.REMOTE.*
15
+ *_BACKUP_*.txt
16
+ *_BASE_*.txt
17
+ *_LOCAL_*.txt
18
+ *_REMOTE_*.txt
19
+
20
+ ### Python ###
21
+ # Byte-compiled / optimized / DLL files
22
+ __pycache__/
23
+ *.py[cod]
24
+ *$py.class
25
+
26
+ # C extensions
27
+ *.so
28
+
29
+ # Distribution / packaging
30
+ .Python
31
+ build/
32
+ develop-eggs/
33
+ dist/
34
+ downloads/
35
+ eggs/
36
+ .eggs/
37
+ lib/
38
+ lib64/
39
+ parts/
40
+ sdist/
41
+ var/
42
+ wheels/
43
+ share/python-wheels/
44
+ *.egg-info/
45
+ .installed.cfg
46
+ *.egg
47
+ MANIFEST
48
+
49
+ # PyInstaller
50
+ # Usually these files are written by a python script from a template
51
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
52
+ *.manifest
53
+ *.spec
54
+
55
+ # Installer logs
56
+ pip-log.txt
57
+ pip-delete-this-directory.txt
58
+
59
+ # Unit test / coverage reports
60
+ htmlcov/
61
+ .tox/
62
+ .nox/
63
+ .coverage
64
+ .coverage.*
65
+ .cache
66
+ nosetests.xml
67
+ coverage.xml
68
+ *.cover
69
+ *.py,cover
70
+ .hypothesis/
71
+ .pytest_cache/
72
+ cover/
73
+
74
+ # Translations
75
+ *.mo
76
+ *.pot
77
+
78
+ # Django stuff:
79
+ *.log
80
+ local_settings.py
81
+ db.sqlite3
82
+ db.sqlite3-journal
83
+
84
+ # Flask stuff:
85
+ instance/
86
+ .webassets-cache
87
+
88
+ # Scrapy stuff:
89
+ .scrapy
90
+
91
+ # Sphinx documentation
92
+ docs/_build/
93
+
94
+ # PyBuilder
95
+ .pybuilder/
96
+ target/
97
+
98
+ # Jupyter Notebook
99
+ .ipynb_checkpoints
100
+
101
+ # IPython
102
+ profile_default/
103
+ ipython_config.py
104
+
105
+ # pyenv
106
+ # For a library or package, you might want to ignore these files since the code is
107
+ # intended to run in multiple environments; otherwise, check them in:
108
+ # .python-version
109
+
110
+ # pipenv
111
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
112
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
113
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
114
+ # install all needed dependencies.
115
+ #Pipfile.lock
116
+
117
+ # poetry
118
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
119
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
120
+ # commonly ignored for libraries.
121
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
122
+ #poetry.lock
123
+
124
+ # pdm
125
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
126
+ #pdm.lock
127
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
128
+ # in version control.
129
+ # https://pdm.fming.dev/#use-with-ide
130
+ .pdm.toml
131
+
132
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
133
+ __pypackages__/
134
+
135
+ # Celery stuff
136
+ celerybeat-schedule
137
+ celerybeat.pid
138
+
139
+ # SageMath parsed files
140
+ *.sage.py
141
+
142
+ # Environments
143
+ .env
144
+ .venv
145
+ env/
146
+ venv/
147
+ ENV/
148
+ env.bak/
149
+ venv.bak/
150
+
151
+ # Spyder project settings
152
+ .spyderproject
153
+ .spyproject
154
+
155
+ # Rope project settings
156
+ .ropeproject
157
+
158
+ # mkdocs documentation
159
+ /site
160
+
161
+ # mypy
162
+ .mypy_cache/
163
+ .dmypy.json
164
+ dmypy.json
165
+
166
+ # Pyre type checker
167
+ .pyre/
168
+
169
+ # pytype static type analyzer
170
+ .pytype/
171
+
172
+ # Cython debug symbols
173
+ cython_debug/
174
+
175
+ # PyCharm
176
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
177
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
178
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
179
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
180
+ #.idea/
181
+
182
+ ### Python Patch ###
183
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
184
+ poetry.toml
185
+
186
+ # ruff
187
+ .ruff_cache/
188
+
189
+ # LSP config files
190
+ pyrightconfig.json
191
+
192
+ ### VisualStudioCode ###
193
+ .vscode/*
194
+ !.vscode/settings.json
195
+ !.vscode/tasks.json
196
+ !.vscode/launch.json
197
+ !.vscode/extensions.json
198
+ !.vscode/*.code-snippets
199
+
200
+ # Local History for Visual Studio Code
201
+ .history/
202
+
203
+ # Built Visual Studio Code Extensions
204
+ *.vsix
205
+
206
+ ### VisualStudioCode Patch ###
207
+ # Ignore all local history of files
208
+ .history
209
+ .ionide
210
+
211
+ ### Windows ###
212
+ # Windows thumbnail cache files
213
+ Thumbs.db
214
+ Thumbs.db:encryptable
215
+ ehthumbs.db
216
+ ehthumbs_vista.db
217
+
218
+ # Dump file
219
+ *.stackdump
220
+
221
+ # Folder config file
222
+ [Dd]esktop.ini
223
+
224
+ # Recycle Bin used on file shares
225
+ $RECYCLE.BIN/
226
+
227
+ # Windows Installer files
228
+ *.cab
229
+ *.msi
230
+ *.msix
231
+ *.msm
232
+ *.msp
233
+
234
+ # Windows shortcuts
235
+ *.lnk
236
+
237
+ # End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,python,git
238
+
239
+ # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
240
+
241
+ .git/
242
+ .p4cfg
243
+ artifacts/
244
+ unit_test_results/
@@ -0,0 +1,4 @@
1
+ version: 2
2
+
3
+ python:
4
+ version: "3.11"
@@ -0,0 +1,14 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/)
6
+ and this project adheres to [Semantic Versioning](http://semver.org/).
7
+
8
+ ## Current Release
9
+
10
+ ### [1.0.0] - 2024-09-02
11
+
12
+ - Initial release
13
+
14
+ ## Release History
@@ -0,0 +1,3 @@
1
+ # git-stream Python Module
2
+
3
+ A command line tool to implement streams in Git.