panel-splitjs 0.0.1a0__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 (36) hide show
  1. panel_splitjs-0.0.1a0/.copier-answers.yml +12 -0
  2. panel_splitjs-0.0.1a0/.gitattributes +1 -0
  3. panel_splitjs-0.0.1a0/.github/CODEOWNERS +1 -0
  4. panel_splitjs-0.0.1a0/.github/dependabot.yml +10 -0
  5. panel_splitjs-0.0.1a0/.github/workflows/build.yml +73 -0
  6. panel_splitjs-0.0.1a0/.github/workflows/test.yml +144 -0
  7. panel_splitjs-0.0.1a0/.github/workflows/update-lockfiles.yml +34 -0
  8. panel_splitjs-0.0.1a0/.gitignore +389 -0
  9. panel_splitjs-0.0.1a0/.pre-commit-config.yaml +43 -0
  10. panel_splitjs-0.0.1a0/.prettierrc +7 -0
  11. panel_splitjs-0.0.1a0/MANIFEST.in +1 -0
  12. panel_splitjs-0.0.1a0/PKG-INFO +325 -0
  13. panel_splitjs-0.0.1a0/README.md +286 -0
  14. panel_splitjs-0.0.1a0/docs/assets/logo.svg +157 -0
  15. panel_splitjs-0.0.1a0/docs/index.md +1 -0
  16. panel_splitjs-0.0.1a0/docs/reference/panel_splitjs.md +6 -0
  17. panel_splitjs-0.0.1a0/examples/apps/simple.py +7 -0
  18. panel_splitjs-0.0.1a0/hatch_build.py +56 -0
  19. panel_splitjs-0.0.1a0/mkdocs.yml +58 -0
  20. panel_splitjs-0.0.1a0/pixi.lock +16022 -0
  21. panel_splitjs-0.0.1a0/pixi.toml +141 -0
  22. panel_splitjs-0.0.1a0/pyproject.toml +152 -0
  23. panel_splitjs-0.0.1a0/src/panel_splitjs/__init__.py +4 -0
  24. panel_splitjs-0.0.1a0/src/panel_splitjs/__version.py +46 -0
  25. panel_splitjs-0.0.1a0/src/panel_splitjs/_version.py +34 -0
  26. panel_splitjs-0.0.1a0/src/panel_splitjs/base.py +139 -0
  27. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/arrow_down.svg +3 -0
  28. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/arrow_left.svg +3 -0
  29. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/arrow_right.svg +3 -0
  30. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/arrow_up.svg +3 -0
  31. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/handle.svg +23 -0
  32. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/handle_vertical.svg +23 -0
  33. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/css/splitjs.css +239 -0
  34. panel_splitjs-0.0.1a0/src/panel_splitjs/dist/panel-splitjs.bundle.js +1 -0
  35. panel_splitjs-0.0.1a0/src/panel_splitjs/models/splitjs.js +215 -0
  36. panel_splitjs-0.0.1a0/tests/test_base.py +36 -0
