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

[SHOW PR] Submodulev2 #44

Open
wants to merge 64 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
0ac8a71
[EXAMPLE DIFF] (Tree featuresv2) Fork of sklearn that maintains all n…
adam2392 Mar 29, 2023
927d2a9
Merge branch 'scikit-learn:main' into fork
adam2392 Mar 29, 2023
475bd05
Docs (#39)
adam2392 Mar 29, 2023
73a2176
Merge branch 'scikit-learn:main' into fork
adam2392 Mar 29, 2023
f8d4697
Merge branch 'scikit-learn:main' into fork
adam2392 Mar 30, 2023
706a742
Release v1.2.2
adam2392 Apr 4, 2023
db58884
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 4, 2023
1efc7a8
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 6, 2023
a22db03
Update README
adam2392 Apr 11, 2023
d3b6175
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 11, 2023
be859f3
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 12, 2023
e6853ba
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 13, 2023
13534a6
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 17, 2023
c41c983
Merging
adam2392 Apr 19, 2023
fb5b69a
Merge branch 'fork' of https://github.com/neurodata/scikit-learn into…
adam2392 Apr 19, 2023
31723a6
Merge branch 'scikit-learn:main' into fork
adam2392 Apr 20, 2023
12d45d3
Merging
adam2392 Apr 28, 2023
1837ae8
Merge branch 'main' into submodule
adam2392 Apr 28, 2023
9c5321d
Adding working submodule
adam2392 Jun 8, 2023
b2544c5
Merge branch 'main' into submodulev2
adam2392 Jun 8, 2023
f82f258
Merged main
adam2392 Jun 8, 2023
7e38502
Successful merge with the missing value support
adam2392 Jun 8, 2023
34a5621
Add cyton headers
adam2392 Jun 8, 2023
f35c758
Fix imports to be absolute
adam2392 Jun 8, 2023
45320b4
Fix forest import
adam2392 Jun 8, 2023
6b4d0e7
Merge branch 'main' into submodulev2
adam2392 Jun 12, 2023
5a2ac9a
Merge branch 'scikit-learn:main' into submodulev2
adam2392 Jun 13, 2023
49526f0
Fix classes and criterion
adam2392 Jun 13, 2023
2105949
Working..
adam2392 Jun 13, 2023
9b07f2a
Add leaf storage ability
adam2392 Jun 13, 2023
21ccb30
[ENH] Adding leaf node samples to be stored when "quantile" tree is t…
adam2392 Jun 15, 2023
545e2a2
Merge branch 'main' into submodulev2
adam2392 Jun 15, 2023
855ee19
Add quantile
adam2392 Jun 16, 2023
3b7b450
Merge branch 'submodulev2' of https://github.com/neurodata/scikit-lea…
adam2392 Jun 16, 2023
3f5cb65
Add check input
adam2392 Jun 16, 2023
7401ddc
Try to fix docstring
adam2392 Jun 16, 2023
13e2913
Try to fix docstring
adam2392 Jun 16, 2023
43aa3ef
Fix docstring
adam2392 Jun 17, 2023
fe3072f
Fix docstring
adam2392 Jun 17, 2023
2d4de9a
Fix the predict quantiles docstring
adam2392 Jun 20, 2023
1c1ec8c
Fix the predict quantiles docstring
adam2392 Jun 20, 2023
1994f15
Merging main, but with two test failures
adam2392 Jun 23, 2023
4bc651d
Remove some diff
adam2392 Jun 23, 2023
cc035d0
Fix regression error
adam2392 Jun 23, 2023
4840d4e
Fix boolean
adam2392 Jun 23, 2023
512f34c
Merge branch 'scikit-learn:main' into submodulev2
adam2392 Jun 27, 2023
a6a6b0e
Merge branch 'scikit-learn:main' into submodulev2
adam2392 Jun 30, 2023
fdf2e2d
Added doc to store_leaf_values
adam2392 Jun 30, 2023
be902cc
Merge branch 'submodulev2' of https://github.com/neurodata/scikit-lea…
adam2392 Jun 30, 2023
5b7ce7e
Merging main
adam2392 Jun 30, 2023
9655d01
Fix now
adam2392 Jun 30, 2023
6b57c58
Bring in monotonicity (#47)
adam2392 Jul 5, 2023
df0fae2
Complete merge
adam2392 Jul 5, 2023
34e540a
Fix splitter
adam2392 Jul 5, 2023
a927669
Merging main
adam2392 Jul 19, 2023
e9d702b
Fix linter
adam2392 Jul 19, 2023
ce6a727
Fix linting
adam2392 Jul 20, 2023
00a3595
Fix docstring
adam2392 Jul 20, 2023
329cbc8
Fix lint
adam2392 Jul 20, 2023
8b5d0f9
Fix unit test
adam2392 Jul 20, 2023
38bade7
Fix lint
adam2392 Jul 20, 2023
feffdeb
Adding fix
adam2392 Jul 20, 2023
2bb5f1c
Fixed
adam2392 Jul 21, 2023
6ec023b
[MERGE] Merge changes from sklearn main (#52)
adam2392 Aug 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
33 changes: 17 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,22 +89,23 @@ jobs:
root: doc/_build/html
paths: .

deploy:
docker:
- image: cimg/python:3.8.12
steps:
- checkout
- run: ./build_tools/circle/checkout_merge_commit.sh
# Attach documentation generated in the 'doc' step so that it can be
# deployed.
- attach_workspace:
at: doc/_build/html
- run: ls -ltrh doc/_build/html/stable
- deploy:
command: |
if [[ "${CIRCLE_BRANCH}" =~ ^main$|^[0-9]+\.[0-9]+\.X$ ]]; then
bash build_tools/circle/push_doc.sh doc/_build/html/stable
fi
# XXX: in order to make sure our fork passes all the CIs and not remove too many LOC, we don't want to deploy
# deploy:
# docker:
# - image: cimg/python:3.8.12
# steps:
# - checkout
# - run: ./build_tools/circle/checkout_merge_commit.sh
# # Attach documentation generated in the 'doc' step so that it can be
# # deployed.
# - attach_workspace:
# at: doc/_build/html
# - run: ls -ltrh doc/_build/html/stable
# - deploy:
# command: |
# if [[ "${CIRCLE_BRANCH}" =~ ^main$|^[0-9]+\.[0-9]+\.X$ ]]; then
# bash build_tools/circle/push_doc.sh doc/_build/html/stable
# fi

workflows:
version: 2
Expand Down
16 changes: 9 additions & 7 deletions .cirrus.star
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
load("cirrus", "env", "fs", "http")

def main(ctx):
# Only run for scikit-learn/scikit-learn. For debugging on a fork, you can
# Only run for neurodata/scikit-learn. For debugging on a fork, you can
# comment out the following condition.
if env.get("CIRRUS_REPO_FULL_NAME") != "scikit-learn/scikit-learn":
if env.get("CIRRUS_REPO_FULL_NAME") != "neurodata/scikit-learn":
return []

arm_wheel_yaml = "build_tools/cirrus/arm_wheel.yml"
arm_tests_yaml = "build_tools/cirrus/arm_tests.yml"

# Nightly jobs always run
if env.get("CIRRUS_CRON", "") == "nightly":
return fs.read(arm_wheel_yaml)
return fs.read(arm_wheel_yaml) + fs.read(arm_tests_yaml)

# Get commit message for event. We can not use `git` here because there is
# no command line access in starlark. Thus we need to query the GitHub API
Expand All @@ -26,10 +26,12 @@ def main(ctx):
response = http.get(url).json()
commit_msg = response["message"]

if "[skip ci]" in commit_msg:
return []
jobs_to_run = ""

if "[cd build]" in commit_msg or "[cd build cirrus]" in commit_msg:
return fs.read(arm_wheel_yaml) + fs.read(arm_tests_yaml)
jobs_to_run += fs.read(arm_wheel_yaml)

if "[cirrus arm]" in commit_msg:
jobs_to_run += fs.read(arm_tests_yaml)

return fs.read(arm_tests_yaml)
return jobs_to_run
3 changes: 2 additions & 1 deletion .github/workflows/check-changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@ jobs:
check:
name: A reviewer will let you know if it is required or can be bypassed
runs-on: ubuntu-latest
if: ${{ contains(github.event.pull_request.labels.*.name, 'No Changelog Needed') == 0 }}
if: ${{ contains(github.event.pull_request.labels.*.name, 'No Changelog Needed') == 0 && github.repository == 'scikit-learn/scikit-learn' }}
steps:
- name: Get PR number and milestone
run: |
echo "PR_NUMBER=${{ github.event.pull_request.number }}" >> $GITHUB_ENV
echo "TAGGED_MILESTONE=${{ github.event.pull_request.milestone.title }}" >> $GITHUB_ENV
echo "${{ github.repository }}"
- uses: actions/checkout@v3
with:
fetch-depth: '0'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:
check-manifest:
# Don't run on forks
if: github.repository == 'scikit-learn/scikit-learn'
if: github.repository == 'neurodata/scikit-learn'

runs-on: ubuntu-latest
steps:
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/check-upstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Create Github Actions workflow that checks upstream scikit-learn 'main' branch and
# creates or updates
# an existing pull request to https://github.com/neurodata/scikit-learn:fork.
# Runs the check weekly.
# Creates a pull request if there are changes.

# name: Check upstream scikit-learn

# on:
# schedule:
# - cron: '0 0 * * 0'

# jobs:
# check-upstream:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Check upstream scikit-learn
# uses: neurodata/check-upstream@main
# with:
# upstream: scikit-learn/scikit-learn
# fork: neurodata/scikit-learn
# branch: fork
# token: ${{ secrets.GITHUB_TOKEN }}

# # Creates a pull request if there are changes.

4 changes: 2 additions & 2 deletions .github/workflows/labeler-module.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
steps:
- uses: thomasjpfan/labeler@v2.5.1
continue-on-error: true
if: github.repository == 'scikit-learn/scikit-learn'
if: github.repository == 'neurodata/scikit-learn'
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
max-labels: "3"
Expand All @@ -27,7 +27,7 @@ jobs:
steps:
- uses: thomasjpfan/labeler@v2.5.1
continue-on-error: true
if: github.repository == 'scikit-learn/scikit-learn'
if: github.repository == 'neurodata/scikit-learn'
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: ".github/labeler-file-extensions.yml"
2 changes: 1 addition & 1 deletion .github/workflows/update_tracking_issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ on:
jobs:
update_tracking_issue:
runs-on: ubuntu-latest
if: github.repository == 'scikit-learn/scikit-learn' && github.event_name == 'schedule'
if: github.repository == 'neurodata/scikit-learn' && github.event_name == 'schedule'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
Expand Down
45 changes: 17 additions & 28 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ on:
- cron: "42 3 */1 * *"
push:
branches:
- main
- fork
# Release branches
- "[0-9]+.[0-9]+.X"
pull_request:
branches:
- main
- fork
- "[0-9]+.[0-9]+.X"
# Manual run
workflow_dispatch:
Expand All @@ -26,7 +26,7 @@ jobs:
check_build_trigger:
name: Check build trigger
runs-on: ubuntu-latest
if: github.repository == 'scikit-learn/scikit-learn'
if: github.repository == 'neurodata/scikit-learn'
outputs:
build: ${{ steps.check_build_trigger.outputs.build }}

Expand Down Expand Up @@ -103,6 +103,18 @@ jobs:
python: 311
platform_id: macosx_x86_64

# MacOS arm64
# The latest Python version is built and tested on CirrusCI
- os: macos-latest
python: 38
platform_id: macosx_arm64
- os: macos-latest
python: 39
platform_id: macosx_arm64
- os: macos-latest
python: 310
platform_id: macosx_arm64

steps:
- name: Checkout scikit-learn
uses: actions/checkout@v3
Expand Down Expand Up @@ -178,31 +190,8 @@ jobs:
with:
path: dist/*.tar.gz

# Upload the wheels and the source distribution
upload_anaconda:
name: Upload to Anaconda
runs-on: ubuntu-latest
needs: [build_wheels, build_sdist]
# The artifacts cannot be uploaded on PRs
if: github.event_name != 'pull_request'

steps:
- name: Checkout scikit-learn
uses: actions/checkout@v3

- name: Download artifacts
uses: actions/download-artifact@v3
- uses: actions/upload-artifact@v3
with:
path: dist
name: ${{ matrix.python[0] }}-${{ matrix.os[1] }}

- name: Setup Python
uses: actions/setup-python@v4

- name: Upload artifacts
env:
# Secret variables need to be mapped to environment variables explicitly
SCIKIT_LEARN_NIGHTLY_UPLOAD_TOKEN: ${{ secrets.SCIKIT_LEARN_NIGHTLY_UPLOAD_TOKEN }}
SCIKIT_LEARN_STAGING_UPLOAD_TOKEN: ${{ secrets.SCIKIT_LEARN_STAGING_UPLOAD_TOKEN }}
ARTIFACTS_PATH: dist/artifact
# Force a replacement if the remote file already exists
run: bash build_tools/github/upload_anaconda.sh
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
build
sklearn/datasets/__config__.py
sklearn/**/*.html
scikit_learn_tree.egg-info/*

dist/
MANIFEST
Expand Down Expand Up @@ -99,6 +100,9 @@ sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.pxd
sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.pyx
sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.pxd
sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.pyx
sklearn/neighbors/_ball_tree.pyx
sklearn/neighbors/_binary_tree.pxi
sklearn/neighbors/_kd_tree.pyx

# Default JupyterLite content
jupyterlite_contents
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,6 @@ doc-noplot: inplace

code-analysis:
build_tools/linting.sh

build-dev:
pip install --verbose --no-build-isolation --editable .