sqlce 0.1.1__tar.gz → 0.1.2__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 (90) hide show
  1. sqlce-0.1.2/.github/workflows/release.yml +162 -0
  2. {sqlce-0.1.1 → sqlce-0.1.2}/PKG-INFO +20 -2
  3. {sqlce-0.1.1 → sqlce-0.1.2}/README.md +13 -1
  4. {sqlce-0.1.1 → sqlce-0.1.2}/core/CMakeLists.txt +16 -1
  5. {sqlce-0.1.1 → sqlce-0.1.2}/pyproject.toml +10 -1
  6. {sqlce-0.1.1 → sqlce-0.1.2}/requirements.txt +1 -0
  7. sqlce-0.1.1/.github/workflows/release.yml +0 -78
  8. {sqlce-0.1.1 → sqlce-0.1.2}/.gitignore +0 -0
  9. {sqlce-0.1.1 → sqlce-0.1.2}/CMakeLists.txt +0 -0
  10. {sqlce-0.1.1 → sqlce-0.1.2}/LICENSE +0 -0
  11. {sqlce-0.1.1 → sqlce-0.1.2}/bindings/CMakeLists.txt +0 -0
  12. {sqlce-0.1.1 → sqlce-0.1.2}/bindings/src/module.cpp +0 -0
  13. {sqlce-0.1.1 → sqlce-0.1.2}/bindings/src/value_convert.cpp +0 -0
  14. {sqlce-0.1.1 → sqlce-0.1.2}/bindings/src/value_convert.hpp +0 -0
  15. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/application/ColumnSchema.hpp +0 -0
  16. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/application/SdfDatabase.hpp +0 -0
  17. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/ColumnDef.hpp +0 -0
  18. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/ColumnType.hpp +0 -0
  19. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/ColumnValue.hpp +0 -0
  20. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/DateTimeValue.hpp +0 -0
  21. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/EncryptionMode.hpp +0 -0
  22. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/Guid.hpp +0 -0
  23. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/IPageCipher.hpp +0 -0
  24. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/IPageStorage.hpp +0 -0
  25. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/NumericValue.hpp +0 -0
  26. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/PageLayout.hpp +0 -0
  27. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/Row.hpp +0 -0
  28. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/domain/TableDef.hpp +0 -0
  29. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/infrastructure/AesCbc.hpp +0 -0
  30. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/infrastructure/BinaryReader.hpp +0 -0
  31. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/infrastructure/FileStorage.hpp +0 -0
  32. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/infrastructure/PageView.hpp +0 -0
  33. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/infrastructure/Sha256.hpp +0 -0
  34. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/infrastructure/Sha512.hpp +0 -0
  35. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/CatalogPageScanner.hpp +0 -0
  36. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/CatalogRow.hpp +0 -0
  37. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/CatalogRowDecoder.hpp +0 -0
  38. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/CatalogSchema.hpp +0 -0
  39. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/ICatalogPageScanner.hpp +0 -0
  40. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/ICatalogRowDecoder.hpp +0 -0
  41. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/ILobChainRegistry.hpp +0 -0
  42. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/IRowDecoder.hpp +0 -0
  43. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/ITableCatalogBuilder.hpp +0 -0
  44. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/LobChainRegistry.hpp +0 -0
  45. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/RowDecoder.hpp +0 -0
  46. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/SdfPageCipher.hpp +0 -0
  47. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/TableCatalogBuilder.hpp +0 -0
  48. {sqlce-0.1.1 → sqlce-0.1.2}/core/include/sdf/parsing/TextDecoder.hpp +0 -0
  49. {sqlce-0.1.1 → sqlce-0.1.2}/core/main.cpp +0 -0
  50. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/application/SdfDatabase.cpp +0 -0
  51. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/ColumnDef.cpp +0 -0
  52. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/ColumnType.cpp +0 -0
  53. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/ColumnValue.cpp +0 -0
  54. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/DateTimeValue.cpp +0 -0
  55. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/Guid.cpp +0 -0
  56. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/NumericValue.cpp +0 -0
  57. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/Row.cpp +0 -0
  58. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/domain/TableDef.cpp +0 -0
  59. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/infrastructure/AesCbc.cpp +0 -0
  60. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/infrastructure/BinaryReader.cpp +0 -0
  61. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/infrastructure/FileStorage.cpp +0 -0
  62. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/infrastructure/PageView.cpp +0 -0
  63. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/infrastructure/Sha256.cpp +0 -0
  64. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/infrastructure/Sha512.cpp +0 -0
  65. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/CatalogPageScanner.cpp +0 -0
  66. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/CatalogRow.cpp +0 -0
  67. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/CatalogRowDecoder.cpp +0 -0
  68. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/CatalogSchema.cpp +0 -0
  69. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/LobChainRegistry.cpp +0 -0
  70. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/RowDecoder.cpp +0 -0
  71. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/SdfPageCipher.cpp +0 -0
  72. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/TableCatalogBuilder.cpp +0 -0
  73. {sqlce-0.1.1 → sqlce-0.1.2}/core/src/parsing/TextDecoder.cpp +0 -0
  74. {sqlce-0.1.1 → sqlce-0.1.2}/core/tests/CMakeLists.txt +0 -0
  75. {sqlce-0.1.1 → sqlce-0.1.2}/core/tests/count_test.cpp +0 -0
  76. {sqlce-0.1.1 → sqlce-0.1.2}/docs/CONVENTIONS.md +0 -0
  77. {sqlce-0.1.1 → sqlce-0.1.2}/docs/build.txt +0 -0
  78. {sqlce-0.1.1 → sqlce-0.1.2}/docs/en/cpp.md +0 -0
  79. {sqlce-0.1.1 → sqlce-0.1.2}/docs/en/python.md +0 -0
  80. {sqlce-0.1.1 → sqlce-0.1.2}/docs/ru/cpp.md +0 -0
  81. {sqlce-0.1.1 → sqlce-0.1.2}/docs/ru/python.md +0 -0
  82. {sqlce-0.1.1 → sqlce-0.1.2}/main.py +0 -0
  83. {sqlce-0.1.1 → sqlce-0.1.2}/python/sqlce/__init__.py +0 -0
  84. {sqlce-0.1.1 → sqlce-0.1.2}/python/sqlce/__init__.pyi +0 -0
  85. {sqlce-0.1.1 → sqlce-0.1.2}/python/sqlce/_sdf_native.pyi +0 -0
  86. {sqlce-0.1.1 → sqlce-0.1.2}/research/catalog_parse/sdf_pages.py +0 -0
  87. {sqlce-0.1.1 → sqlce-0.1.2}/research/catalog_parse/syscatalog.py +0 -0
  88. {sqlce-0.1.1 → sqlce-0.1.2}/research/sdf_d3.py +0 -0
  89. {sqlce-0.1.1 → sqlce-0.1.2}/research/sdf_d4.py +0 -0
  90. {sqlce-0.1.1 → sqlce-0.1.2}/research/sdf_reader.py +0 -0
