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

Packaging of Graphium 3.0 #531

Open
wants to merge 54 commits into
base: graphium_3.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
0db286f
working on packaging
Andrewq11 Oct 7, 2024
ec127fb
updating install script
Andrewq11 Oct 7, 2024
648ae10
packaging for pypi
Andrewq11 Oct 11, 2024
8d24f8f
packaging wip
Andrewq11 Oct 28, 2024
ad26fe9
conda package wip
Andrewq11 Oct 29, 2024
ffca704
removing ipu work
Andrewq11 Nov 5, 2024
3ae124c
Merge branch 'graphium_3.0' into andrew/packaging
Andrewq11 Nov 5, 2024
00daea5
debug wip
Andrewq11 Nov 5, 2024
f2d8f4e
Merge branch 'graphium_3.0' into andrew/packaging
Andrewq11 Nov 5, 2024
522dfb3
wip
Andrewq11 Nov 6, 2024
7530e7d
linking library that is now randomly needed
Andrewq11 Nov 6, 2024
6bfbcb7
packaging updates
Andrewq11 Nov 6, 2024
00f896d
doxygen, updating install docs, updating workflows
Andrewq11 Nov 6, 2024
65cf137
small comments
Andrewq11 Nov 6, 2024
95e0450
removing extra ipu file
Andrewq11 Nov 6, 2024
a000689
updating python version pinning
Andrewq11 Nov 6, 2024
7ce838e
fixing paste error
Andrewq11 Nov 6, 2024
0a4c1b6
updating pyproject.toml deps
Andrewq11 Nov 6, 2024
ea73e46
updating pyproject.toml deps
Andrewq11 Nov 6, 2024
072a4fa
deleting post-install script
Andrewq11 Nov 6, 2024
782b500
updating main page of graphium_cpp
Andrewq11 Nov 7, 2024
4d16e29
updating version pinnings
Andrewq11 Nov 7, 2024
6d193b4
doc updates, workflow updates
Andrewq11 Nov 7, 2024
73ffd37
updating testing workflow
Andrewq11 Nov 7, 2024
3050f60
updating test matrix
Andrewq11 Nov 7, 2024
bba8167
fix syntax err
Andrewq11 Nov 7, 2024
c72d45e
removing support for py39
Andrewq11 Nov 7, 2024
cc674bb
adding pytest to workflow
Andrewq11 Nov 7, 2024
bc03e1b
updating workflow
Andrewq11 Nov 7, 2024
004970e
reverting updated tests
Andrewq11 Nov 7, 2024
1368b4c
fixing os runner issue
Andrewq11 Nov 7, 2024
ed3264c
fixing os runner issue
Andrewq11 Nov 7, 2024
27ff22a
updating test workflow
Andrewq11 Nov 7, 2024
d70341b
updating env file for windows
Andrewq11 Nov 7, 2024
b9247bc
debug windows build
Andrewq11 Nov 7, 2024
9e29c69
Adding pytorch channel
Andrewq11 Nov 7, 2024
55b4076
updating linking order
Andrewq11 Nov 9, 2024
84d5489
updating compiler flags for windows
Andrewq11 Nov 12, 2024
79ce0f0
formatting & adding 3.10 windows test
Andrewq11 Nov 12, 2024
fe714d7
updating lib path for python 310, dll import error
Andrewq11 Nov 12, 2024
938ea74
debugging github runner
Andrewq11 Nov 12, 2024
f4275b1
adding new step for windows debug
Andrewq11 Nov 12, 2024
90dc934
windows runner debug
Andrewq11 Nov 12, 2024
1b1aa99
force re-install env
Andrewq11 Nov 12, 2024
050829d
force re-install rdkit
Andrewq11 Nov 12, 2024
17346f8
updating failing test on windows
Andrewq11 Nov 12, 2024
3a10b45
fixing CI on Windows & re-enabling other OS'
Andrewq11 Nov 13, 2024
03a1a5f
black format
Andrewq11 Nov 13, 2024
773d188
Changed the overview page to match the Readme
DomInvivo Nov 13, 2024
a4bab4e
add env_windows.yml note to developer install
Andrewq11 Nov 13, 2024
2f4ebf5
adding os-specific env files
Andrewq11 Nov 13, 2024
da58ea8
minor doc change
DomInvivo Nov 14, 2024
c0b3805
removing rdkit pinning
Andrewq11 Nov 14, 2024
b7da3bc
removing rdkit version pinning
Andrewq11 Nov 14, 2024
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: 5 additions & 2 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ jobs:
- name: Setup mamba
uses: mamba-org/setup-micromamba@v1
with:
environment-file: env.yml
environment-file: requirements/linux_env.yml
environment-name: graphium
cache-environment: true
cache-downloads: true

