Skip to content

Commit

Permalink
Initial Python
Browse files Browse the repository at this point in the history
  • Loading branch information
ErisMik committed Apr 9, 2024
1 parent df185c9 commit f1882f8
Show file tree
Hide file tree
Showing 73 changed files with 2,307 additions and 0 deletions.
94 changes: 94 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Bug report
description: Bugs in picoLLM
title: "picoLLM Issue: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
**Before** reporting an issue, make sure to read the [documentation](https://picovoice.ai/docs/picollm/) and search [existing issues](https://github.com/Picovoice/picollm/issues).
- type: checkboxes
id: check
attributes:
label: Have you checked the docs and existing issues?
description: Make sure you have checked all of the below before submitting an issue
options:
- label: I have read all of the relevant Picovoice picoLLM docs
required: true
- label: I have searched the existing issues for picoLLM
required: true
- type: dropdown
id: sdk
attributes:
label: SDK
options:
- Android
- C
- iOS
- Python
- Rust
- Web
validations:
required: true
- type: input
id: package
attributes:
label: "picoLLM package version"
placeholder: "1.0.0"
validations:
required: true
- type: input
id: framework
attributes:
label: "Framework version"
placeholder: "Python 3.7, .NET Core 3.1, etc."
validations:
required: true
- type: dropdown
id: platform
attributes:
label: Platform
options:
- Android
- iOS
- Web (WASM)
- Linux (x86_64)
- macOS (x86_64, arm64)
- Windows (x86_64)
- Raspberry Pi
- NVIDIA Jetson
- BeagleBone
validations:
required: true
- type: input
id: os
attributes:
label: "OS/Browser version"
placeholder: "macOS 11.0, Android 8.0, etc."
validations:
required: true
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expectation
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Documentation
description: Issues around documentation of picoLLM
title: "picoLLM Documentation Issue: "
labels: ["documentation"]
body:
- type: input
id: url
attributes:
label: What is the URL of the doc?
validations:
required: true
- type: textarea
id: issue
attributes:
label: What is the nature of the issue?
description: e.g. steps do not work, typos/grammar/spelling, out of date, etc.
validations:
required: true
34 changes: 34 additions & 0 deletions .github/workflows/python-codestyle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Python Codestyle

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- 'binding/python/*.py'
- 'demo/python/*.py'
- '.github/workflows/python-codestyle.yml'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- 'binding/python/*.py'
- 'demo/python/*.py'
- '.github/workflows/python-codestyle.yml'

jobs:
check-python-codestyle:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Install dependencies
run: pip install flake8 pep8-naming

- name: Check python codestyle
run: flake8 --ignore=F401,F403,F405 --max-line-length=120 binding/python demo/python
45 changes: 45 additions & 0 deletions .github/workflows/python-demos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Python Demos

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- '.github/workflows/python-demos.yml'
- 'demo/python/**'
- '!demo/python/README.md'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- '.github/workflows/python-demos.yml'
- 'demo/python/**'
- '!demo/python/README.md'

defaults:
run:
working-directory: demo/python

jobs:
build-self-hosted:
runs-on: ${{ matrix.machine }}

strategy:
matrix:
machine: [pv-linux, pv-ios, pv-windows]

steps:
- uses: actions/checkout@v3

- name: Build dependencies
run: |
python3 -m pip install -U pip setuptools
pip3 install wheel
cd ../../binding/python
python3 setup.py sdist bdist_wheel
pip3 install --force-reinstall dist/pvmvm-0.1.0-py3-none-any.whl
# - name: Download resource files
# run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/xpu/res/mvm-weights-4096x4096x256.bin/latest/mvm-weights-4096x4096x256.bin -o mvm-weights-4096x4096x256.bin

- name: Test
run: python3 mvm_demo_file.py --input_weight_file ./mvm-weights-4096x4096x256.bin
57 changes: 57 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Python

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- '.github/workflows/python.yml'
- 'binding/python/**'
- '!binding/python/README.md'
- 'lib/beaglebone/**'
- 'lib/jetson/**'
- 'lib/linux/**'
- 'lib/mac/**'
- 'lib/raspberry-pi/**'
- 'lib/windows/**'
- 'res/audio/**'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- '.github/workflows/python.yml'
- 'binding/python/**'
- '!binding/python/README.md'
- 'lib/beaglebone/**'
- 'lib/jetson/**'
- 'lib/linux/**'
- 'lib/mac/**'
- 'lib/raspberry-pi/**'
- 'lib/windows/**'
- 'res/audio/**'

defaults:
run:
working-directory: binding/python

jobs:
build-self-hosted:
runs-on: ${{ matrix.machine }}

strategy:
matrix:
machine: [pv-linux, pv-ios, pv-windows]

steps:
- uses: actions/checkout@v3

- name: Pre-build dependencies
run: python3 -m pip install --upgrade pip

- name: Install dependencies
run: pip3 install -r requirements.txt

- name: Download resource files
run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/xpu/res/mvm-weights-4096x4096x256.bin/latest/mvm-weights-4096x4096x256.bin -o mvm-weights-4096x4096x256.bin

- name: Test
run: python3 test_mvm.py ./mvm-weights-4096x4096x256.bin
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.DS_Store
.idea
__pycache__
mvm-weights*.bin
Loading

0 comments on commit f1882f8

Please sign in to comment.