sass-embedded 0.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.
Files changed (77) hide show
  1. sass_embedded-0.0.0/.age.toml +57 -0
  2. sass_embedded-0.0.0/.gitattributes +2 -0
  3. sass_embedded-0.0.0/.github/release-body.md +4 -0
  4. sass_embedded-0.0.0/.github/workflows/main.yaml +84 -0
  5. sass_embedded-0.0.0/.github/workflows/release.yaml +113 -0
  6. sass_embedded-0.0.0/.gitignore +432 -0
  7. sass_embedded-0.0.0/.python-version +1 -0
  8. sass_embedded-0.0.0/.readthedocs.yaml +17 -0
  9. sass_embedded-0.0.0/CHANGES.rst +15 -0
  10. sass_embedded-0.0.0/PKG-INFO +153 -0
  11. sass_embedded-0.0.0/README.rst +128 -0
  12. sass_embedded-0.0.0/Taskfile.yaml +39 -0
  13. sass_embedded-0.0.0/biome.json +6 -0
  14. sass_embedded-0.0.0/create_protobuf.py +45 -0
  15. sass_embedded-0.0.0/docs/.gitignore +1 -0
  16. sass_embedded-0.0.0/docs/Makefile +20 -0
  17. sass_embedded-0.0.0/docs/Taskfile.yaml +51 -0
  18. sass_embedded-0.0.0/docs/api.rst +7 -0
  19. sass_embedded-0.0.0/docs/changelog.rst +7 -0
  20. sass_embedded-0.0.0/docs/conf.py +29 -0
  21. sass_embedded-0.0.0/docs/index.rst +36 -0
  22. sass_embedded-0.0.0/docs/installation.rst +60 -0
  23. sass_embedded-0.0.0/docs/make.bat +35 -0
  24. sass_embedded-0.0.0/docs/setup-workspace.rst +14 -0
  25. sass_embedded-0.0.0/docs/usage/index.rst +17 -0
  26. sass_embedded-0.0.0/docs/usage/protocol.rst +19 -0
  27. sass_embedded-0.0.0/docs/usage/simple-api.rst +125 -0
  28. sass_embedded-0.0.0/docs/versioning.rst +34 -0
  29. sass_embedded-0.0.0/examples/use_protocol.py +54 -0
  30. sass_embedded-0.0.0/hatch_build.py +47 -0
  31. sass_embedded-0.0.0/lefthook.yaml +21 -0
  32. sass_embedded-0.0.0/mise.toml +5 -0
  33. sass_embedded-0.0.0/pyproject.toml +68 -0
  34. sass_embedded-0.0.0/renovate.json5 +9 -0
  35. sass_embedded-0.0.0/src/sass_embedded/__init__.py +7 -0
  36. sass_embedded-0.0.0/src/sass_embedded/_const.py +7 -0
  37. sass_embedded-0.0.0/src/sass_embedded/dart_sass/.gitignore +1 -0
  38. sass_embedded-0.0.0/src/sass_embedded/dart_sass/__init__.py +122 -0
  39. sass_embedded-0.0.0/src/sass_embedded/dart_sass/__main__.py +23 -0
  40. sass_embedded-0.0.0/src/sass_embedded/dart_sass/installer.py +51 -0
  41. sass_embedded-0.0.0/src/sass_embedded/protocol/__init__.py +11 -0
  42. sass_embedded-0.0.0/src/sass_embedded/protocol/compiler.py +119 -0
  43. sass_embedded-0.0.0/src/sass_embedded/protocol/embedded_sass_pb2.py +129 -0
  44. sass_embedded-0.0.0/src/sass_embedded/protocol/embedded_sass_pb2.pyi +504 -0
  45. sass_embedded-0.0.0/src/sass_embedded/py.typed +0 -0
  46. sass_embedded-0.0.0/src/sass_embedded/simple.py +253 -0
  47. sass_embedded-0.0.0/tests/test-basics/extend/style.compressed.css +1 -0
  48. sass_embedded-0.0.0/tests/test-basics/extend/style.expanded.css +18 -0
  49. sass_embedded-0.0.0/tests/test-basics/extend/style.sass +25 -0
  50. sass_embedded-0.0.0/tests/test-basics/extend/style.scss +32 -0
  51. sass_embedded-0.0.0/tests/test-basics/mixins/style.compressed.css +1 -0
  52. sass_embedded-0.0.0/tests/test-basics/mixins/style.expanded.css +17 -0
  53. sass_embedded-0.0.0/tests/test-basics/mixins/style.sass +14 -0
  54. sass_embedded-0.0.0/tests/test-basics/mixins/style.scss +15 -0
  55. sass_embedded-0.0.0/tests/test-basics/modules/sass/_base.sass +7 -0
  56. sass_embedded-0.0.0/tests/test-basics/modules/sass/style.sass +6 -0
  57. sass_embedded-0.0.0/tests/test-basics/modules/scss/_base.scss +7 -0
  58. sass_embedded-0.0.0/tests/test-basics/modules/scss/style.scss +6 -0
  59. sass_embedded-0.0.0/tests/test-basics/modules/style.compressed.css +1 -0
  60. sass_embedded-0.0.0/tests/test-basics/modules/style.expanded.css +9 -0
  61. sass_embedded-0.0.0/tests/test-basics/nesting/style.compressed.css +1 -0
  62. sass_embedded-0.0.0/tests/test-basics/nesting/style.expanded.css +13 -0
  63. sass_embedded-0.0.0/tests/test-basics/nesting/style.sass +14 -0
  64. sass_embedded-0.0.0/tests/test-basics/nesting/style.scss +16 -0
  65. sass_embedded-0.0.0/tests/test-basics/operators/style.compressed.css +1 -0
  66. sass_embedded-0.0.0/tests/test-basics/operators/style.expanded.css +12 -0
  67. sass_embedded-0.0.0/tests/test-basics/operators/style.sass +11 -0
  68. sass_embedded-0.0.0/tests/test-basics/operators/style.scss +14 -0
  69. sass_embedded-0.0.0/tests/test-basics/variables/style.compressed.css +1 -0
  70. sass_embedded-0.0.0/tests/test-basics/variables/style.expanded.css +4 -0
  71. sass_embedded-0.0.0/tests/test-basics/variables/style.sass +6 -0
  72. sass_embedded-0.0.0/tests/test-basics/variables/style.scss +7 -0
  73. sass_embedded-0.0.0/tests/test-invalids/no-variables.scss +3 -0
  74. sass_embedded-0.0.0/tests/test_dart_sass.py +39 -0
  75. sass_embedded-0.0.0/tests/test_root.py +69 -0
  76. sass_embedded-0.0.0/tests/test_simple.py +226 -0
  77. sass_embedded-0.0.0/uv.lock +1196 -0
