polars-random 0.1.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.
@@ -0,0 +1,23 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: pip
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ labels:
8
+ - skip-changelog
9
+ - dependencies
10
+ - package-ecosystem: cargo
11
+ directory: "/"
12
+ schedule:
13
+ interval: daily
14
+ labels:
15
+ - skip-changelog
16
+ - dependencies
17
+ - package-ecosystem: github-actions
18
+ directory: '/'
19
+ schedule:
20
+ interval: daily
21
+ labels:
22
+ - skip-changelog
23
+ - dependencies
@@ -0,0 +1,25 @@
1
+ name-template: 'v$RESOLVED_VERSION'
2
+ tag-template: 'v$RESOLVED_VERSION'
3
+ exclude-labels:
4
+ - 'dependencies'
5
+ - 'skip-changelog'
6
+ version-resolver:
7
+ major:
8
+ labels:
9
+ - 'breaking-change'
10
+ minor:
11
+ labels:
12
+ - 'enhancement'
13
+ default: patch
14
+ categories:
15
+ - title: '⚠ Breaking changes'
16
+ label: 'breaking-change'
17
+ - title: 'Features'
18
+ labels: 'enhancement'
19
+ - title: 'Bug Fixes'
20
+ labels: 'bug'
21
+ change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
22
+ template: |
23
+ ## Changes
24
+
25
+ $CHANGES
@@ -0,0 +1,22 @@
1
+ name: Docs Publish
2
+ on:
3
+ release:
4
+ types:
5
+ - published
6
+ jobs:
7
+ deploy:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+ - name: Install uv
12
+ uses: astral-sh/setup-uv@v5
13
+ with:
14
+ enable-cache: true
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.11"
19
+ - name: Install Dependencies
20
+ run: uv sync --frozen
21
+ - name: Deploy Docs
22
+ run: uv run mkdocs gh-deploy --force
@@ -0,0 +1,108 @@
1
+ name: PyPi Publish
2
+ on:
3
+ release:
4
+ types:
5
+ - published
6
+ permissions:
7
+ contents: read
8
+ jobs:
9
+ linux:
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ target: [x86_64, x86, aarch64, armv7, ppc64le]
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.11"
19
+ - name: Build wheels
20
+ uses: PyO3/maturin-action@v1
21
+ with:
22
+ target: ${{ matrix.target }}
23
+ args: --release --out dist --find-interpreter
24
+ sccache: 'true'
25
+ manylinux: auto
26
+ - name: Upload wheels
27
+ uses: actions/upload-artifact@v4
28
+ with:
29
+ name: wheels-linux-${{ matrix.target }}
30
+ path: dist
31
+ windows:
32
+ runs-on: windows-latest
33
+ strategy:
34
+ matrix:
35
+ target: [x64, x86]
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+ - uses: actions/setup-python@v5
39
+ with:
40
+ python-version: "3.11"
41
+ architecture: ${{ matrix.target }}
42
+ - name: Build wheels
43
+ uses: PyO3/maturin-action@v1
44
+ with:
45
+ target: ${{ matrix.target }}
46
+ args: --release --out dist --find-interpreter
47
+ sccache: 'true'
48
+ - name: Upload wheels
49
+ uses: actions/upload-artifact@v4
50
+ with:
51
+ name: wheels-windows-${{ matrix.target }}
52
+ path: dist
53
+ macos:
54
+ runs-on: macos-latest
55
+ strategy:
56
+ matrix:
57
+ target: [x86_64, aarch64]
58
+ steps:
59
+ - uses: actions/checkout@v4
60
+ - uses: actions/setup-python@v5
61
+ with:
62
+ python-version: "3.11"
63
+ - name: Build wheels
64
+ uses: PyO3/maturin-action@v1
65
+ with:
66
+ target: ${{ matrix.target }}
67
+ args: --release --out dist --find-interpreter
68
+ sccache: 'true'
69
+ - name: Upload wheels
70
+ uses: actions/upload-artifact@v4
71
+ with:
72
+ name: wheels-macos-${{ matrix.target }}
73
+ path: dist
74
+ sdist:
75
+ runs-on: ubuntu-latest
76
+ steps:
77
+ - uses: actions/checkout@v4
78
+ - uses: actions/setup-python@v5
79
+ with:
80
+ python-version: "3.11"
81
+ - name: Build sdist
82
+ uses: PyO3/maturin-action@v1
83
+ with:
84
+ command: sdist
85
+ args: --out dist
86
+ - name: Upload sdist
87
+ uses: actions/upload-artifact@v4
88
+ with:
89
+ name: wheels-sdist
90
+ path: dist
91
+ release:
92
+ name: Release
93
+ runs-on: ubuntu-latest
94
+ permissions:
95
+ # For PyPI's trusted publishing.
96
+ id-token: write
97
+ if: "startsWith(github.ref, 'refs/tags/')"
98
+ needs: [linux, windows, macos, sdist]
99
+ steps:
100
+ - uses: actions/download-artifact@v4
101
+ - uses: actions/setup-python@v5
102
+ with:
103
+ python-version: "3.11"
104
+ - name: Publish to PyPI
105
+ uses: PyO3/maturin-action@v1
106
+ with:
107
+ command: upload
108
+ args: --non-interactive --skip-existing wheels-*/*
@@ -0,0 +1,16 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ update_release_draft:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: release-drafter/release-drafter@v6
13
+ with:
14
+ config-name: release_drafter_template.yml
15
+ env:
16
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,82 @@
1
+ name: Testing
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ env:
9
+ CARGO_TERM_COLOR: always
10
+ RUST_BACKTRACE: 1
11
+ RUSTFLAGS: "-D warnings"
12
+ PYTHON_VERSION: "3.9"
13
+ jobs:
14
+ clippy:
15
+ name: Clippy
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - name: Install Rust
20
+ run: |
21
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
22
+ - name: Cache dependencies
23
+ uses: Swatinem/rust-cache@v2
24
+ - name: Run cargo clippy
25
+ run: cargo clippy --all-targets -- --deny warnings
26
+ fmt:
27
+ name: Rustfmt
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - name: Install Rust
32
+ run: |
33
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
34
+ - name: Cache dependencies
35
+ uses: Swatinem/rust-cache@v2
36
+ - name: Run cargo fmt
37
+ run: cargo fmt --all -- --check
38
+ python-linting:
39
+ runs-on: ubuntu-latest
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ - name: Install uv
43
+ uses: astral-sh/setup-uv@v5
44
+ with:
45
+ enable-cache: true
46
+ - name: Set up Python
47
+ uses: actions/setup-python@v5
48
+ with:
49
+ python-version: ${{ env.PYTHON_VERSION }}
50
+ - name: Install Dependencies
51
+ run: |
52
+ uv sync --frozen
53
+ uv run maturin build
54
+ - name: Ruff format check
55
+ run: uv run ruff format polars_random tests --check
56
+ - name: Lint with ruff
57
+ run: uv run ruff check .
58
+ - name: mypy check
59
+ run: uv run mypy polars_random tests
60
+ testing:
61
+ strategy:
62
+ fail-fast: false
63
+ matrix:
64
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
65
+ os: [ubuntu-latest, windows-latest, macos-latest]
66
+ runs-on: ${{ matrix.os }}
67
+ steps:
68
+ - uses: actions/checkout@v4
69
+ - name: Install uv
70
+ uses: astral-sh/setup-uv@v5
71
+ with:
72
+ enable-cache: true
73
+ - name: Set up Python ${{ matrix.python-version }}
74
+ uses: actions/setup-python@v5
75
+ with:
76
+ python-version: ${{ matrix.python-version }}
77
+ - name: Install Dependencies
78
+ run: |
79
+ uv sync --frozen
80
+ uv run maturin build
81
+ - name: Test with pytest
82
+ run: uv run pytest
@@ -0,0 +1,144 @@
1
+
2
+ # Byte-compiled / optimized / DLL files
3
+ __pycache__/
4
+ *.py[cod]
5
+ *$py.class
6
+
7
+ # OS Files
8
+ *.swp
9
+ *.DS_Store
10
+
11
+ # C extensions
12
+ *.so
13
+
14
+ # Distribution / packaging
15
+ .Python
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ pip-wheel-metadata/
29
+ share/python-wheels/
30
+ *.egg-info/
31
+ .installed.cfg
32
+ *.egg
33
+ MANIFEST
34
+
35
+ # PyInstaller
36
+ # Usually these files are written by a python script from a template
37
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
38
+ *.manifest
39
+ *.spec
40
+
41
+ # Installer logs
42
+ pip-log.txt
43
+ pip-delete-this-directory.txt
44
+
45
+ # Unit test / coverage reports
46
+ htmlcov/
47
+ .tox/
48
+ .nox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ *.py,cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+ db.sqlite3-journal
68
+
69
+ # Flask stuff:
70
+ instance/
71
+ .webassets-cache
72
+
73
+ # Scrapy stuff:
74
+ .scrapy
75
+
76
+ # Sphinx documentation
77
+ docs/_build/
78
+
79
+ # PyBuilder
80
+ target/
81
+
82
+ # Jupyter Notebook
83
+ .ipynb_checkpoints
84
+
85
+ # pixi environments
86
+ .pixi
87
+
88
+ # IPython
89
+ profile_default/
90
+ ipython_config.py
91
+
92
+ # pyenv
93
+ .python-version
94
+
95
+ # pipenv
96
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
97
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
98
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
99
+ # install all needed dependencies.
100
+ #Pipfile.lock
101
+
102
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
103
+ __pypackages__/
104
+
105
+ # Celery stuff
106
+ celerybeat-schedule
107
+ celerybeat.pid
108
+
109
+ # SageMath parsed files
110
+ *.sage.py
111
+
112
+ # Environments
113
+ .env
114
+ .venv
115
+ env/
116
+ venv/
117
+ ENV/
118
+ env.bak/
119
+ venv.bak/
120
+
121
+ # Spyder project settings
122
+ .spyderproject
123
+ .spyproject
124
+
125
+ # Rope project settings
126
+ .ropeproject
127
+
128
+ # mkdocs documentation
129
+ /site
130
+
131
+ # mypy
132
+ .mypy_cache/
133
+ .dmypy.json
134
+ dmypy.json
135
+
136
+ # Pyre type checker
137
+ .pyre/
138
+
139
+ # editors
140
+ .idea
141
+ .vscode
142
+
143
+ # Rust
144
+ /target
@@ -0,0 +1,20 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0
4
+ hooks:
5
+ - id: check-added-large-files
6
+ - id: check-toml
7
+ - id: check-yaml
8
+ - id: debug-statements
9
+ - id: end-of-file-fixer
10
+ - id: trailing-whitespace
11
+ - repo: https://github.com/pre-commit/mirrors-mypy
12
+ rev: v1.14.1
13
+ hooks:
14
+ - id: mypy
15
+ - repo: https://github.com/astral-sh/ruff-pre-commit
16
+ rev: v0.9.0
17
+ hooks:
18
+ - id: ruff
19
+ args: [--fix, --exit-non-zero-on-fix]
20
+ - id: ruff-format