- name: Install library
run: |
python -m pip install --no-deps .
python -m pip install --no-deps --no-build-isolation .
pip install typer-cli

- name: Configure git
Expand All @@ -45,6 +45,9 @@ jobs:

echo "Auto-generating typer docs"
typer graphium.cli.__main__ utils docs --name graphium --output docs/cli/graphium.md

echo "Generating Graphium C++ docs"
doxygen Doxyfile

echo "Get the gh-pages branch"
git fetch origin gh-pages
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Setup mamba
uses: mamba-org/setup-micromamba@v1
with:
environment-file: env.yml
environment-file: requirements/linux_env.yml
environment-name: graphium
cache-environment: true
cache-downloads: true
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
git push origin "${{ inputs.release-version }}"

- name: Install library
run: python -m pip install --no-deps .
run: python -m pip install --no-deps --no-build-isolation .

- name: Build the wheel and sdist
run: python -m build --no-isolation
Expand All @@ -112,6 +112,9 @@ jobs:

- name: Deploy the doc
run: |
echo "Generating Graphium C++ docs"
doxygen Doxyfile

echo "Get the gh-pages branch"
git fetch origin gh-pages

Expand Down
45 changes: 24 additions & 21 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,49 +16,52 @@ jobs:
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.10"
pytorch-version: "2.0"
- python-version: "3.11"
pytorch-version: "2.0"
- python-version: "3.12"
pytorch-version: "2.3"
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.10", "3.11"] # -> Will re-enable support for py312 once pyg is released, "3.10",

runs-on: "ubuntu-latest"
runs-on: ${{ matrix.os }}
timeout-minutes: 30

defaults:
run:
shell: bash -l {0}

name: |
regular_env -
python=${{ matrix.python-version }} -
pytorch=${{ matrix.pytorch-version }}
regular_env -
python=${{ matrix.python-version }} -
os=${{ matrix.os }}

steps:
- name: Checkout the code
uses: actions/checkout@v3

- name: Set OS-specific environment file to use
run: |
if [ "${{ matrix.os }}" == "windows-latest" ]; then
echo "ENV_FILE=windows_env.yml" >> $GITHUB_ENV
elif [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
echo "ENV_FILE=linux_env.yml" >> $GITHUB_ENV
elif [ "${{ matrix.os }}" == "macos-latest" ]; then
echo "ENV_FILE=osx_env.yml" >> $GITHUB_ENV
fi

- name: Setup mamba
uses: mamba-org/setup-micromamba@v1
with:
environment-file: env.yml
environment-file: requirements/${{ env.ENV_FILE }}
environment-name: graphium
cache-environment: true
cache-downloads: true
create-args: >-
python=${{ matrix.python-version }}
pytorch=${{ matrix.pytorch-version }}


- name: Install library
run: python -m pip install --no-deps -e . # `-e` required for correct `coverage` run.

- name: Install test dependencies
run: micromamba install -c conda-forge pytdc # Required to run the `test_finetuning.py`
run: python -m pip install --no-deps --no-build-isolation -e . -v # `-e` required for correct `coverage` run.

- name: Install C++ library
run: cd graphium/graphium_cpp && git clone https://github.com/pybind/pybind11.git && export PYTHONPATH=$PYTHONPATH:./pybind11 && python -m pip install . && cd ../..
- name: Run tests
run: |
python -c "import rdkit; print('RDKit version:', rdkit.__version__)"
pytest

- name: Test CLI
run: graphium --help
Expand All @@ -74,4 +77,4 @@ jobs:
name: codecov-umbrella
fail_ci_if_error: false
verbose: false
env_vars: ${{ matrix.python-version }},${{ matrix.pytorch-version }}
env_vars: ${{ matrix.python-version }}
Loading
Loading