@@ -0,0 +1,57 @@
1
+ current_version = "0.1.0"
2
+
3
+ [[files]]
4
+ path = "pyproject.toml"
5
+ search = "version = \"{{current_version}}\""
6
+ replace = "version = \"{{new_version}}\""
7
+
8
+ [[files]]
9
+ path = "src/sass_embedded/__init__.py"
10
+ search = "__version__ = \"{{current_version}}\""
11
+ replace = "__version__ = \"{{new_version}}\""
12
+
13
+ [[files]]
14
+ path = "CHANGES.rst"
15
+ search = """
16
+ Version {{current_version}}
17
+ ========{% for _ in current_version %}={% endfor %}
18
+ """
19
+ replace = """
20
+ Version {{new_version}}
21
+ ========{% for _ in new_version %}={% endfor %}
22
+
23
+ :Release date: {{ now|date }} (Asia/Tokyo)
24
+ :Dart Sass version: 1.87.0
25
+
26
+ Breaking changes
27
+ ----------------
28
+
29
+ Features
30
+ --------
31
+
32
+ Fixes
33
+ -----
34
+
35
+ Others
36
+ ------
37
+
38
+ ver {{current_version}}
39
+ ===={% for _ in current_version %}={% endfor %}
40
+ """
41
+
42
+ # This file has other replace target, but currently not supported.
43
+ [[files]]
44
+ path = ".github/release-body.md"
45
+ regex = true
46
+ search = """
47
+ (.+)
48
+
49
+ - Changelog is https://github.com/attakei/sass-embedded-python/blob/v{{current_version}}/CHANGES.rst
50
+ - Source changes is (.+)
51
+ """
52
+ replace = """
53
+ REWRITE HERE
54
+
55
+ - Changelog is https://github.com/attakei/sass-embedded-python/blob/v{{new_version}}/CHANGES.rst
56
+ - Source changes is https://github.com/attakei/sass-embedded-python/compare/v{{current_version}}...v{{new_version}}
57
+ """
@@ -0,0 +1,2 @@
1
+ * text=auto eol=lf
2
+
@@ -0,0 +1,4 @@
1
+ First release
2
+
3
+ - Changelog is https://github.com/attakei/sass-embedded-python/blob/v0.1.0/CHANGES.rst
4
+ - Source changes is not exists
@@ -0,0 +1,84 @@
1
+ name: 'Run CI jobs'
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '**'
7
+ tags-ignore:
8
+ - '**'
9
+ pull_request:
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: jdx/mise-action@v2
18
+ - name: 'Configure dependencies'
19
+ run: |
20
+ uv sync --frozen --all-extras
21
+ - name: 'Run linters'
22
+ run: |
23
+ lefthook run pre-commit --all-files prebuild:
24
+ test:
25
+ needs: 'lint'
26
+ runs-on: '${{ matrix.runner }}'
27
+ strategy:
28
+ max-parallel: 4
29
+ matrix:
30
+ runner:
31
+ - 'ubuntu-latest'
32
+ - 'windows-latest'
33
+ - 'macos-latest'
34
+ - 'macos-13'
35
+ python:
36
+ - '3.9'
37
+ - '3.10'
38
+ - '3.11'
39
+ - '3.12'
40
+ - '3.13'
41
+ workspace: ['locked', 'latest']
42
+ steps:
43
+ - uses: actions/checkout@v4
44
+ - uses: jdx/mise-action@v2
45
+ env:
46
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47
+ - name: 'Configure workspace'
48
+ run: |
49
+ echo ${{ matrix.python }} > .python-version
50
+ uv sync --all-groups --all-extras ${{ (matrix.workspace == 'latest' && '-U') || '--frozen' }}
51
+ uv run python -m sass_embedded.dart_sass
52
+ - name: 'Run test'
53
+ run: |
54
+ uv run pytest
55
+ manylinux-test:
56
+ needs: 'lint'
57
+ runs-on: 'ubuntu-latest'
58
+ strategy:
59
+ max-parallel: 4
60
+ matrix:
61
+ image:
62
+ - 'quay.io/pypa/manylinux2014_x86_64'
63
+ container:
64
+ image: '${{ matrix.image }}'
65
+ steps:
66
+ - run: |
67
+ curl -LsSf https://astral.sh/uv/install.sh | sh
68
+ source $HOME/.local/bin/env
69
+ git clone https://github.com/attakei-lab/sass-embedded-python /opt/repo
70
+ cd /opt/repo
71
+ uv run python -m sass_embedded.dart_sass
72
+ uv run pytest
73
+ doc-test:
74
+ runs-on: ubuntu-latest
75
+ steps:
76
+ - uses: actions/checkout@v4
77
+ - uses: jdx/mise-action@v2
78
+ - name: 'Configure dependencies'
79
+ run: |
80
+ task setup-dev
81
+ - name: 'Run build'
82
+ run: |
83
+ task docs:build-linkcheck
84
+ task docs:build-dirhtml
@@ -0,0 +1,113 @@
1
+ name: Release version
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*.*.*'
7
+ workflow_dispatch:
8
+ inputs:
9
+ target:
10
+ description: 'Push target of package registry.'
11
+ required: false
12
+ default: 'testpypi'
13
+
14
+ jobs:
15
+ build-common:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: jdx/mise-action@v2
20
+ - name: Build distributes
21
+ run: |
22
+ uv build
23
+ - uses: actions/upload-artifact@v4
24
+ with:
25
+ name: dist-packages
26
+ path: dist
27
+ build-platform:
28
+ runs-on: ubuntu-latest
29
+ strategy:
30
+ max-parallel: 4
31
+ matrix:
32
+ platform:
33
+ - 'win_amd64'
34
+ - 'win_arm64'
35
+ - 'manylinux_2_17_x86_64'
36
+ - 'manylinux_2_17_aarch64'
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+ - uses: jdx/mise-action@v2
40
+ - name: Build wheel
41
+ run: |
42
+ uv sync
43
+ BUILD_FOR_PLATFORM=${{ matrix.platform }} uv build --wheel
44
+ - uses: actions/upload-artifact@v4
45
+ with:
46
+ name: 'dist-${{ matrix.platform }}'
47
+ path: dist
48
+ publish-test:
49
+ if: ${{ github.event_name == 'workflow_dispatch' && inputs.target == 'testpypi' }}
50
+ needs:
51
+ - 'build-common'
52
+ - 'build-platform'
53
+ runs-on: ubuntu-latest
54
+ environment:
55
+ name: 'testpypi'
56
+ url: 'https://test.pypi.org/p/sass-embedded'
57
+ permissions:
58
+ id-token: write
59
+ steps:
60
+ - uses: actions/download-artifact@v4
61
+ with:
62
+ path: dist
63
+ merge-multiple: true
64
+ - run: |
65
+ ls -lhR dist/
66
+ - uses: pypa/gh-action-pypi-publish@release/v1
67
+ with:
68
+ repository-url: '${{ secrets.PYPI_REPOSITORY_URL }}'
69
+ skip-existing: true
70
+ publish:
71
+ if: ${{ inputs.target == 'pypi' || github.event_name == 'push' }}
72
+ needs:
73
+ - 'build-common'
74
+ - 'build-platform'
75
+ runs-on: ubuntu-latest
76
+ environment:
77
+ name: 'pypi'
78
+ url: 'https://pypi.org/p/sass-embedded'
79
+ permissions:
80
+ id-token: write
81
+ steps:
82
+ - uses: actions/download-artifact@v4
83
+ with:
84
+ path: dist
85
+ merge-multiple: true
86
+ - run: |
87
+ ls -lhR dist/
88
+ - uses: pypa/gh-action-pypi-publish@release/v1
89
+ with:
90
+ repository-url: '${{ secrets.PYPI_REPOSITORY_URL }}'
91
+ skip-existing: true
92
+ gh-release:
93
+ if: ${{ github.event_name }} == 'push'
94
+ needs:
95
+ - 'build-common'
96
+ - 'build-platform'
97
+ runs-on: ubuntu-latest
98
+ permissions:
99
+ contents: write
100
+ steps:
101
+ - uses: actions/checkout@v4
102
+ - uses: actions/download-artifact@v4
103
+ with:
104
+ path: dist
105
+ merge-multiple: true
106
+ - uses: ncipollo/release-action@v1
107
+ with:
108
+ artifacts: 'dist/*'
109
+ bodyFile: '.github/release-body.md'
110
+ draft: false
111
+ name: Release ${{ github.ref_name }}
112
+ tag: ${{ github.ref }}
113
+ prerelease: false
@@ -0,0 +1,432 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/python,virtualenv,visualstudiocode,node,jetbrains+all
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=python,virtualenv,visualstudiocode,node,jetbrains+all
3
+
4
+ ### JetBrains+all ###
5
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
6
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
7
+
8
+ # User-specific stuff
9
+ .idea/**/workspace.xml
10
+ .idea/**/tasks.xml
11
+ .idea/**/usage.statistics.xml
12
+ .idea/**/dictionaries
13
+ .idea/**/shelf
14
+
15
+ # AWS User-specific
16
+ .idea/**/aws.xml
17
+
18
+ # Generated files
19
+ .idea/**/contentModel.xml
20
+
21
+ # Sensitive or high-churn files
22
+ .idea/**/dataSources/
23
+ .idea/**/dataSources.ids
24
+ .idea/**/dataSources.local.xml
25
+ .idea/**/sqlDataSources.xml
26
+ .idea/**/dynamic.xml
27
+ .idea/**/uiDesigner.xml
28
+ .idea/**/dbnavigator.xml
29
+
30
+ # Gradle
31
+ .idea/**/gradle.xml
32
+ .idea/**/libraries
33
+
34
+ # Gradle and Maven with auto-import
35
+ # When using Gradle or Maven with auto-import, you should exclude module files,
36
+ # since they will be recreated, and may cause churn. Uncomment if using
37
+ # auto-import.
38
+ # .idea/artifacts
39
+ # .idea/compiler.xml
40
+ # .idea/jarRepositories.xml
41
+ # .idea/modules.xml
42
+ # .idea/*.iml
43
+ # .idea/modules
44
+ # *.iml
45
+ # *.ipr
46
+
47
+ # CMake
48
+ cmake-build-*/
49
+
50
+ # Mongo Explorer plugin
51
+ .idea/**/mongoSettings.xml
52
+
53
+ # File-based project format
54
+ *.iws
55
+
56
+ # IntelliJ
57
+ out/
58
+
59
+ # mpeltonen/sbt-idea plugin
60
+ .idea_modules/
61
+
62
+ # JIRA plugin
63
+ atlassian-ide-plugin.xml
64
+
65
+ # Cursive Clojure plugin
66
+ .idea/replstate.xml
67
+
68
+ # SonarLint plugin
69
+ .idea/sonarlint/
70
+
71
+ # Crashlytics plugin (for Android Studio and IntelliJ)
72
+ com_crashlytics_export_strings.xml
73
+ crashlytics.properties
74
+ crashlytics-build.properties
75
+ fabric.properties
76
+
77
+ # Editor-based Rest Client
78
+ .idea/httpRequests
79
+
80
+ # Android studio 3.1+ serialized cache file
81
+ .idea/caches/build_file_checksums.ser
82
+
83
+ ### JetBrains+all Patch ###
84
+ # Ignore everything but code style settings and run configurations
85
+ # that are supposed to be shared within teams.
86
+
87
+ .idea/*
88
+
89
+ !.idea/codeStyles
90
+ !.idea/runConfigurations
91
+
92
+ ### Node ###
93
+ # Logs
94
+ logs
95
+ *.log
96
+ npm-debug.log*
97
+ yarn-debug.log*
98
+ yarn-error.log*
99
+ lerna-debug.log*
100
+ .pnpm-debug.log*
101
+
102
+ # Diagnostic reports (https://nodejs.org/api/report.html)
103
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
104
+
105
+ # Runtime data
106
+ pids
107
+ *.pid
108
+ *.seed
109
+ *.pid.lock
110
+
111
+ # Directory for instrumented libs generated by jscoverage/JSCover
112
+ lib-cov
113
+
114
+ # Coverage directory used by tools like istanbul
115
+ coverage
116
+ *.lcov
117
+
118
+ # nyc test coverage
119
+ .nyc_output
120
+
121
+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
122
+ .grunt
123
+
124
+ # Bower dependency directory (https://bower.io/)
125
+ bower_components
126
+
127
+ # node-waf configuration
128
+ .lock-wscript
129
+
130
+ # Compiled binary addons (https://nodejs.org/api/addons.html)
131
+ build/Release
132
+
133
+ # Dependency directories
134
+ node_modules/
135
+ jspm_packages/
136
+
137
+ # Snowpack dependency directory (https://snowpack.dev/)
138
+ web_modules/
139
+
140
+ # TypeScript cache
141
+ *.tsbuildinfo
142
+
143
+ # Optional npm cache directory
144
+ .npm
145
+
146
+ # Optional eslint cache
147
+ .eslintcache
148
+
149
+ # Optional stylelint cache
150
+ .stylelintcache
151
+
152
+ # Microbundle cache
153
+ .rpt2_cache/
154
+ .rts2_cache_cjs/
155
+ .rts2_cache_es/
156
+ .rts2_cache_umd/
157
+
158
+ # Optional REPL history
159
+ .node_repl_history
160
+
161
+ # Output of 'npm pack'
162
+ *.tgz
163
+
164
+ # Yarn Integrity file
165
+ .yarn-integrity
166
+
167
+ # dotenv environment variable files
168
+ .env
169
+ .env.development.local
170
+ .env.test.local
171
+ .env.production.local
172
+ .env.local
173
+
174
+ # parcel-bundler cache (https://parceljs.org/)
175
+ .cache
176
+ .parcel-cache
177
+
178
+ # Next.js build output
179
+ .next
180
+ out
181
+
182
+ # Nuxt.js build / generate output
183
+ .nuxt
184
+ dist
185
+
186
+ # Gatsby files
187
+ .cache/
188
+ # Comment in the public line in if your project uses Gatsby and not Next.js
189
+ # https://nextjs.org/blog/next-9-1#public-directory-support
190
+ # public
191
+
192
+ # vuepress build output
193
+ .vuepress/dist
194
+
195
+ # vuepress v2.x temp and cache directory
196
+ .temp
197
+
198
+ # Docusaurus cache and generated files
199
+ .docusaurus
200
+
201
+ # Serverless directories
202
+ .serverless/
203
+
204
+ # FuseBox cache
205
+ .fusebox/
206
+
207
+ # DynamoDB Local files
208
+ .dynamodb/
209
+
210
+ # TernJS port file
211
+ .tern-port
212
+
213
+ # Stores VSCode versions used for testing VSCode extensions
214
+ .vscode-test
215
+
216
+ # yarn v2
217
+ .yarn/cache
218
+ .yarn/unplugged
219
+ .yarn/build-state.yml
220
+ .yarn/install-state.gz
221
+ .pnp.*
222
+
223
+ ### Node Patch ###
224
+ # Serverless Webpack directories
225
+ .webpack/
226
+
227
+ # Optional stylelint cache
228
+
229
+ # SvelteKit build / generate output
230
+ .svelte-kit
231
+
232
+ ### Python ###
233
+ # Byte-compiled / optimized / DLL files
234
+ __pycache__/
235
+ *.py[cod]
236
+ *$py.class
237
+
238
+ # C extensions
239
+ *.so
240
+
241
+ # Distribution / packaging
242
+ .Python
243
+ build/
244
+ develop-eggs/
245
+ dist/
246
+ downloads/
247
+ eggs/
248
+ .eggs/
249
+ lib/
250
+ lib64/
251
+ parts/
252
+ sdist/
253
+ var/
254
+ wheels/
255
+ share/python-wheels/
256
+ *.egg-info/
257
+ .installed.cfg
258
+ *.egg
259
+ MANIFEST
260
+
261
+ # PyInstaller
262
+ # Usually these files are written by a python script from a template
263
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
264
+ *.manifest
265
+ *.spec
266
+
267
+ # Installer logs
268
+ pip-log.txt
269
+ pip-delete-this-directory.txt
270
+
271
+ # Unit test / coverage reports
272
+ htmlcov/
273
+ .tox/
274
+ .nox/
275
+ .coverage
276
+ .coverage.*
277
+ nosetests.xml
278
+ coverage.xml
279
+ *.cover
280
+ *.py,cover
281
+ .hypothesis/
282
+ .pytest_cache/
283
+ cover/
284
+
285
+ # Translations
286
+ *.mo
287
+ *.pot
288
+
289
+ # Django stuff:
290
+ local_settings.py
291
+ db.sqlite3
292
+ db.sqlite3-journal
293
+
294
+ # Flask stuff:
295
+ instance/
296
+ .webassets-cache
297
+
298
+ # Scrapy stuff:
299
+ .scrapy
300
+
301
+ # Sphinx documentation
302
+ docs/_build/
303
+
304
+ # PyBuilder
305
+ .pybuilder/
306
+ target/
307
+
308
+ # Jupyter Notebook
309
+ .ipynb_checkpoints
310
+
311
+ # IPython
312
+ profile_default/
313
+ ipython_config.py
314
+
315
+ # pyenv
316
+ # For a library or package, you might want to ignore these files since the code is
317
+ # intended to run in multiple environments; otherwise, check them in:
318
+ # .python-version
319
+
320
+ # pipenv
321
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
322
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
323
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
324
+ # install all needed dependencies.
325
+ #Pipfile.lock
326
+
327
+ # poetry
328
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
329
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
330
+ # commonly ignored for libraries.
331
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
332
+ #poetry.lock
333
+
334
+ # pdm
335
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
336
+ #pdm.lock
337
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
338
+ # in version control.
339
+ # https://pdm.fming.dev/#use-with-ide
340
+ .pdm.toml
341
+
342
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
343
+ __pypackages__/
344
+
345
+ # Celery stuff
346
+ celerybeat-schedule
347
+ celerybeat.pid
348
+
349
+ # SageMath parsed files
350
+ *.sage.py
351
+
352
+ # Environments
353
+ .venv
354
+ env/
355
+ venv/
356
+ ENV/
357
+ env.bak/
358
+ venv.bak/
359
+
360
+ # Spyder project settings
361
+ .spyderproject
362
+ .spyproject
363
+
364
+ # Rope project settings
365
+ .ropeproject
366
+
367
+ # mkdocs documentation
368
+ /site
369
+
370
+ # mypy
371
+ .mypy_cache/
372
+ .dmypy.json
373
+ dmypy.json
374
+
375
+ # Pyre type checker
376
+ .pyre/
377
+
378
+ # pytype static type analyzer
379
+ .pytype/
380
+
381
+ # Cython debug symbols
382
+ cython_debug/
383
+
384
+ # PyCharm
385
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
386
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
387
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
388
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
389
+ #.idea/
390
+
391
+ ### Python Patch ###
392
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
393
+ poetry.toml
394
+
395
+ # ruff
396
+ .ruff_cache/
397
+
398
+ # LSP config files
399
+ pyrightconfig.json
400
+
401
+ ### VirtualEnv ###
402
+ # Virtualenv
403
+ # http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
404
+ [Bb]in
405
+ [Ii]nclude
406
+ [Ll]ib
407
+ [Ll]ib64
408
+ [Ll]ocal
409
+ [Ss]cripts
410
+ pyvenv.cfg
411
+ pip-selfcheck.json
412
+
413
+ ### VisualStudioCode ###
414
+ .vscode/*
415
+ !.vscode/settings.json
416
+ !.vscode/tasks.json
417
+ !.vscode/launch.json
418
+ !.vscode/extensions.json
419
+ !.vscode/*.code-snippets
420
+
421
+ # Local History for Visual Studio Code
422
+ .history/
423
+
424
+ # Built Visual Studio Code Extensions
425
+ *.vsix
426
+
427
+ ### VisualStudioCode Patch ###
428
+ # Ignore all local history of files
429
+ .history
430
+ .ionide
431
+
432
+ # End of https://www.toptal.com/developers/gitignore/api/python,virtualenv,visualstudiocode,node,jetbrains+all
@@ -0,0 +1 @@
1
+ 3.10
@@ -0,0 +1,17 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: 'ubuntu-24.04'
5
+ tools:
6
+ python: '3.10'
7
+ jobs:
8
+ create_environment:
9
+ - asdf plugin add uv
10
+ - asdf install uv latest
11
+ - asdf global uv latest
12
+ install:
13
+ - uv sync --frozen --group=docs
14
+ - uv run sphinx-apidoc --remove-old --separate --no-toc --output-dir=docs/api/ src/sass_embedded
15
+ build:
16
+ html:
17
+ - uv run sphinx-build -T -b dirhtml docs $READTHEDOCS_OUTPUT/html