- 
                Notifications
    You must be signed in to change notification settings 
- Fork 96
Refactor: Remove Cython - Reduce tech debt #346
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
          
     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 hidden or 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 '[email protected]' | ||
| 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 hidden or 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 hidden or 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 hidden or 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.
        
    
  
  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