@@ -0,0 +1,162 @@
1
+ name: Build and release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ jobs:
8
+ build-linux:
9
+ name: Build wheel (Linux)
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+
14
+ - name: Build wheels
15
+ uses: pypa/cibuildwheel@v2.21.3
16
+ env:
17
+ CIBW_ARCHS_LINUX: x86_64
18
+ CIBW_BUILD_VERBOSITY: 1
19
+
20
+ - name: Build sdist
21
+ run: |
22
+ python -m pip install --upgrade pip build
23
+ python -m build --sdist
24
+
25
+ - name: Collect wheels and sdist into one flat folder
26
+ run: |
27
+ mkdir -p collected
28
+ cp wheelhouse/*.whl collected/
29
+ cp dist/*.tar.gz collected/
30
+
31
+ - uses: actions/upload-artifact@v4
32
+ with:
33
+ name: dist-linux
34
+ path: collected/*
35
+
36
+ build-windows:
37
+ name: Build wheel (Windows)
38
+ runs-on: windows-latest
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+
42
+ - name: Build wheels
43
+ uses: pypa/cibuildwheel@v2.21.3
44
+ env:
45
+ CIBW_ARCHS_WINDOWS: AMD64
46
+ CIBW_BUILD_VERBOSITY: 1
47
+ CIBW_CMAKE_ARGS: "-DSDF_BUILD_PYTHON_BINDINGS=ON"
48
+
49
+ - uses: actions/upload-artifact@v4
50
+ with:
51
+ name: dist-windows
52
+ path: wheelhouse/*
53
+
54
+ build-cpp-linux:
55
+ name: Build C++ library (Linux, ${{ matrix.link }})
56
+ runs-on: ubuntu-latest
57
+ strategy:
58
+ matrix:
59
+ link: [static, shared]
60
+ steps:
61
+ - uses: actions/checkout@v4
62
+
63
+ - name: Configure CMake
64
+ run: |
65
+ cmake -S . -B build \
66
+ -DCMAKE_BUILD_TYPE=Release \
67
+ -DBUILD_SHARED_LIBS=${{ matrix.link == 'shared' && 'ON' || 'OFF' }}
68
+
69
+ - name: Build libsdf
70
+ run: cmake --build build --target libsdf -j
71
+
72
+ - name: Package library + headers
73
+ run: |
74
+ version="${GITHUB_REF_NAME#v}"
75
+ pkg="libsdf-${version}-linux-x86_64-${{ matrix.link }}"
76
+ mkdir -p "$pkg/lib" "$pkg/include"
77
+ cp build/dist/lib/libsdf.* "$pkg/lib/"
78
+ cp -r core/include/. "$pkg/include/"
79
+ tar -czf "${pkg}.tar.gz" "$pkg"
80
+
81
+ - uses: actions/upload-artifact@v4
82
+ with:
83
+ name: cpp-linux-${{ matrix.link }}
84
+ path: libsdf-*.tar.gz
85
+
86
+ build-cpp-windows:
87
+ name: Build C++ library (Windows, ${{ matrix.link }})
88
+ runs-on: windows-latest
89
+ strategy:
90
+ matrix:
91
+ link: [static, shared]
92
+ steps:
93
+ - uses: actions/checkout@v4
94
+
95
+ - name: Configure CMake
96
+ shell: pwsh
97
+ run: |
98
+ $shared = if ("${{ matrix.link }}" -eq "shared") { "ON" } else { "OFF" }
99
+ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=$shared
100
+
101
+ - name: Build libsdf
102
+ run: cmake --build build --target libsdf --config Release -j
103
+
104
+ - name: Package library + headers
105
+ shell: pwsh
106
+ run: |
107
+ $version = "${env:GITHUB_REF_NAME}" -replace '^v', ''
108
+ $pkg = "libsdf-$version-windows-x86_64-${{ matrix.link }}"
109
+ New-Item -ItemType Directory -Force -Path "$pkg/lib" | Out-Null
110
+ New-Item -ItemType Directory -Force -Path "$pkg/include" | Out-Null
111
+ Copy-Item "build/dist/lib/libsdf.*" "$pkg/lib/"
112
+ Copy-Item -Recurse "core/include/*" "$pkg/include/"
113
+ Compress-Archive -Path $pkg -DestinationPath "$pkg.zip"
114
+
115
+ - uses: actions/upload-artifact@v4
116
+ with:
117
+ name: cpp-windows-${{ matrix.link }}
118
+ path: libsdf-*.zip
119
+
120
+ publish:
121
+ name: Publish to PyPI
122
+ needs: [build-linux, build-windows]
123
+ runs-on: ubuntu-latest
124
+ environment: pypi
125
+ permissions:
126
+ id-token: write
127
+ steps:
128
+ - uses: actions/download-artifact@v4
129
+ with:
130
+ pattern: dist-*
131
+ path: dist
132
+ merge-multiple: true
133
+
134
+ - name: Publish to PyPI
135
+ uses: pypa/gh-action-pypi-publish@release/v1
136
+ with:
137
+ packages-dir: dist
138
+
139
+ publish-release:
140
+ name: Publish GitHub Release
141
+ needs: [build-cpp-linux, build-cpp-windows, build-linux, build-windows]
142
+ runs-on: ubuntu-latest
143
+ permissions:
144
+ contents: write
145
+ steps:
146
+ - uses: actions/download-artifact@v4
147
+ with:
148
+ pattern: cpp-*
149
+ path: release-assets
150
+ merge-multiple: true
151
+
152
+ - uses: actions/download-artifact@v4
153
+ with:
154
+ pattern: dist-*
155
+ path: release-assets
156
+ merge-multiple: true
157
+
158
+ - name: Create GitHub Release
159
+ uses: softprops/action-gh-release@v2
160
+ with:
161
+ files: release-assets/*
162
+ generate_release_notes: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sqlce
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Cross-platform lib for reading SQL Server CE (.sdf)
5
5
  Author-Email: boykopovar <boykopovar@gmail.com>
6
6
  License: MIT
@@ -19,6 +19,12 @@ Classifier: Operating System :: POSIX :: Linux
19
19
  Project-URL: Homepage, https://github.com/boykopovar/sqlce
20
20
  Project-URL: Issues, https://github.com/boykopovar/sqlce/issues
21
21
  Requires-Python: >=3.8
22
+ Provides-Extra: dev
23
+ Requires-Dist: scikit-build-core>=0.10; extra == "dev"
24
+ Requires-Dist: pybind11>=2.12; extra == "dev"
25
+ Requires-Dist: build; extra == "dev"
26
+ Requires-Dist: twine; extra == "dev"
27
+ Requires-Dist: pytest; extra == "dev"
22
28
  Description-Content-Type: text/markdown
23
29
 
24
30
  # sqlce
@@ -38,6 +44,16 @@ Description-Content-Type: text/markdown
38
44
  pip install sqlce
39
45
  ```
40
46
 
47
+ ```python
48
+ from sqlce import SdfDatabase
49
+
50
+ db = SdfDatabase("example.sdf", password="secret123")
51
+
52
+ for table_name in db.list_tables():
53
+ print(table_name, db.table_schema(table_name))
54
+ for row in db.read_table(table_name):
55
+ print(row)
56
+ ```
41
57
 
42
58
  Текущая [реализация](main.py) поддерживает чтение (поддерживается передача пароля) списка таблиц, структуры таблиц, содержимого записей. Использует c++.
43
59
 
@@ -45,4 +61,6 @@ pip install sqlce
45
61
 
46
62
  [Documentation](docs/en/python.md)
47
63
 
48
- [Соглашения по написанию кода](docs/CONVENTIONS.md)
64
+ [Соглашения по написанию кода](docs/CONVENTIONS.md) (PR приветствуются)
65
+
66
+ > Исключительно для интероперабельности с существующими файлами `.sdf` формата. Не содержит оригинальный код продукта.
@@ -15,6 +15,16 @@
15
15
  pip install sqlce
16
16
  ```
17
17
 
18
+ ```python
19
+ from sqlce import SdfDatabase
20
+
21
+ db = SdfDatabase("example.sdf", password="secret123")
22
+
23
+ for table_name in db.list_tables():
24
+ print(table_name, db.table_schema(table_name))
25
+ for row in db.read_table(table_name):
26
+ print(row)
27
+ ```
18
28
 
19
29
  Текущая [реализация](main.py) поддерживает чтение (поддерживается передача пароля) списка таблиц, структуры таблиц, содержимого записей. Использует c++.
20
30
 
@@ -22,4 +32,6 @@ pip install sqlce
22
32
 
23
33
  [Documentation](docs/en/python.md)
24
34
 
25
- [Соглашения по написанию кода](docs/CONVENTIONS.md)
35
+ [Соглашения по написанию кода](docs/CONVENTIONS.md) (PR приветствуются)
36
+
37
+ > Исключительно для интероперабельности с существующими файлами `.sdf` формата. Не содержит оригинальный код продукта.
@@ -36,7 +36,14 @@ add_library(libsdf
36
36
  src/application/SdfDatabase.cpp
37
37
  )
38
38
 
39
- set_target_properties(libsdf PROPERTIES PREFIX "" OUTPUT_NAME "libsdf" POSITION_INDEPENDENT_CODE ON)
39
+ set_target_properties(libsdf PROPERTIES
40
+ PREFIX ""
41
+ OUTPUT_NAME "libsdf"
42
+ POSITION_INDEPENDENT_CODE ON
43
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/dist/lib"
44
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/dist/lib"
45
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/dist/lib"
46
+ )
40
47
 
41
48
  target_include_directories(libsdf PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
42
49
 
@@ -57,6 +64,14 @@ if(MSVC)
57
64
  target_compile_definitions(sdf_dump PRIVATE NOMINMAX _CRT_SECURE_NO_WARNINGS)
58
65
  else()
59
66
  target_compile_options(sdf_dump PRIVATE -Wall -Wextra)
67
+ if(MINGW)
68
+ target_link_options(sdf_dump PRIVATE
69
+ -static
70
+ -static-libgcc
71
+ -static-libstdc++
72
+ -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive
73
+ )
74
+ endif()
60
75
  endif()
61
76
 
62
77
  enable_testing()
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "sqlce"
7
- version = "0.1.1"
7
+ version = "0.1.2"
8
8
  description = "Cross-platform lib for reading SQL Server CE (.sdf)"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -52,3 +52,12 @@ archs = ["x86_64"]
52
52
 
53
53
  [tool.cibuildwheel.windows]
54
54
  archs = ["AMD64"]
55
+
56
+ [project.optional-dependencies]
57
+ dev = [
58
+ "scikit-build-core>=0.10",
59
+ "pybind11>=2.12",
60
+ "build",
61
+ "twine",
62
+ "pytest",
63
+ ]
@@ -2,3 +2,4 @@ pybind11>=2.12
2
2
  scikit-build-core>=0.10
3
3
  twine
4
4
  build
5
+ pytest
@@ -1,78 +0,0 @@
1
- name: Build and publish
2
-
3
- on:
4
- push:
5
- tags:
6
- - "v*"
7
-
8
- jobs:
9
- build-linux:
10
- name: Build wheel (Linux)
11
- runs-on: ubuntu-latest
12
- steps:
13
- - uses: actions/checkout@v4
14
-
15
- - name: Build wheels
16
- uses: pypa/cibuildwheel@v2.21.3
17
- env:
18
- CIBW_ARCHS_LINUX: x86_64
19
- CIBW_BUILD_VERBOSITY: 1
20
-
21
- - name: Build sdist
22
- run: |
23
- python -m pip install --upgrade pip build
24
- python -m build --sdist
25
-
26
- - name: Collect wheels and sdist into one flat folder
27
- run: |
28
- mkdir -p collected
29
- cp wheelhouse/*.whl collected/
30
- cp dist/*.tar.gz collected/
31
-
32
- - uses: actions/upload-artifact@v4
33
- with:
34
- name: dist-linux
35
- path: collected/*
36
-
37
- build-windows:
38
- name: Build wheel (Windows)
39
- runs-on: windows-latest
40
- steps:
41
- - uses: actions/checkout@v4
42
-
43
- - uses: actions/setup-python@v5
44
- with:
45
- python-version: "3.11"
46
-
47
- - name: Install build tools
48
- run: |
49
- python -m pip install --upgrade pip
50
- pip install build
51
-
52
- - name: Build wheel
53
- run: |
54
- python -m build --wheel -C cmake.args="-DSDF_BUILD_PYTHON_BINDINGS=ON"
55
-
56
- - uses: actions/upload-artifact@v4
57
- with:
58
- name: dist-windows
59
- path: dist/*
60
-
61
- publish:
62
- name: Publish to PyPI
63
- needs: [build-linux, build-windows]
64
- runs-on: ubuntu-latest
65
- environment: pypi
66
- permissions:
67
- id-token: write
68
- steps:
69
- - uses: actions/download-artifact@v4
70
- with:
71
- pattern: dist-*
72
- path: dist
73
- merge-multiple: true
74
-
75
- - name: Publish to PyPI
76
- uses: pypa/gh-action-pypi-publish@release/v1
77
- with:
78
- packages-dir: dist
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