Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SKLearn Pipeine use LaplaceDistribution Class from Google DP (#408) #1

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ jobs:
fail-fast: false
max-parallel: 1
matrix:
os: [ubuntu-latest]
python-version: [3.9]
os: [ubuntu-18.04]
python-version: [3.8]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -91,6 +91,7 @@ jobs:
- uses: ammaraskar/sphinx-action@master
with:
docs-folder: "docs/"
# pre-build-command: "apt-get -y update && apt-get -y install gcc"

- name: Commit documentation changes
run: |
Expand All @@ -109,4 +110,4 @@ jobs:
branch: gh-pages
directory: gh-pages
force: true
github_token: ${{ secrets.GITHUB_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}
330 changes: 165 additions & 165 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,165 +1,165 @@
name: Publish PyDP

on:
release:
types: [published]

jobs:
deploy:
strategy:
fail-fast: false
max-parallel: 12
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.6, 3.7, 3.8, 3.9]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v2
with:
submodules: true

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Setup msbuild Windows
if: runner.os == 'Windows'
uses: microsoft/[email protected]

- name: Fix Paths Windows
# Make sure that tar.exe from Git is used not from Windows
if: runner.os == 'Windows'
run: |
@("C:\Program Files\Git\usr\bin") + (Get-Content $env:GITHUB_PATH) | Set-Content $env:GITHUB_PATH -Encoding utf8

- name: Cache Bazel Unix
# Not working on Windows: https://github.com/actions/cache/issues/576
if: runner.os != 'Windows'
uses: actions/[email protected]
with:
path: |
./bazel-PyDP
./bazel-bin
./bazel-cache
./bazel-out
key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }}

- name: Update environment variables Windows
if: runner.os == 'Windows'
# See:
# - On Bazel cache: https://docs.bazel.build/versions/master/output_directories.html
run: |
echo "BAZEL_CACHE_DIR=$env:USERPROFILE\_bazel_$env:USERNAME" >> $env:GITHUB_ENV

- name: Cache Bazel Windows
if: runner.os == 'Windows'
# https://stackoverflow.com/questions/66870002/github-actions-cache-maven-m2-repository-on-windows-environment-c-users-run
uses: actions/[email protected]
with:
path: |
./bazel-cache
key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }}

- name: Build Google DP Unix
if: runner.os != 'Windows'
timeout-minutes: 20
run: |
PYTHONHOME=$(which python)
PYTHONPATH=$(python -c "import sys; print([x for x in sys.path if 'site-packages' in x][0]);")
BAZEL_CONFIG_OS=$(python -c "print('${{ matrix.os }}'.split('-')[0].lower().replace('ubuntu', 'linux'))")
echo "Running: ${{ matrix.os }}"
echo "Using BAZEL_CONFIG_OS: $BAZEL_CONFIG_OS"
bazel --output_base ./bazel-cache build src/python:pydp \
--config $BAZEL_CONFIG_OS \
--verbose_failures --action_env=PYTHON_BIN_PATH=$PYTHONHOME \
--action_env=PYTHON_LIB_PATH=$PYTHONPATH
cp -f ./bazel-bin/src/bindings/_pydp.so ./src/pydp

