-
Notifications
You must be signed in to change notification settings - Fork 94
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
Refactor: Remove Cython - Reduce tech debt #346
Merged
Merged
Changes from all commits
Commits
Show all changes
105 commits
Select commit
Hold shift + click to select a range
ff0f2b2
uncythonize, pytest update
eddiebergman e915964
tests passing; fix add_conditions
eddiebergman 2a29120
Fixup tests
eddiebergman 79decbd
refactor: UniformFloat
eddiebergman add84b5
optim: UniformFloat get neighbors
eddiebergman a3f4297
refactor: deprecate UniformFloat is_legal_vector
eddiebergman 60dc4db
big overhaul
eddiebergman 279cac2
fix: depercation wraning of `np.integer` for dtype
eddiebergman 3bc359f
refactor: Big internal rewrite, passing tests
eddiebergman b7f5d9d
test passing checkpoint
eddiebergman fb368c4
pythonize conditionals
eddiebergman e4064cf
optim: Topological sort and vectorize cond/forbiddens
eddiebergman 5ebd21f
optim: Further small optimizations
eddiebergman a4916be
optim: Transpose sampling matrix for cache locality
eddiebergman 4ab1c80
optim: Add test script for neighbor sampling
eddiebergman 584b8ef
test: Repass tests
eddiebergman 87eb45d
tmpcommmit - lets pray
eddiebergman fceffa6
refactor: Factor out DAG structure into dedicated class
eddiebergman ba1cb59
refactor: Move things out of `c_util`
eddiebergman 26430fd
fix: Minimum spanning
eddiebergman 5fb53f6
fix: min-cond-span sorted by min(depth of all children)
eddiebergman 82e3fab
refactor: All tests and benchmarks pass
eddiebergman 147e6ec
Merge branch 'main' into typing-cython-3
eddiebergman 07687f2
refactor: Change deprecated test_util
eddiebergman 99cd93b
Revert "refactor: Change deprecated test_util"
eddiebergman 0df82ec
doc: Remove mention of cython
eddiebergman 8da216d
build: Remove the use "build" in deps
eddiebergman 55b9190
ci: Update test workflow
eddiebergman fb3fc42
ci: Remove conda tests since we no longer build w/ cython
eddiebergman 68a0fbb
fix(typing): Use typing extension for future TypeAlias
eddiebergman a75708e
ci: Use caching for env across tests
eddiebergman ef96506
fix(typing): Use `Union` instead of 3.10 syntax
eddiebergman 5af481f
ci: Remove git porcelain check
eddiebergman 83cb54c
fix(typing): Use typing for inheritance to support <= 3.9
eddiebergman 0a11215
fix: Remove `strict=True` from `zip` to support <= 3.10
eddiebergman b699216
fix(typing): Using `typing.Mapping` for inheritance
eddiebergman 940c403
fix: Move benchmarked functions as main functions to use
eddiebergman f58a387
style: Update ruff to use numpy syntax
eddiebergman cb335b9
fix(functional): `linspace_chunked` acts more like `np.linspace`
eddiebergman 7e2f97f
doc: Run `ruff --fix`
eddiebergman fab4b07
style: Fix ruff checks
eddiebergman f913bc2
refactor: Convert to `src` layout
eddiebergman cf2dd67
ci: Ignore use of `eval` in test
eddiebergman 0bbd7a9
style: Fix remaning ruff errors
eddiebergman 60791ab
refactor: Json encoding
eddiebergman 2a7cbdd
refactor: Sorry, big dump
eddiebergman f9b0cf7
optim: Further speedups to one exchange
eddiebergman 631a1e5
optim: Further speedups
eddiebergman 4fb2787
fix: Hyperparameter attributes are simple types
eddiebergman 9fe50d9
fix: Sampling from empty configuration spaces
eddiebergman 79682ea
fix: Revert changes from different branch
eddiebergman ba65910
fix: Test for default_value type
eddiebergman 574d355
fix: Deserialization with `"r"`
eddiebergman 4ab87f3
fix: Conjunctions match clauses for equality #334
eddiebergman ac906a4
fix: Import TypeAlias from typing_extensions
eddiebergman d88c6bd
fix: Remove unreliable __hash__ from ConfigurationSpace
eddiebergman 945df4c
fix: Ruff errors
eddiebergman 693d64d
typing: Soft deprecate `pcs` and `pcs_new`
eddiebergman 451766f
typing: Fix decoder type for json read and write
eddiebergman 4515a8a
ci: Move to ruff for linting
eddiebergman 3b54021
fix: Better condition cloning in replace hyperparameters
eddiebergman 3fe243b
fix: Use 3.8 compatable isinstance checks
eddiebergman cb74fde
typing: `configuration_space.py`
eddiebergman 470071b
typing: `dictionary.py`
eddiebergman 77522df
typing: `_condition_tree.py`
eddiebergman 222b097
typing: `forbidden.py`
eddiebergman 5f65e5a
ci: Add `scipy.*` to list of mypy ignore missing import
eddiebergman 636f0b6
typing: `conditions.py`
eddiebergman 9c8a0c9
typing: Fix hyperparameter related issues
eddiebergman 560ada3
test: Fixups
eddiebergman 08b8cf9
refactor: Remove `nx` vendored lib
eddiebergman ad79b5c
test: Use new `add` as old was deprecated
eddiebergman 4cdb5b3
refactor: Remove deprecations
eddiebergman 9d66f56
fix: Use `isinstance(..., (type1, type2))`
eddiebergman d144026
fix: Better casting for reading from pcs
eddiebergman a4467f4
debug: Check windows issue of not legal
eddiebergman f773910
ci: Don't use cache for installation
eddiebergman 215256a
fix: Change error type to IllegalVectorizedValue
eddiebergman 01c68c6
debug: More debug prints for ci
eddiebergman e94825d
ci: Exclude 3.8 3.9 mac
eddiebergman 05fbe4b
debug: More ci debugging statements
eddiebergman 8a9d51f
fix: UnitScaler promotes to 64bit to prevent overflow on windows
eddiebergman f6d1343
fix: Remove non assigned type
eddiebergman dbaab3f
fix: Address minor comments
eddiebergman f84cbd4
fix: Minor review comments
eddiebergman 5b65f45
doc: Overhaul to mkdocs, partially complete
eddiebergman 669b108
doc: Fix missing comma
eddiebergman 107204b
doc: Typo fixes
eddiebergman 2f495d1
doc: typo fix again...
eddiebergman 8a4ac0b
doc: Major doc overhaul to mkdocs
eddiebergman 369803c
fix: Add backwards compatible `check_forbidden`
eddiebergman 5152f9e
fix: Allow backwards compat `"default"` key in encoded spaces
eddiebergman cc5fd78
fix: Backwards compatible private methods
eddiebergman cf011bf
refactor: Use `check_` instead of `is_` as method raises
eddiebergman bc3afcd
doc: Forbiddens
eddiebergman 2a48d08
test: fix test funcion name
eddiebergman 995c417
fix(Forbidden): Uncomment value checking on `ForbiddenEqualsClaus`
eddiebergman 09beefd
ci: Update doc and test workflows
eddiebergman debe675
test: Remove stray function
eddiebergman 897bec7
doc: Type fix
eddiebergman b1f1fb9
doc: Add note to `_unsafe` code in `hp_components`
eddiebergman 80e2c7c
doc: Typo fix
eddiebergman d23879d
doc: Improve code doc attribute clarity
eddiebergman de0b36e
doc: Change `note` to `todo`
eddiebergman 82d66fd
doc: Fix documentation for `continuous_neighborhood`
eddiebergman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,27 @@ | ||
# This workflow is just to test that the docs build successfully. | ||
name: docs | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
on: | ||
# Trigger manually | ||
workflow_dispatch: | ||
|
||
# Trigger on any push to the main | ||
push: | ||
branches: | ||
- main | ||
- development | ||
|
||
# Trigger on any push to a PR that targets main | ||
pull_request: | ||
branches: | ||
- main | ||
- development | ||
|
||
permissions: | ||
contents: write | ||
|
||
env: | ||
name: "ConfigSpace" | ||
|
||
jobs: | ||
build-and-deploy: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: "3.8" | ||
|
||
- name: Install dependencies | ||
run: | | ||
pip install build | ||
pip install ".[docs]" | ||
|
||
- name: Make docs | ||
run: | | ||
make clean | ||
make docs | ||
|
||
- name: Pull latest gh-pages | ||
if: (contains(github.ref, 'develop') || contains(github.ref, 'main')) && github.event_name == 'push' | ||
run: | | ||
cd .. | ||
git clone https://github.com/${{ github.repository }}.git --branch gh-pages --single-branch gh-pages | ||
|
||
- name: Copy new docs into gh-pages | ||
if: (contains(github.ref, 'develop') || contains(github.ref, 'main')) && github.event_name == 'push' | ||
run: | | ||
branch_name=${GITHUB_REF##*/} | ||
cd ../gh-pages | ||
rm -rf $branch_name | ||
cp -r ../${{ env.name }}/docs/build/html $branch_name | ||
|
||
- name: Push to gh-pages | ||
if: (contains(github.ref, 'develop') || contains(github.ref, 'main')) && github.event_name == 'push' | ||
run: | | ||
last_commit=$(git log --pretty=format:"%an: %s") | ||
cd ../gh-pages | ||
branch_name=${GITHUB_REF##*/} | ||
git add $branch_name/ | ||
git config --global user.name 'Github Actions' | ||
git config --global user.email 'not@mail.com' | ||
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} | ||
git commit -am "$last_commit" | ||
git push | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
- name: "Install dependancies" | ||
run: python -m pip install -e ".[dev]" | ||
- name: "Build Docs" | ||
run: mkdocs build --clean --strict | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, is there a reason you removed the pushing of the documentation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, we moved away from Sphinx and I didn't know how to automate doc deployments given this setup. I will document how to do it in manual way in
CONTRIBUTING.md