Skip to content

Commit

Permalink
feat: initialize rattler-build python bindings (#1221)
Browse files Browse the repository at this point in the history
  • Loading branch information
wolfv authored Nov 27, 2024
1 parent 1bbfa54 commit de28b5d
Show file tree
Hide file tree
Showing 15 changed files with 14,728 additions and 2 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/python-bindings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Python bindings CI

on:
push:
branches: [ main ]
pull_request:
paths:
# When we change pyproject.toml, we want to ensure that the maturin builds still work
- test-data/**
- crates/**
- Cargo.*

# When something in the bindings themselves changes
- 'py-rattler-build/**/*'

# Or when this workflow changes
- '.github/workflows/python-bindings.yml'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
format_lint_test:
name: Format, Lint and Test the Python bindings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.37.0
manifest-path: py-rattler-build/pixi.toml
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy, rustfmt
- name: Format and Lint
run: |
cd py-rattler-build
pixi run -e test lint
pixi run -e test fmt-check
- name: Run tests
run: |
cd py-rattler-build
pixi run -e test test --color=yes
78 changes: 78 additions & 0 deletions py-rattler-build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/target
!Cargo.lock
!pixi.lock

# Byte-compiled / optimized / DLL files
__pycache__/
.pytest_cache/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
.Python
.venv/
env/
bin/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
sdist/
var/
include/
man/
venv/
*.egg-info/
.installed.cfg
*.egg

# Installer logs
pip-log.txt
pip-delete-this-directory.txt
pip-selfcheck.json

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

# Rope
.ropeproject

# Django stuff:
*.log
*.pot

.DS_Store

# Sphinx documentation
docs/_build/

# MkDocs build
site/

# PyCharm
.idea/

# VSCode
.vscode/

# Pyenv
.python-version
.ruff_cache
Loading

0 comments on commit de28b5d

Please sign in to comment.