pyssaBSS 0.1.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,34 @@
1
+ name: Build and deploy docs
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main # rebuild docs on every push to main
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build_docs:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: "3.11"
18
+
19
+ - name: Install dependencies
20
+ run: |
21
+ pip install -e .
22
+ pip install sphinx sphinx-rtd-theme myst-parser sphinx-autodoc-typehints
23
+
24
+ - name: Build docs
25
+ run: |
26
+ cd docs
27
+ make html
28
+
29
+ - name: Deploy to GitHub Pages
30
+ uses: peaceiris/actions-gh-pages@v3
31
+ with:
32
+ github_token: ${{ secrets.GITHUB_TOKEN }}
33
+ publish_dir: docs/_build/html
34
+ enable_jekyll: false
@@ -0,0 +1,108 @@
1
+ name: Build and publish
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*" # only triggers when you push a tag like v0.1.0
7
+ workflow_dispatch: # allows manual trigger from GitHub UI for testing
8
+
9
+ jobs:
10
+ build_wheels:
11
+ name: Build wheels on ${{ matrix.os }}
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest, windows-latest]
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install uv
20
+ uses: astral-sh/setup-uv@v3
21
+
22
+ - name: Build wheels
23
+ uses: pypa/cibuildwheel@v2.21
24
+ env:
25
+ CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*"
26
+ CIBW_SKIP: "*-win32 *-manylinux_i686 *-musllinux*"
27
+ CIBW_TEST_COMMAND: "python -c \"import pyssaBSS; print(pyssaBSS.__version__)\""
28
+
29
+ - name: Upload wheels as artifacts
30
+ uses: actions/upload-artifact@v4
31
+ with:
32
+ name: wheels-${{ matrix.os }}
33
+ path: ./wheelhouse/*.whl
34
+
35
+ build_sdist:
36
+ name: Build source distribution
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+
41
+ - uses: actions/setup-python@v5
42
+ with:
43
+ python-version: "3.11"
44
+
45
+ - name: Build sdist
46
+ run: |
47
+ pip install build
48
+ python -m build --sdist
49
+
50
+ - name: Upload sdist as artifact
51
+ uses: actions/upload-artifact@v4
52
+ with:
53
+ name: sdist
54
+ path: dist/*.tar.gz
55
+
56
+ upload_testpypi:
57
+ name: Upload to TestPyPI
58
+ needs: [build_wheels, build_sdist]
59
+ runs-on: ubuntu-latest
60
+ permissions:
61
+ id-token: write
62
+ environment: testpypi # optional but good practice
63
+
64
+ steps:
65
+ - name: Download all artifacts
66
+ uses: actions/download-artifact@v4
67
+ with:
68
+ pattern: wheels-*
69
+ merge-multiple: true
70
+ path: dist/
71
+
72
+ - name: Download sdist
73
+ uses: actions/download-artifact@v4
74
+ with:
75
+ name: sdist
76
+ path: dist/
77
+
78
+ - name: Publish to TestPyPI
79
+ uses: pypa/gh-action-pypi-publish@release/v1
80
+ with:
81
+ repository-url: https://test.pypi.org/legacy/
82
+
83
+ upload_pypi:
84
+ name: Upload to PyPI
85
+ needs: upload_testpypi # only runs after TestPyPI succeeds
86
+ runs-on: ubuntu-latest
87
+ permissions:
88
+ id-token: write
89
+ environment: pypi # optional but good practice
90
+ # Extra safety — only publish to real PyPI on tagged releases
91
+ if: startsWith(github.ref, 'refs/tags/v')
92
+
93
+ steps:
94
+ - name: Download all artifacts
95
+ uses: actions/download-artifact@v4
96
+ with:
97
+ pattern: wheels-*
98
+ merge-multiple: true
99
+ path: dist/
100
+
101
+ - name: Download sdist
102
+ uses: actions/download-artifact@v4
103
+ with:
104
+ name: sdist
105
+ path: dist/
106
+
107
+ - name: Publish to PyPI
108
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,8 @@
1
+ .venv/
2
+ dist/
3
+
4
+ docs/_build/
5
+ docs/generated/
6
+
7
+ src/pyssaBSS/__pycache__/
8
+ src/pyssaBSS/joint_diag/__pycache__/
@@ -0,0 +1,15 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-22.04
5
+ tools:
6
+ python: "3.11"
7
+
8
+ sphinx:
9
+ configuration: docs/conf.py
10
+
11
+ python:
12
+ install:
13
+ - method: pip
14
+ path: .
15
+ - requirements: docs/requirements.txt
@@ -0,0 +1,15 @@
1
+ cmake_minimum_required(VERSION 3.15)
2
+ project(joint_diag LANGUAGES CXX)
3
+
4
+ set(CMAKE_CXX_STANDARD 17)
5
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
+
7
+ find_package(pybind11 CONFIG REQUIRED)
8
+
9
+ pybind11_add_module(_core
10
+ src/pyssaBSS/joint_diag/wrapper.cpp
11
+ src/pyssaBSS/joint_diag/cJADE.cpp
12
+ )
13
+
14
+ install(TARGETS _core
15
+ LIBRARY DESTINATION pyssaBSS/joint_diag)