- name: Build Google DP Windows
if: runner.os == 'Windows'
timeout-minutes: 20
run: |
$PYTHONHOME=$(python -c 'import sys; print(sys.executable);').replace('\', '/')
$PYTHONPATH=$(python -c "import sys; print([x for x in sys.path if 'site-packages' in x][0]);").replace('\', '/')
echo "PYTHONHOME=$PYTHONHOME"
echo "PYTHONPATH=$PYTHONPATH"
echo "Running: ${{ matrix.os }}"
bazel.exe --output_base ./bazel-cache build src/python:pydp --config windows --verbose_failures --action_env=PYTHON_BIN_PATH=$PYTHONHOME --action_env=PYTHON_LIB_PATH=$PYTHONPATH
copy ./bazel-bin/src/bindings/_pydp.so ./src/pydp/_pydp.pyd

- name: Upgrade pip
run: |
pip install --upgrade --user pip

- name: Install Poetry
run: |
pip install poetry

- name: Get poetry cache dir
id: poetry-cache
run: |
echo "::set-output name=dir::$(poetry config cache-dir)"

- name: poetry cache
uses: actions/cache@v2
with:
path: ${{ steps.poetry-cache.outputs.dir }}
key: ${{ runner.os }}-pip-py${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-py${{ matrix.python-version }}-

- name: Install dependencies
run: |
poetry install

- name: Build PyDP macOS
if: runner.os == 'macOS'
run: |
poetry run python setup.py build bdist_wheel --plat-name macosx_10_14_x86_64

- name: Build PyDP Linux / Windows
if: runner.os != 'macOS'
run: |
poetry run python setup.py build bdist_wheel

- name: Install Wheel Unix
if: runner.os != 'Windows'
run: |
pip install `find -L ./ -name "*.whl"`

- name: Install Wheel Windows
if: runner.os == 'Windows'
run: |
Get-ChildItem -Path ./ -Filter "*.whl" -Recurse -File | foreach {pip install $_.FullName}

- name: Import Package
run: |
python -c "import pydp; print(pydp.__version__)"

- name: Run Pytest
run: |
poetry run pytest tests -n auto

- name: Check Wheel Unix
if: runner.os != 'Windows'
run: |
poetry run twine check `find -L ./ -name "*.whl"`

- name: Check Wheel Windows
if: runner.os == 'Windows'
run: |
Get-ChildItem -Path ./ -Filter "*.whl" -Recurse -File | foreach {poetry run twine check $_.FullName}

- name: Renaming wheel
if: runner.os == 'Linux'
run: |
find . -name '*linux*.whl' -type f -exec bash -c 'mv "$1" "${1/linux/manylinux1}"' -- {} \;

- name: Publishing the wheel
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TOKEN }}
run: |
poetry run twine upload --skip-existing dist/*.whl
name: Publish PyDP
on:
release:
types: [published]
jobs:
deploy:
strategy:
fail-fast: false
max-parallel: 12
matrix:
os: [ubuntu-18.04, macos-latest, windows-latest]
python-version: [3.6, 3.7, 3.8, 3.9]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Setup msbuild Windows
if: runner.os == 'Windows'
uses: microsoft/[email protected]
- name: Fix Paths Windows
# Make sure that tar.exe from Git is used not from Windows
if: runner.os == 'Windows'
run: |
@("C:\Program Files\Git\usr\bin") + (Get-Content $env:GITHUB_PATH) | Set-Content $env:GITHUB_PATH -Encoding utf8
- name: Cache Bazel Unix
# Not working on Windows: https://github.com/actions/cache/issues/576
if: runner.os != 'Windows'
uses: actions/[email protected]
with:
path: |
./bazel-PyDP
./bazel-bin
./bazel-cache
./bazel-out
key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }}
- name: Update environment variables Windows
if: runner.os == 'Windows'
# See:
# - On Bazel cache: https://docs.bazel.build/versions/master/output_directories.html
run: |
echo "BAZEL_CACHE_DIR=$env:USERPROFILE\_bazel_$env:USERNAME" >> $env:GITHUB_ENV
- name: Cache Bazel Windows
if: runner.os == 'Windows'
# https://stackoverflow.com/questions/66870002/github-actions-cache-maven-m2-repository-on-windows-environment-c-users-run
uses: actions/[email protected]
with:
path: |
./bazel-cache
key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }}
- name: Build Google DP Unix
if: runner.os != 'Windows'
timeout-minutes: 20
run: |
PYTHONHOME=$(which python)
PYTHONPATH=$(python -c "import sys; print([x for x in sys.path if 'site-packages' in x][0]);")
BAZEL_CONFIG_OS=$(python -c "print('${{ matrix.os }}'.split('-')[0].lower().replace('ubuntu', 'linux'))")
echo "Running: ${{ matrix.os }}"
echo "Using BAZEL_CONFIG_OS: $BAZEL_CONFIG_OS"
bazel --output_base ./bazel-cache build src/python:pydp \
--config $BAZEL_CONFIG_OS \
--verbose_failures --action_env=PYTHON_BIN_PATH=$PYTHONHOME \
--action_env=PYTHON_LIB_PATH=$PYTHONPATH
cp -f ./bazel-bin/src/bindings/_pydp.so ./src/pydp
- name: Build Google DP Windows
if: runner.os == 'Windows'
timeout-minutes: 20
run: |
$PYTHONHOME=$(python -c 'import sys; print(sys.executable);').replace('\', '/')
$PYTHONPATH=$(python -c "import sys; print([x for x in sys.path if 'site-packages' in x][0]);").replace('\', '/')
echo "PYTHONHOME=$PYTHONHOME"
echo "PYTHONPATH=$PYTHONPATH"
echo "Running: ${{ matrix.os }}"
bazel.exe --output_base ./bazel-cache build src/python:pydp --config windows --verbose_failures --action_env=PYTHON_BIN_PATH=$PYTHONHOME --action_env=PYTHON_LIB_PATH=$PYTHONPATH
copy ./bazel-bin/src/bindings/_pydp.so ./src/pydp/_pydp.pyd
- name: Upgrade pip
run: |
pip install --upgrade --user pip
- name: Install Poetry
run: |
pip install poetry
- name: Get poetry cache dir
id: poetry-cache
run: |
echo "::set-output name=dir::$(poetry config cache-dir)"
- name: poetry cache
uses: actions/cache@v2
with:
path: ${{ steps.poetry-cache.outputs.dir }}
key: ${{ runner.os }}-pip-py${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-py${{ matrix.python-version }}-
- name: Install dependencies
run: |
poetry install
- name: Build PyDP macOS
if: runner.os == 'macOS'
run: |
poetry run python setup.py build bdist_wheel --plat-name macosx_10_14_x86_64
- name: Build PyDP Linux / Windows
if: runner.os != 'macOS'
run: |
poetry run python setup.py build bdist_wheel
- name: Install Wheel Unix
if: runner.os != 'Windows'
run: |
pip install `find -L ./ -name "*.whl"`
- name: Install Wheel Windows
if: runner.os == 'Windows'
run: |
Get-ChildItem -Path ./ -Filter "*.whl" -Recurse -File | foreach {pip install $_.FullName}
- name: Import Package
run: |
python -c "import pydp; print(pydp.__version__)"
- name: Run Pytest
run: |
poetry run pytest tests -n auto
- name: Check Wheel Unix
if: runner.os != 'Windows'
run: |
poetry run twine check `find -L ./ -name "*.whl"`
- name: Check Wheel Windows
if: runner.os == 'Windows'
run: |
Get-ChildItem -Path ./ -Filter "*.whl" -Recurse -File | foreach {poetry run twine check $_.FullName}
- name: Renaming wheel
if: runner.os == 'Linux'
run: |
find . -name '*linux*.whl' -type f -exec bash -c 'mv "$1" "${1/linux/manylinux1}"' -- {} \;
- name: Publishing the wheel
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TOKEN }}
run: |
poetry run twine upload --skip-existing dist/*.whl
Loading