@@ -0,0 +1,12 @@
1
+ # This file is managed by Copier; DO NOT EDIT OR REMOVE.
2
+ _commit: '3248832'
3
+ _src_path: ../copier-template-python-open-source/
4
+ add_autobump_workflow: true
5
+ author_email: philipp.jfr@gmail.com
6
+ author_name: Philipp Rudiger
7
+ docs_url: https://panel-extensions.github.io/panel-splitjs/
8
+ github_url: https://github.com/panel-extensions/panel-splitjs
9
+ github_user: philippjfr
10
+ minimal_python_version: py310
11
+ project_short_description: Provides split.js components for Panel.
12
+ project_slug: panel-splitjs
@@ -0,0 +1 @@
1
+ pixi.lock linguist-language=YAML linguist-generated=true
@@ -0,0 +1 @@
1
+ * @philippjfr
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: github-actions
4
+ directory: /
5
+ schedule:
6
+ interval: monthly
7
+ groups:
8
+ gh-actions:
9
+ patterns:
10
+ - "*"
@@ -0,0 +1,73 @@
1
+ name: Build
2
+ on:
3
+ pull_request:
4
+ push:
5
+ branches:
6
+ - main
7
+ tags:
8
+ - "v[0-9]+.[0-9]+.[0-9]+"
9
+ - "v[0-9]+.[0-9]+.[0-9]+a[0-9]+"
10
+ - "v[0-9]+.[0-9]+.[0-9]+b[0-9]+"
11
+ - "v[0-9]+.[0-9]+.[0-9]+rc[0-9]+"
12
+
13
+ jobs:
14
+ build:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v5
18
+ with:
19
+ fetch-depth: 0
20
+ - name: Set up pixi
21
+ uses: prefix-dev/setup-pixi@194d461b21b6c5717c722ffc597fa91ed2ff29fa # v0.9.1
22
+ with:
23
+ environments: build
24
+ - name: Build project
25
+ run: pixi run -e build build-wheel
26
+ - name: Check package
27
+ run: pixi run -e build check-wheel
28
+ - name: Upload package
29
+ uses: actions/upload-artifact@v4
30
+ with:
31
+ name: pip
32
+ path: dist/*
33
+ - name: Upload bundle
34
+ uses: actions/upload-artifact@v4
35
+ with:
36
+ name: cdn
37
+ path: src/panel_splitjs/dist/
38
+ release:
39
+ name: Publish package
40
+ if: startsWith(github.ref, 'refs/tags/')
41
+ needs: [build]
42
+ runs-on: ubuntu-latest
43
+ permissions:
44
+ id-token: write
45
+ environment: pypi
46
+ steps:
47
+ - uses: actions/download-artifact@v5
48
+ with:
49
+ name: pip
50
+ path: dist/
51
+ - name: Publish package on PyPi
52
+ uses: pypa/gh-action-pypi-publish@release/v1
53
+ publish_cdn:
54
+ name: Publish to CDN
55
+ if: startsWith(github.ref, 'refs/tags/')
56
+ needs: [build]
57
+ runs-on: ubuntu-latest
58
+ steps:
59
+ - uses: actions/download-artifact@v5
60
+ with:
61
+ name: cdn
62
+ path: dist/
63
+ - name: Get Tag Name
64
+ id: get_tag
65
+ run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
66
+ - name: Configure AWS Credentials
67
+ uses: aws-actions/configure-aws-credentials@v5
68
+ with:
69
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
70
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
71
+ aws-region: us-east-1
72
+ - name: Upload to S3
73
+ run: aws s3 sync ./dist s3://cdn.holoviz.org/panel-splitjs/${{ env.TAG_NAME }}/
@@ -0,0 +1,144 @@
1
+ name: tests
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pull_request:
7
+ branches:
8
+ - "*"
9
+ workflow_dispatch:
10
+ inputs:
11
+ target:
12
+ description: "How much of the test suite to run"
13
+ type: choice
14
+ default: default
15
+ options:
16
+ - default
17
+ - full
18
+ - downstream
19
+ cache:
20
+ description: "Use cache"
21
+ type: boolean
22
+ default: true
23
+ schedule:
24
+ - cron: "0 19 * * SUN"
25
+
26
+ # Automatically stop old builds on the same branch/PR
27
+ concurrency:
28
+ group: ${{ github.workflow }}-${{ github.ref }}
29
+ cancel-in-progress: true
30
+
31
+ defaults:
32
+ run:
33
+ shell: bash -e {0}
34
+
35
+ env:
36
+ COV: "--cov=./src/panel_splitjs --cov-report=xml --cov-append"
37
+
38
+
39
+ jobs:
40
+ pre_commit:
41
+ name: Run pre-commit
42
+ needs: [setup]
43
+ runs-on: "ubuntu-latest"
44
+ steps:
45
+ - uses: actions/checkout@v5
46
+ - name: Set up pixi
47
+ uses: prefix-dev/setup-pixi@v0.9.1
48
+ - uses: holoviz-dev/holoviz_tasks/pre-commit@v0
49
+ - uses: pre-commit/action@v3.0.1
50
+ if: needs.setup.outputs.img_change == 'true'
51
+ with:
52
+ extra_args: -a --hook-stage manual oxipng || true --
53
+ - uses: stefanzweifel/git-auto-commit-action@v6
54
+ if: needs.setup.outputs.img_change == 'true'
55
+ with:
56
+ commit_message: "Optimize PNG images (lossless)"
57
+ file_pattern: "*.png"
58
+ setup:
59
+ name: Setup workflow
60
+ runs-on: ubuntu-latest
61
+ permissions:
62
+ pull-requests: read
63
+ outputs:
64
+ code_change: ${{ steps.filter.outputs.code }}
65
+ matrix: ${{ env.MATRIX }}
66
+ steps:
67
+ - uses: actions/checkout@v5
68
+ if: github.event_name != 'pull_request'
69
+ - name: Check for code changes
70
+ uses: dorny/paths-filter@v3
71
+ id: filter
72
+ with:
73
+ filters: |
74
+ code:
75
+ - 'src/**'
76
+ - 'tests/**'
77
+ - 'examples/**'
78
+ - 'pyproject.toml'
79
+ - '.github/workflows/ci.yaml'
80
+ - 'pixi.toml'
81
+ - name: Set matrix option
82
+ run: |
83
+ if [[ '${{ github.event_name }}' == 'workflow_dispatch' ]]; then
84
+ OPTION=${{ github.event.inputs.target }}
85
+ elif [[ '${{ github.event_name }}' == 'schedule' ]]; then
86
+ OPTION="full"
87
+ elif [[ '${{ github.event_name }}' == 'push' && '${{ github.ref_type }}' == 'tag' ]]; then
88
+ OPTION="full"
89
+ else
90
+ OPTION="default"
91
+ fi
92
+ echo "MATRIX_OPTION=$OPTION" >> $GITHUB_ENV
93
+ - name: Set test matrix with 'default' option
94
+ if: env.MATRIX_OPTION == 'default'
95
+ run: |
96
+ MATRIX=$(jq -nsc '{
97
+ "os": ["ubuntu-latest", "macos-latest", "windows-latest"],
98
+ "environment": ["test-310", "test-312"],
99
+ }')
100
+ echo "MATRIX=$MATRIX" >> $GITHUB_ENV
101
+ - name: Set test matrix with 'full' option
102
+ if: env.MATRIX_OPTION == 'full'
103
+ run: |
104
+ MATRIX=$(jq -nsc '{
105
+ "os": ["ubuntu-latest", "macos-latest", "windows-latest"],
106
+ "environment": ["test-310", "test-311", "test-312"]
107
+ }')
108
+ echo "MATRIX=$MATRIX" >> $GITHUB_ENV
109
+ - name: Set test matrix with 'downstream' option
110
+ if: env.MATRIX_OPTION == 'downstream'
111
+ run: |
112
+ MATRIX=$(jq -nsc '{
113
+ "os": ["ubuntu-latest"],
114
+ "environment": ["test-311"]
115
+ }')
116
+ echo "MATRIX=$MATRIX" >> $GITHUB_ENV
117
+ pixi_lock:
118
+ name: Pixi lock
119
+ runs-on: ubuntu-latest
120
+ steps:
121
+ - uses: holoviz-dev/holoviz_tasks/pixi_lock@v0
122
+ with:
123
+ cache: ${{ github.event.inputs.cache == 'true' || github.event.inputs.cache == '' }}
124
+ unit_test:
125
+ name: unit:${{ matrix.environment }}:${{ matrix.os }}
126
+ needs: [pre_commit, setup, pixi_lock]
127
+ runs-on: ${{ matrix.os }}
128
+ strategy:
129
+ fail-fast: false
130
+ matrix: ${{ fromJson(needs.setup.outputs.matrix) }}
131
+ timeout-minutes: 30
132
+ steps:
133
+ - uses: holoviz-dev/holoviz_tasks/pixi_install@v0
134
+ with:
135
+ environments: ${{ matrix.environment }}
136
+ install: false
137
+ id: install
138
+ - name: Unit tests with coverage
139
+ run: pixi run -e ${{ matrix.environment }} test-coverage --color=yes $COV
140
+ - name: Upload coverage reports to Codecov
141
+ uses: codecov/codecov-action@v5
142
+ with:
143
+ token: ${{ secrets.CODECOV_TOKEN }}
144
+ slug: panel-extensions/panel-splitjs
@@ -0,0 +1,34 @@
1
+ name: Update lockfiles
2
+ permissions:
3
+ contents: write
4
+ pull-requests: write
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ schedule:
9
+ - cron: 0 5 1 * *
10
+
11
+ jobs:
12
+ pixi-update:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16
+ - name: Set up pixi
17
+ uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659 # v0.8.1
18
+ with:
19
+ run-install: false
20
+ - name: Update lockfiles
21
+ run: |
22
+ pixi update --json --no-install | pixi exec pixi-diff-to-markdown >> diff.md
23
+ - name: Create pull request
24
+ uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
25
+ with:
26
+ token: ${{ secrets.GITHUB_TOKEN }}
27
+ commit-message: Update pixi lockfile
28
+ title: Update pixi lockfile
29
+ body-path: diff.md
30
+ branch: update-pixi
31
+ base: main
32
+ labels: pixi
33
+ delete-branch: true
34
+ add-paths: pixi.lock
@@ -0,0 +1,389 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
3
+
4
+ ### direnv ###
5
+ .direnv
6
+ .envrc
7
+
8
+ ### Linux ###
9
+ *~
10
+
11
+ # temporary files which can be created if a process still has a handle open of a deleted file
12
+ .fuse_hidden*
13
+
14
+ # KDE directory preferences
15
+ .directory
16
+
17
+ # Linux trash folder which might appear on any partition or disk
18
+ .Trash-*
19
+
20
+ # .nfs files are created when an open file is removed but is still being accessed
21
+ .nfs*
22
+
23
+ ### macOS ###
24
+ # General
25
+ .DS_Store
26
+ .AppleDouble
27
+ .LSOverride
28
+
29
+ # Icon must end with two \r
30
+ Icon
31
+
32
+
33
+ # Thumbnails
34
+ ._*
35
+
36
+ # Files that might appear in the root of a volume
37
+ .DocumentRevisions-V100
38
+ .fseventsd
39
+ .Spotlight-V100
40
+ .TemporaryItems
41
+ .Trashes
42
+ .VolumeIcon.icns
43
+ .com.apple.timemachine.donotpresent
44
+
45
+ # Directories potentially created on remote AFP share
46
+ .AppleDB
47
+ .AppleDesktop
48
+ Network Trash Folder
49
+ Temporary Items
50
+ .apdisk
51
+
52
+ ### macOS Patch ###
53
+ # iCloud generated files
54
+ *.icloud
55
+
56
+ ### PyCharm+all ###
57
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
58
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
59
+
60
+ # User-specific stuff
61
+ .idea/**/workspace.xml
62
+ .idea/**/tasks.xml
63
+ .idea/**/usage.statistics.xml
64
+ .idea/**/dictionaries
65
+ .idea/**/shelf
66
+
67
+ # AWS User-specific
68
+ .idea/**/aws.xml
69
+
70
+ # Generated files
71
+ .idea/**/contentModel.xml
72
+
73
+ # Sensitive or high-churn files
74
+ .idea/**/dataSources/
75
+ .idea/**/dataSources.ids
76
+ .idea/**/dataSources.local.xml
77
+ .idea/**/sqlDataSources.xml
78
+ .idea/**/dynamic.xml
79
+ .idea/**/uiDesigner.xml
80
+ .idea/**/dbnavigator.xml
81
+
82
+ # Gradle
83
+ .idea/**/gradle.xml
84
+ .idea/**/libraries
85
+
86
+ # Gradle and Maven with auto-import
87
+ # When using Gradle or Maven with auto-import, you should exclude module files,
88
+ # since they will be recreated, and may cause churn. Uncomment if using
89
+ # auto-import.
90
+ # .idea/artifacts
91
+ # .idea/compiler.xml
92
+ # .idea/jarRepositories.xml
93
+ # .idea/modules.xml
94
+ # .idea/*.iml
95
+ # .idea/modules
96
+ # *.iml
97
+ # *.ipr
98
+
99
+ # CMake
100
+ cmake-build-*/
101
+
102
+ # Mongo Explorer plugin
103
+ .idea/**/mongoSettings.xml
104
+
105
+ # File-based project format
106
+ *.iws
107
+
108
+ # IntelliJ
109
+ out/
110
+
111
+ # mpeltonen/sbt-idea plugin
112
+ .idea_modules/
113
+
114
+ # JIRA plugin
115
+ atlassian-ide-plugin.xml
116
+
117
+ # Cursive Clojure plugin
118
+ .idea/replstate.xml
119
+
120
+ # SonarLint plugin
121
+ .idea/sonarlint/
122
+
123
+ # Crashlytics plugin (for Android Studio and IntelliJ)
124
+ com_crashlytics_export_strings.xml
125
+ crashlytics.properties
126
+ crashlytics-build.properties
127
+ fabric.properties
128
+
129
+ # Editor-based Rest Client
130
+ .idea/httpRequests
131
+
132
+ # Android studio 3.1+ serialized cache file
133
+ .idea/caches/build_file_checksums.ser
134
+
135
+ ### PyCharm+all Patch ###
136
+ # Ignore everything but code style settings and run configurations
137
+ # that are supposed to be shared within teams.
138
+
139
+ .idea/*
140
+
141
+ !.idea/codeStyles
142
+ !.idea/runConfigurations
143
+
144
+ ### Python ###
145
+ # Byte-compiled / optimized / DLL files
146
+ __pycache__/
147
+ *.py[cod]
148
+ *$py.class
149
+
150
+ # C extensions
151
+ *.so
152
+
153
+ # Distribution / packaging
154
+ .Python
155
+ build/
156
+ develop-eggs/
157
+ dist/
158
+ downloads/
159
+ eggs/
160
+ .eggs/
161
+ lib/
162
+ lib64/
163
+ parts/
164
+ sdist/
165
+ var/
166
+ wheels/
167
+ share/python-wheels/
168
+ *.egg-info/
169
+ .installed.cfg
170
+ *.egg
171
+ MANIFEST
172
+
173
+ # PyInstaller
174
+ # Usually these files are written by a python script from a template
175
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
176
+ *.manifest
177
+ *.spec
178
+
179
+ # Installer logs
180
+ pip-log.txt
181
+ pip-delete-this-directory.txt
182
+
183
+ # Unit test / coverage reports
184
+ htmlcov/
185
+ .tox/
186
+ .nox/
187
+ .coverage
188
+ .coverage.*
189
+ .cache
190
+ nosetests.xml
191
+ coverage.xml
192
+ *.cover
193
+ *.py,cover
194
+ .hypothesis/
195
+ .pytest_cache/
196
+ cover/
197
+
198
+ # Translations
199
+ *.mo
200
+ *.pot
201
+
202
+ # Django stuff:
203
+ *.log
204
+ local_settings.py
205
+ db.sqlite3
206
+ db.sqlite3-journal
207
+
208
+ # Flask stuff:
209
+ instance/
210
+ .webassets-cache
211
+
212
+ # Scrapy stuff:
213
+ .scrapy
214
+
215
+ # Sphinx documentation
216
+ docs/_build/
217
+
218
+ # PyBuilder
219
+ .pybuilder/
220
+ target/
221
+
222
+ # Jupyter Notebook
223
+ .ipynb_checkpoints
224
+
225
+ # IPython
226
+ profile_default/
227
+ ipython_config.py
228
+
229
+ # pyenv
230
+ # For a library or package, you might want to ignore these files since the code is
231
+ # intended to run in multiple environments; otherwise, check them in:
232
+ # .python-version
233
+
234
+ # pipenv
235
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
236
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
237
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
238
+ # install all needed dependencies.
239
+ #Pipfile.lock
240
+
241
+ # poetry
242
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
243
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
244
+ # commonly ignored for libraries.
245
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
246
+ #poetry.lock
247
+
248
+ # pdm
249
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
250
+ #pdm.lock
251
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
252
+ # in version control.
253
+ # https://pdm.fming.dev/#use-with-ide
254
+ .pdm.toml
255
+
256
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
257
+ __pypackages__/
258
+
259
+ # Celery stuff
260
+ celerybeat-schedule
261
+ celerybeat.pid
262
+
263
+ # SageMath parsed files
264
+ *.sage.py
265
+
266
+ # Environments
267
+ .env
268
+ .venv
269
+ env/
270
+ venv/
271
+ ENV/
272
+ env.bak/
273
+ venv.bak/
274
+
275
+ # Spyder project settings
276
+ .spyderproject
277
+ .spyproject
278
+
279
+ # Rope project settings
280
+ .ropeproject
281
+
282
+ # mkdocs documentation
283
+ /site
284
+
285
+ # mypy
286
+ .mypy_cache/
287
+ .dmypy.json
288
+ dmypy.json
289
+
290
+ # Pyre type checker
291
+ .pyre/
292
+
293
+ # pytype static type analyzer
294
+ .pytype/
295
+
296
+ # Cython debug symbols
297
+ cython_debug/
298
+
299
+ # PyCharm
300
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
301
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
302
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
303
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
304
+ #.idea/
305
+
306
+ ### Python Patch ###
307
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
308
+ poetry.toml
309
+
310
+ # ruff
311
+ .ruff_cache/
312
+
313
+ # LSP config files
314
+ pyrightconfig.json
315
+
316
+ ### Vim ###
317
+ # Swap
318
+ [._]*.s[a-v][a-z]
319
+ !*.svg # comment out if you don't need vector files
320
+ [._]*.sw[a-p]
321
+ [._]s[a-rt-v][a-z]
322
+ [._]ss[a-gi-z]
323
+ [._]sw[a-p]
324
+
325
+ # Session
326
+ Session.vim
327
+ Sessionx.vim
328
+
329
+ # Temporary
330
+ .netrwhist
331
+ # Auto-generated tag files
332
+ tags
333
+ # Persistent undo
334
+ [._]*.un~
335
+
336
+ ### VisualStudioCode ###
337
+ .vscode/*
338
+ !.vscode/settings.json
339
+ !.vscode/tasks.json
340
+ !.vscode/launch.json
341
+ !.vscode/extensions.json
342
+ !.vscode/*.code-snippets
343
+
344
+ # Local History for Visual Studio Code
345
+ .history/
346
+
347
+ # Built Visual Studio Code Extensions
348
+ *.vsix
349
+
350
+ ### VisualStudioCode Patch ###
351
+ # Ignore all local history of files
352
+ .history
353
+ .ionide
354
+
355
+ ### Windows ###
356
+ # Windows thumbnail cache files
357
+ Thumbs.db
358
+ Thumbs.db:encryptable
359
+ ehthumbs.db
360
+ ehthumbs_vista.db
361
+
362
+ # Dump file
363
+ *.stackdump
364
+
365
+ # Folder config file
366
+ [Dd]esktop.ini
367
+
368
+ # Recycle Bin used on file shares
369
+ $RECYCLE.BIN/
370
+
371
+ # Windows Installer files
372
+ *.cab
373
+ *.msi
374
+ *.msix
375
+ *.msm
376
+ *.msp
377
+
378
+ # Windows shortcuts
379
+ *.lnk
380
+
381
+ # Dist assets and _version.py
382
+ src/panel_splitjs/_version.py
383
+ src/panel_splitjs/dist/*.js
384
+ src/panel_splitjs/dist/css/*.css
385
+ src/panel_splitjs/dist/css/*.svg
386
+
387
+ # End of https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
388
+
389
+ .pixi
@@ -0,0 +1,43 @@
1
+ default_stages: [pre-commit]
2
+ exclude: ^(\.copier-answers\.yml)|.pixi$
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v5.0.0
6
+ hooks:
7
+ - id: check-builtin-literals
8
+ - id: check-case-conflict
9
+ - id: check-docstring-first
10
+ - id: check-executables-have-shebangs
11
+ - id: check-toml
12
+ - id: check-json
13
+ - id: detect-private-key
14
+ - id: end-of-file-fixer
15
+ exclude: \.min\.js$
16
+ - id: trailing-whitespace
17
+ - repo: https://github.com/astral-sh/ruff-pre-commit
18
+ rev: v0.7.0
19
+ hooks:
20
+ - id: ruff
21
+ files: src/panel_splitjs
22
+ - repo: https://github.com/codespell-project/codespell
23
+ rev: v2.3.0
24
+ hooks:
25
+ - id: codespell
26
+ additional_dependencies:
27
+ - tomli
28
+ - repo: https://github.com/shssoichiro/oxipng
29
+ rev: v8.0.0
30
+ hooks:
31
+ - id: oxipng
32
+ stages: [manual]
33
+ - repo: local
34
+ hooks:
35
+ # ensure pixi environments are up to date
36
+ # workaround for https://github.com/prefix-dev/pixi/issues/1482
37
+ - id: pixi-install
38
+ name: pixi-install
39
+ entry: pixi install -e default -e lint
40
+ language: system
41
+ always_run: true
42
+ require_serial: true
43
+ pass_filenames: false