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

Staging to main: Support python 3.10 and 3.11 #2079

Merged
merged 94 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
ffac856
Add support for Python 3.10 and 3.11
simonzhaoms Jun 6, 2023
ffd8b9e
Correct upper bound version for category_encoders
simonzhaoms Jun 7, 2023
644aa5d
Add tests for Python 3.10 and 3.11
simonzhaoms Jun 7, 2023
9003450
Remove dependencies that others require
simonzhaoms Jun 7, 2023
a157403
Merge in staging
simonzhaoms Jun 9, 2023
793ec87
Update nvidia-ml-py and tensorflow version
simonzhaoms Jun 9, 2023
1556eb4
Install system level dependencies for scipy
simonzhaoms Jun 9, 2023
34aee1d
Merge in staging
simonzhaoms Jun 9, 2023
890a3fe
Support from Python 3.8 to 3.11
simonzhaoms Jun 9, 2023
c7bb846
Remove unused system deps
simonzhaoms Jun 9, 2023
7f2e298
Drop python 3.11 because some packages do not support 3.11
simonzhaoms Jun 9, 2023
09069f7
Install dependencies for scipy in docker image
simonzhaoms Jun 10, 2023
643fed6
Change docker image
simonzhaoms Jun 10, 2023
db4c9c3
Add pip==20.1.1
simonzhaoms Jun 10, 2023
9e05e4f
Correct conda package format
simonzhaoms Jun 10, 2023
e1d6acf
Remove pip downgrade code
simonzhaoms Jun 10, 2023
b71c4ed
Use docker images for ubuntu 22.04
simonzhaoms Jun 11, 2023
3b4a641
Merge in main
SimonYansenZhao Sep 1, 2023
3cb052a
Merge in staging
SimonYansenZhao Sep 2, 2023
d80002e
Replace pandas.util.testing with pandas.testing
SimonYansenZhao Sep 2, 2023
e084412
Remove nonexistent argument check_less_precise of assert_frame_equal()
SimonYansenZhao Sep 2, 2023
a605404
Remove tests for sarplus for Python 3.7
SimonYansenZhao Sep 4, 2023
40361f4
Fixed error: 'DataFrame' object has no attribute 'append'
SimonYansenZhao Sep 4, 2023
9364c9b
Add hypothesis<6.83.1
SimonYansenZhao Sep 4, 2023
be86a29
Use ubuntu-22.04 instead of latest
SimonYansenZhao Sep 4, 2023
0641d95
Update comments
SimonYansenZhao Sep 4, 2023
334ea1a
Merge remote-tracking branch 'origin/simonz-dep-upgrade-20230606' int…
SimonYansenZhao Sep 4, 2023
60e847a
Add python 3.11
SimonYansenZhao Sep 4, 2023
313de47
Add python 3.11
SimonYansenZhao Sep 4, 2023
91be6ae
Add python 3.11
SimonYansenZhao Sep 4, 2023
015ce4a
Add python 3.11
SimonYansenZhao Sep 4, 2023
76901c6
Add python 3.11
SimonYansenZhao Sep 4, 2023
22ac9e2
Add python 3.11
SimonYansenZhao Sep 4, 2023
d0074c5
Merge remote-tracking branch 'origin/simonz-dep-upgrade-20230606' int…
SimonYansenZhao Sep 4, 2023
c3a7030
Remove python 3.11
SimonYansenZhao Sep 4, 2023
2664198
Update util.py
gazon1 Jan 5, 2024
292fdf5
Update util.py
gazon1 Jan 5, 2024
0c1933a
Update util.py
gazon1 Jan 5, 2024
fd865a3
Update documentation URL in setup.py
anargyri Jan 30, 2024
3d0894e
Merge pull request #2058 from recommenders-team/anargyri-update-doc-link
miguelgfierro Jan 30, 2024
1249199
Bug in github actions in python version
miguelgfierro Jan 31, 2024
aa5c4e1
Merge pull request #2059 from recommenders-team/bug/docs_python_version
miguelgfierro Jan 31, 2024
7205f2a
Update util.py
miguelgfierro Feb 7, 2024
2c22f5e
Merge pull request #2052 from gazon1/patch-1
miguelgfierro Feb 7, 2024
f5a15c8
Fix pandera in Python 3.7
anargyri Feb 9, 2024
cd7c206
Merge pull request #2061 from recommenders-team/andreas/fix_pandera
miguelgfierro Feb 12, 2024
00bc286
Update setup.py
anargyri Feb 13, 2024
4679844
Merge pull request #2062 from recommenders-team/anargyri-patch-1
anargyri Feb 13, 2024
c736241
Resolve issue #2018 (#2022)
SimonYansenZhao Feb 19, 2024
3149ae7
Merge in staging
SimonYansenZhao Feb 22, 2024
15fbf90
Pin pip=20.1.1
SimonYansenZhao Feb 22, 2024
a7f8346
Update dep versions
SimonYansenZhao Feb 22, 2024
9f9c815
Fix pandas import
SimonYansenZhao Feb 22, 2024
2fdf590
Set scipy <1.11.0 and sort dependencies alphabetically
SimonYansenZhao Feb 22, 2024
b2fef7a
Fix error caused by changes in scikit-learn
SimonYansenZhao Feb 22, 2024
9a225d5
Replace CollabDataBunch with CollabDataLoaders
SimonYansenZhao Feb 23, 2024
5484d9b
Replace max_lr with lr_max
SimonYansenZhao Feb 23, 2024
6944404
Correct usage of load_learner in fastai
SimonYansenZhao Feb 23, 2024
0e69106
Replace learner.data.train_ds.x.classes.values() with learner.dls.cla…
SimonYansenZhao Feb 23, 2024
22ef9b9
Replace learner.data.train_ds.x.classes.values() with learner.dls.cla…
SimonYansenZhao Feb 23, 2024
a5fea78
Upgrade fastai code
SimonYansenZhao Feb 23, 2024
dccac17
Correct the usage of torch.column_stack()
SimonYansenZhao Feb 23, 2024
d3b0ad7
Correct conversion from tensor to numpy
SimonYansenZhao Feb 24, 2024
d249bfe
Remove duplicate dependencies jinja2 and packaging required other pac…
SimonYansenZhao Feb 24, 2024
547ab66
Try Python 3.11
SimonYansenZhao Feb 24, 2024
ed3b632
Allow Python 3.11 for sarplus
SimonYansenZhao Feb 24, 2024
c8d90f7
Rerun and fix fastai movielens notebook
miguelgfierro Feb 24, 2024
d9ec1cd
Fixed deprecated attribute in fastai
miguelgfierro Feb 24, 2024
d59f7ec
Merge pull request #2068 from recommenders-team/miguel/simon_deps
SimonYansenZhao Feb 25, 2024
fda5265
Fixing breaking changes in fastai
miguelgfierro Mar 4, 2024
ac90e54
Upgrade GitHub Action azure/login
SimonYansenZhao Mar 12, 2024
1d0fe7d
Update fastai usage in utils
SimonYansenZhao Mar 15, 2024
0740b16
change deprecated azureml option (#2069)
loomlike Mar 15, 2024
89cc985
Update SP creation doc
loomlike Mar 15, 2024
55433c5
:memo:
miguelgfierro Mar 16, 2024
730a5e9
Fixing TF to < 2.16
miguelgfierro Mar 18, 2024
657531a
:bug:
miguelgfierro Mar 18, 2024
e99b8d0
model to CUDA as well as data
miguelgfierro Mar 18, 2024
03554de
Set tensorflow <= 2.15.0
SimonYansenZhao Mar 19, 2024
47281c8
Add missing colon
SimonYansenZhao Mar 19, 2024
19bcf1a
Merge branch 'simonz-dep-upgrade-20230606' into miguel/fix_tf
miguelgfierro Mar 19, 2024
b255fae
:memo:
miguelgfierro Mar 19, 2024
85899cf
Reducing DKN batch size to 200
miguelgfierro Mar 19, 2024
d8e8ac3
Move learner.model to cuda if cuda is available
SimonYansenZhao Mar 19, 2024
21492c9
Merge branch 'simonz-dep-upgrade-20230606' into miguel/fix_tf
miguelgfierro Mar 19, 2024
14c5c93
Merge pull request #2071 from recommenders-team/miguel/fix_tf
miguelgfierro Mar 19, 2024
3821655
Merge pull request #1937 from recommenders-team/simonz-dep-upgrade-20…
miguelgfierro Mar 19, 2024
e049564
Merged two concats into one
daviddavo Mar 20, 2024
8393344
Further simplified merge
daviddavo Mar 20, 2024
96fe3cf
Merge pull request #2075 from recommenders-team/daviddavo/less-concats
miguelgfierro Mar 21, 2024
bd1a95f
Catch import error separately for SUMModel
SimonYansenZhao Apr 4, 2024
813d141
Reco book update
miguelgfierro Apr 4, 2024
a739e75
Merge pull request #2077 from recommenders-team/simonz/issue-2064-nam…
miguelgfierro Apr 4, 2024
433e912
Merge pull request #2078 from recommenders-team/miguel/reco_book
wutaomsft Apr 4, 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
51 changes: 20 additions & 31 deletions .github/actions/azureml-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,56 +69,45 @@ runs:
using: "composite"
steps:
- name: Setup python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.8"
- name: Install azureml-core and azure-cli on a GitHub hosted server
shell: bash
run: pip install --quiet "azureml-core>1,<2" "azure-cli>2,<3"
- name: Log in to Azure
uses: azure/login@v1
uses: azure/login@v2
with:
creds: ${{inputs.AZUREML_TEST_CREDENTIALS}}
- name: Install wheel package
shell: bash
run: pip install --quiet wheel
- name: Submit CPU tests to AzureML
- name: Submit tests to AzureML
shell: bash
if: contains(inputs.TEST_GROUP, 'cpu')
run: >-
python tests/ci/azureml_tests/submit_groupwise_azureml_pytest.py --clustername ${{inputs.CPU_CLUSTER_NAME}}
--subid ${{inputs.AZUREML_TEST_SUBID}} --reponame "recommenders" --branch ${{ github.ref }}
--rg ${{inputs.RG}} --wsname ${{inputs.WS}} --expname ${{inputs.EXP_NAME}}_${{inputs.TEST_GROUP}}
--testlogs ${{inputs.TEST_LOGS_PATH}} --testkind ${{inputs.TEST_KIND}}
--conda_pkg_python ${{inputs.PYTHON_VERSION}} --testgroup ${{inputs.TEST_GROUP}}
--disable-warnings --sha "${GITHUB_SHA}"
- name: Submit GPU tests to AzureML
shell: bash
if: contains(inputs.TEST_GROUP, 'gpu')
run: >-
python tests/ci/azureml_tests/submit_groupwise_azureml_pytest.py --clustername ${{inputs.GPU_CLUSTER_NAME}}
--subid ${{inputs.AZUREML_TEST_SUBID}} --reponame "recommenders" --branch ${{ github.ref }}
--rg ${{inputs.RG}} --wsname ${{inputs.WS}} --expname ${{inputs.EXP_NAME}}_${{inputs.TEST_GROUP}}
--testlogs ${{inputs.TEST_LOGS_PATH}} --add_gpu_dependencies --testkind ${{inputs.TEST_KIND}}
--conda_pkg_python ${{inputs.PYTHON_VERSION}} --testgroup ${{inputs.TEST_GROUP}}
--disable-warnings --sha "${GITHUB_SHA}"
- name: Submit PySpark tests to AzureML
shell: bash
if: contains(inputs.TEST_GROUP, 'spark')
run: >-
python tests/ci/azureml_tests/submit_groupwise_azureml_pytest.py --clustername ${{inputs.CPU_CLUSTER_NAME}}
--subid ${{inputs.AZUREML_TEST_SUBID}} --reponame "recommenders" --branch ${{ github.ref }}
--rg ${{inputs.RG}} --wsname ${{inputs.WS}} --expname ${{inputs.EXP_NAME}}_${{inputs.TEST_GROUP}}
--testlogs ${{inputs.TEST_LOGS_PATH}} --add_spark_dependencies --testkind ${{inputs.TEST_KIND}}
--conda_pkg_python ${{inputs.PYTHON_VERSION}} --testgroup ${{inputs.TEST_GROUP}}
--disable-warnings --sha "${GITHUB_SHA}"
python tests/ci/azureml_tests/submit_groupwise_azureml_pytest.py \
--subid ${{inputs.AZUREML_TEST_SUBID}} \
--reponame "recommenders" \
--branch ${{ github.ref }} \
--rg ${{inputs.RG}} \
--wsname ${{inputs.WS}} \
--expname ${{inputs.EXP_NAME}}_${{inputs.TEST_GROUP}} \
--testlogs ${{inputs.TEST_LOGS_PATH}} \
--testkind ${{inputs.TEST_KIND}} \
--conda_pkg_python ${{inputs.PYTHON_VERSION}} \
--testgroup ${{inputs.TEST_GROUP}} \
--disable-warnings \
--sha "${GITHUB_SHA}" \
--clustername $(if [[ ${{inputs.TEST_GROUP}} =~ "gpu" ]]; then echo "${{inputs.GPU_CLUSTER_NAME}}"; else echo "${{inputs.CPU_CLUSTER_NAME}}"; fi) \
$(if [[ ${{inputs.TEST_GROUP}} =~ "gpu" ]]; then echo "--add_gpu_dependencies"; fi) \
$(if [[ ${{inputs.TEST_GROUP}} =~ "spark" ]]; then echo "--add_spark_dependencies"; fi)
- name: Get exit status
shell: bash
id: exit_status
run: echo "code=$(cat ${{inputs.PYTEST_EXIT_CODE}})" >> $GITHUB_OUTPUT
- name: Check Success/Failure
if: ${{ steps.exit_status.outputs.code != 0 }}
uses: actions/github-script@v3
uses: actions/github-script@v7
with:
script: |
core.setFailed('All tests did not pass!')
6 changes: 3 additions & 3 deletions .github/workflows/azureml-cpu-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get test group names
id: get_test_groups
uses: ./.github/actions/get-test-groups
Expand All @@ -67,11 +67,11 @@ jobs:
strategy:
max-parallel: 50 # Usage limits: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
matrix:
python-version: ['"python=3.8"', '"python=3.9"']
python-version: ['"python=3.8"', '"python=3.9"', '"python=3.10"', '"python=3.11"']
test-group: ${{ fromJSON(needs.get-test-groups.outputs.test_groups) }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Execute tests
uses: ./.github/actions/azureml-test
id: execute_tests
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/azureml-gpu-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get test group names
id: get_test_groups
uses: ./.github/actions/get-test-groups
Expand All @@ -67,11 +67,11 @@ jobs:
strategy:
max-parallel: 50 # Usage limits: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
matrix:
python-version: ['"python=3.8"', '"python=3.9"']
python-version: ['"python=3.8"', '"python=3.9"', '"python=3.10"', '"python=3.11"']
test-group: ${{ fromJSON(needs.get-test-groups.outputs.test_groups) }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Execute tests
uses: ./.github/actions/azureml-test
id: execute_tests
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/azureml-release-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ jobs:
needs: [unit-test-workflow, cpu-nightly-workflow, gpu-nightly-workflow, spark-nightly-workflow]
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.8"
- name: Install wheel package
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/azureml-spark-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get test group names
id: get_test_groups
uses: ./.github/actions/get-test-groups
Expand All @@ -66,11 +66,11 @@ jobs:
strategy:
max-parallel: 50 # Usage limits: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
matrix:
python-version: ['"python=3.8"', '"python=3.9"']
python-version: ['"python=3.8"', '"python=3.9"', '"python=3.10"', '"python=3.11"']
test-group: ${{ fromJSON(needs.get-test-groups.outputs.test_groups) }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Execute tests
uses: ./.github/actions/azureml-test
id: execute_tests
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/azureml-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get test group names
id: get_test_groups
uses: ./.github/actions/get-test-groups
Expand All @@ -56,11 +56,11 @@ jobs:
strategy:
max-parallel: 50 # Usage limits: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
matrix:
python-version: ['"python=3.8"', '"python=3.9"']
python-version: ['"python=3.8"', '"python=3.9"', '"python=3.10"', '"python=3.11"']
test-group: ${{ fromJSON(needs.get-test-groups.outputs.test_groups) }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Execute tests
uses: ./.github/actions/azureml-test
id: execute_tests
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/sarplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.8", "3.9"]
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

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

Expand Down Expand Up @@ -96,15 +96,15 @@ jobs:
- name: Upload Python wheel as GitHub artifact when merged into main
# Upload the whl file of the specific python version
if: github.ref == 'refs/heads/main'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: pysarplus-${{ env.sarplus_version }}-cp${{ matrix.python-version }}-wheel
path: ${{ env.PYTHON_ROOT }}/dist/*.whl

- name: Upload Python source as GitHub artifact when merged into main
# Only one pysarplus source tar file is needed
if: github.ref == 'refs/heads/main' && matrix.python-version == '3.10'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: pysarplus-${{ env.sarplus_version }}-source
path: ${{ env.PYTHON_ROOT }}/dist/*.tar.gz
Expand All @@ -131,7 +131,7 @@ jobs:
hadoop-version: "3.3.1"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Test
run: |
Expand Down Expand Up @@ -180,7 +180,7 @@ jobs:

- name: Upload Scala bundle as GitHub artifact when merged into main
if: github.ref == 'refs/heads/main'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: sarplus-${{ env.sarplus_version }}-bundle_2.12-spark-${{ matrix.spark-version }}-jar
path: ${{ env.SCALA_ROOT }}/target/scala-2.12/*bundle*.jar
6 changes: 3 additions & 3 deletions .github/workflows/update_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.10
python-version: "3.10"

- name: Install dependencies
run: |
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ The nightly build tests are run daily on AzureML.

## References

- D. Li, J. Lian, L. Zhang, K. Ren, D. Lu, T. Wu, X. Xie, "Recommender Systems: Frontiers and Practices" (in Chinese), Publishing House of Electronics Industry, Beijing 2022.
- D. Li, J. Lian, L. Zhang, K. Ren, D. Lu, T. Wu, X. Xie, "Recommender Systems: Frontiers and Practices", Springer, Beijing, 2024. [Available on this link](https://www.amazon.com/Recommender-Systems-Frontiers-Practices-Dongsheng/dp/9819989639/).
- A. Argyriou, M. González-Fierro, and L. Zhang, "Microsoft Recommenders: Best Practices for Production-Ready Recommendation Systems", *WWW 2020: International World Wide Web Conference Taipei*, 2020. Available online: https://dl.acm.org/doi/abs/10.1145/3366424.3382692
- L. Zhang, T. Wu, X. Xie, A. Argyriou, M. González-Fierro and J. Lian, "Building Production-Ready Recommendation System at Scale", *ACM SIGKDD Conference on Knowledge Discovery and Data Mining 2019 (KDD 2019)*, 2019.
- S. Graham, J.K. Min, T. Wu, "Microsoft recommenders: tools to accelerate developing recommender systems", *RecSys '19: Proceedings of the 13th ACM Conference on Recommender Systems*, 2019. Available online: https://dl.acm.org/doi/10.1145/3298689.3346967
- L. Zhang, T. Wu, X. Xie, A. Argyriou, M. González-Fierro and J. Lian, "Building Production-Ready Recommendation System at Scale", *ACM SIGKDD Conference on Knowledge Discovery and Data Mining 2019 (KDD 2019)*, 2019.
3 changes: 2 additions & 1 deletion contrib/sarplus/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@ def __str__(self):
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Mathematics",
],
setup_requires=["pytest-runner"],
install_requires=DEPENDENCIES,
tests_require=["pytest"],
python_requires=">=3.6,<3.11",
python_requires=">=3.6,<3.12",
packages=["pysarplus"],
package_data={"": ["VERSION"]},
ext_modules=[
Expand Down
Loading
Loading