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

Add asv benchmarks to ci #69

Closed
wants to merge 7 commits into from
Closed

Add asv benchmarks to ci #69

wants to merge 7 commits into from

Conversation

mlondschien
Copy link
Owner

No description provided.

Copy link

codecov bot commented Jun 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.20%. Comparing base (4ea14d9) to head (5e25dab).
Report is 35 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #69   +/-   ##
=======================================
  Coverage   93.20%   93.20%           
=======================================
  Files          32       32           
  Lines        1604     1604           
=======================================
  Hits         1495     1495           
  Misses        109      109           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mlondschien
Copy link
Owner Author

@xhochy I remember setting up something similar on a Quantco internal project. asv appears to have a problem installing the ivmodels package. What am I doing wrong?

@xhochy
Copy link

xhochy commented Jun 6, 2024

I don't see the actual error in the CI log. Can you point me to it?

@mlondschien
Copy link
Owner Author

mlondschien commented Jun 6, 2024

Run cd benchmarks
  cd benchmarks
  asv machine --machine github-runner --yes
  asv continuous origin/main HEAD -e -v --factor 1.2 --machine github-runner --config asv.conf.json
  shell: /usr/bin/bash -l {0}
  env:
    MAMBA_ROOT_PREFIX: /home/runner/micromamba
    MAMBA_EXE: /home/runner/micromamba-bin/micromamba
    CONDARC: /home/runner/work/_temp/setup-micromamba/.condarc
Couldn't load asv.plugins._mamba_helpers because
No module named 'libmambapy'
· No information stored about machine 'fv-az1776-909'. I know about nothing.
  

Couldn't load asv.plugins._mamba_helpers because
No module named 'libmambapy'
· Running '/usr/bin/git config init.defaultBranch'
· Running '/usr/bin/git config --global init.defaultBranch'
· Running '/usr/bin/git config --system init.defaultBranch'
· Running '/usr/bin/git rev-parse HEAD^{commit}'
  OUTPUT -------->
  1f6fbe7b98a276a8be6bafb21c43c5882321f742
· Running '/usr/bin/git rev-parse origin/main^{commit}'
  OUTPUT -------->
  d75f0daf925b96ba8dae6263f0e833ff6c275d22
· Running '/usr/bin/git config init.defaultBranch'
· Running '/usr/bin/git config --global init.defaultBranch'
· Running '/usr/bin/git config --system init.defaultBranch'
· Creating environments
·· Creating conda environment for conda-py3.10
·· Running '/usr/bin/conda env create -f ../environment.yml -p /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a --force'
   OUTPUT -------->
   Channels:
    - conda-forge
   Platform: linux-64
   Collecting package metadata (repodata.json): ...working... done

   Solving environment: ...working... done
   Downloading and Extracting Packages: ...working... done
   Preparing transaction: ...working... done

   Verifying transaction: ...working... done
   Executing transaction: ...working... done
   #
   # To activate this environment, use
   #
   #     $ conda activate /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a
   #
   # To deactivate an active environment, use
   #
   #     $ conda deactivate
   

·· Running '/usr/bin/conda env update -f /tmp/tmpczlw3ltj.yml -p /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a'
   OUTPUT -------->
   #
   # To activate this environment, use
   #
   #     $ conda activate /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a
   #
   # To deactivate an active environment, use
   #
   #     $ conda deactivate
   

·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip install -v --upgrade build'
   OUTPUT -------->
   Using pip 24.0 from /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/lib/python3.12/site-packages/pip (python 3.12)
   Collecting build
     Obtaining dependency information for build from https://files.pythonhosted.org/packages/e2/03/f3c8ba0a6b6e30d7d18c40faab90807c9bb5e9a1e3b2fe2008af624a9c97/build-1.2.1-py3-none-any.whl.metadata
     Downloading build-1.2.1-py3-none-any.whl.metadata (4.3 kB)
   Requirement already satisfied: packaging>=19.1 in ./env/06715dc6ea55f2b02b6ebc21bca7e34a/lib/python3.12/site-packages (from build) (24.0)
   Collecting pyproject_hooks (from build)
     Obtaining dependency information for pyproject_hooks from https://files.pythonhosted.org/packages/ae/f3/431b9d5fe7d14af7a32340792ef43b8a714e7726f1d7b69cc4e8e7a3f1d7/pyproject_hooks-1.1.0-py3-none-any.whl.metadata
     Downloading pyproject_hooks-1.1.0-py3-none-any.whl.metadata (1.3 kB)
   Downloading build-1.2.1-py3-none-any.whl (21 kB)
   Downloading pyproject_hooks-1.1.0-py3-none-any.whl (9.2 kB)
   Installing collected packages: pyproject_hooks, build
     changing mode of /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/pyproject-build to 755
   Successfully installed build-1.2.1 pyproject_hooks-1.1.0
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip install -v --upgrade asv_runner'
   OUTPUT -------->
   Using pip 24.0 from /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/lib/python3.12/site-packages/pip (python 3.12)
   Collecting asv_runner
     Obtaining dependency information for asv_runner from https://files.pythonhosted.org/packages/54/9a/6872af94fc8e8072723946651e65f66e16a0ca0efec7806bce8c2e2483d1/asv_runner-0.2.1-py3-none-any.whl.metadata
     Downloading asv_runner-0.2.1-py3-none-any.whl.metadata (2.8 kB)
   Requirement already satisfied: importlib-metadata in ./env/06715dc6ea55f2b02b6ebc21bca7e34a/lib/python3.12/site-packages (from asv_runner) (7.1.0)
   Requirement already satisfied: zipp>=0.5 in ./env/06715dc6ea55f2b02b6ebc21bca7e34a/lib/python3.12/site-packages (from importlib-metadata->asv_runner) (3.17.0)
   Downloading asv_runner-0.2.1-py3-none-any.whl (47 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.7/47.7 kB 4.3 MB/s eta 0:00:00
   Installing collected packages: asv_runner
   Successfully installed asv_runner-0.2.1
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip install -v --upgrade pympler'
   OUTPUT -------->
   Using pip 24.0 from /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/lib/python3.12/site-packages/pip (python 3.12)
   Collecting pympler
     Obtaining dependency information for pympler from https://files.pythonhosted.org/packages/2c/42/41e1469ed0b37b9c8532cb8074bea179f7d85ee7e82a59b5b6c289ed6045/Pympler-1.0.1-py3-none-any.whl.metadata
     Downloading Pympler-1.0.1-py3-none-any.whl.metadata (3.4 kB)
   Downloading Pympler-1.0.1-py3-none-any.whl (164 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.8/164.8 kB 10.9 MB/s eta 0:00:00
   Installing collected packages: pympler
   Successfully installed pympler-1.0.1
· Discovering benchmarks
·· Running '/usr/bin/git rev-parse origin/main^{commit}'
   OUTPUT -------->
   d75f0daf925b96ba8dae6263f0e833ff6c275d22
·· Running '/usr/bin/git clone --shared --recursive /home/runner/work/ivmodels/ivmodels /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project'
   OUTPUT -------->
   Cloning into '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project'...
   done.
·· Running '/usr/bin/git -c protocol.file.allow=always submodule deinit -f .'
·· Running '/usr/bin/git checkout -f 1f6fbe7b98a276a8be6bafb21c43c5882321f742'
   OUTPUT -------->
   Note: switching to '1f6fbe7b98a276a8be6bafb21c43c5882321f742'.
   
   You are in 'detached HEAD' state. You can look around, make experimental
   changes and commit them, and you can discard any commits you make in this
   state without impacting any branches by switching back to a branch.
   
   If you want to create a new branch to retain commits you create, you may
   do so (now or later) by using -c with the switch command. Example:
   
     git switch -c <new-branch-name>
   
   Or undo this operation with:
   
     git switch -
   
   Turn off this advice by setting config variable advice.detachedHead to false
   
   HEAD is now at 1f6fbe7 cd benchmarks.

·· Running '/usr/bin/git clean -fdx'
·· Running '/usr/bin/git -c protocol.file.allow=always submodule update --init --recursive'
·· Uninstalling from conda-py3.10
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip uninstall -y ivmodels'
   OUTPUT -------->
   WARNING: Skipping ivmodels as it is not installed.
·· Running '/usr/bin/git name-rev --name-only --exclude=remotes/* --no-undefined 1f6fbe7b98a276a8be6bafb21c43c5882321f742'
   OUTPUT -------->
   asv-ci
·· Building 1f6fbe7b <asv-ci> for conda-py3.10
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -m build'
   OUTPUT -------->
   * Creating isolated environment: venv+pip...
   * Installing packages in isolated environment:
     - setuptools
     - setuptools-scm
     - wheel
   * Getting build dependencies for sdist...
   running egg_info

   creating ivmodels.egg-info
   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   file ivmodels.py (for module ivmodels) not found
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   * Building sdist...
   running sdist
   running egg_info
   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   file ivmodels.py (for module ivmodels) not found
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   running check
   creating ivmodels-0.0.1
   creating ivmodels-0.0.1/.github
   creating ivmodels-0.0.1/.github/workflows
   creating ivmodels-0.0.1/benchmarks
   creating ivmodels-0.0.1/benchmarks/benchmarks
   creating ivmodels-0.0.1/docs
   creating ivmodels-0.0.1/ivmodels
   creating ivmodels-0.0.1/ivmodels.egg-info
   creating ivmodels-0.0.1/ivmodels/models
   creating ivmodels-0.0.1/ivmodels/tests
   creating ivmodels-0.0.1/tests
   creating ivmodels-0.0.1/tests/models
   creating ivmodels-0.0.1/tests/tests
   copying files to ivmodels-0.0.1...
   copying .flake8 -> ivmodels-0.0.1
   copying .gitignore -> ivmodels-0.0.1
   copying .pre-commit-config.yaml -> ivmodels-0.0.1
   copying LICENSE -> ivmodels-0.0.1
   copying README.md -> ivmodels-0.0.1
   copying environment.yml -> ivmodels-0.0.1
   copying pyproject.toml -> ivmodels-0.0.1
   copying readthedocs.yaml -> ivmodels-0.0.1
   copying setup.cfg -> ivmodels-0.0.1
   copying .github/workflows/build.yaml -> ivmodels-0.0.1/.github/workflows
   copying .github/workflows/ci.yaml -> ivmodels-0.0.1/.github/workflows
   copying benchmarks/.gitignore -> ivmodels-0.0.1/benchmarks
   copying benchmarks/asv.conf.json -> ivmodels-0.0.1/benchmarks
   copying benchmarks/benchmarks/__init__.py -> ivmodels-0.0.1/benchmarks/benchmarks
   copying benchmarks/benchmarks/kclass.py -> ivmodels-0.0.1/benchmarks/benchmarks
   copying benchmarks/benchmarks/tests.py -> ivmodels-0.0.1/benchmarks/benchmarks
   copying docs/Makefile -> ivmodels-0.0.1/docs
   copying docs/bib.bib -> ivmodels-0.0.1/docs
   copying docs/conf.py -> ivmodels-0.0.1/docs
   copying docs/index.rst -> ivmodels-0.0.1/docs
   copying ivmodels/__init__.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels/quadric.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels/simulate.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels/utils.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels.egg-info/PKG-INFO -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/SOURCES.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/dependency_links.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/requires.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/top_level.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels/models/__init__.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/anchor_regression.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/kclass.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/pulse.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/space_iv.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/tests/__init__.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/anderson_rubin.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/conditional_likelihood_ratio.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/lagrange_multiplier.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/likelihood_ratio.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/pulse.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/rank.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/utils.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/wald.py -> ivmodels-0.0.1/ivmodels/tests
   copying tests/test_quadric.py -> ivmodels-0.0.1/tests
   copying tests/test_simulate.py -> ivmodels-0.0.1/tests
   copying tests/test_utils.py -> ivmodels-0.0.1/tests
   copying tests/models/test_anchor_regression.py -> ivmodels-0.0.1/tests/models
   copying tests/models/test_compare_to_linearmodels.py -> ivmodels-0.0.1/tests/models
   copying tests/models/test_k_class.py -> ivmodels-0.0.1/tests/models
   copying tests/models/test_pulse.py -> ivmodels-0.0.1/tests/models
   copying tests/tests/test_anderson_rubin.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_conditional_likelihood_ratio.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_lagrange_multiplier.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_likelihood_ratio.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_rank.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_tests.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_wald.py -> ivmodels-0.0.1/tests/tests
   copying ivmodels.egg-info/SOURCES.txt -> ivmodels-0.0.1/ivmodels.egg-info
   Writing ivmodels-0.0.1/setup.cfg
   Creating tar archive
   removing 'ivmodels-0.0.1' (and everything under it)
   * Building wheel from sdist
   * Creating isolated environment: venv+pip...
   * Installing packages in isolated environment:
     - setuptools
     - setuptools-scm
     - wheel
   * Getting build dependencies for wheel...
   running egg_info

   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   file ivmodels.py (for module ivmodels) not found
   ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
   reading manifest file 'ivmodels.egg-info/SOURCES.txt'
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   * Installing packages in isolated environment:
     - wheel
   * Building wheel...
   running bdist_wheel

   running build
   running build_py
   file ivmodels.py (for module ivmodels) not found
   running egg_info
   file ivmodels.py (for module ivmodels) not found
   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   file ivmodels.py (for module ivmodels) not found
   ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
   reading manifest file 'ivmodels.egg-info/SOURCES.txt'
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   installing to build/bdist.linux-x86_64/wheel
   running install
   running install_lib
   warning: install_lib: 'build/lib' does not exist -- no Python modules to install
   
   running install_egg_info

   Copying ivmodels.egg-info to build/bdist.linux-x86_64/wheel/ivmodels-0.0.1-py3.12.egg-info
   running install_scripts
   creating build/bdist.linux-x86_64/wheel/ivmodels-0.0.1.dist-info/WHEEL
   creating '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project/dist/.tmp-cm_g2oz_/ivmodels-0.0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
   adding 'ivmodels-0.0.1.dist-info/LICENSE'
   adding 'ivmodels-0.0.1.dist-info/METADATA'
   adding 'ivmodels-0.0.1.dist-info/WHEEL'
   adding 'ivmodels-0.0.1.dist-info/top_level.txt'
   adding 'ivmodels-0.0.1.dist-info/RECORD'
   removing build/bdist.linux-x86_64/wheel
   Successfully built ivmodels-0.0.1.tar.gz and ivmodels-0.0.1-py3-none-any.whl
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip wheel -w /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742 /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project'
   OUTPUT -------->
   Processing /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project
     Installing build dependencies: started
     Installing build dependencies: finished with status 'done'
     Getting requirements to build wheel: started
     Getting requirements to build wheel: finished with status 'done'
     Preparing metadata (pyproject.toml): started
     Preparing metadata (pyproject.toml): finished with status 'done'
   Collecting numpy (from ivmodels==0.0.1)
     Downloading numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.0/61.0 kB 7.5 MB/s eta 0:00:00
   Collecting scikit-learn (from ivmodels==0.0.1)
     Downloading scikit_learn-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
   Collecting glum (from ivmodels==0.0.1)
     Downloading glum-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
   Collecting scipy (from ivmodels==0.0.1)
     Downloading scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.6/60.6 kB 17.5 MB/s eta 0:00:00
   Collecting joblib (from glum->ivmodels==0.0.1)
     Downloading joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
   Collecting numexpr (from glum->ivmodels==0.0.1)
     Downloading numexpr-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)
   Collecting pandas (from glum->ivmodels==0.0.1)
     Downloading pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (19 kB)
   Collecting formulaic>=0.6 (from glum->ivmodels==0.0.1)
     Downloading formulaic-1.0.1-py3-none-any.whl.metadata (6.1 kB)
   Collecting tabmat>=4.0.0 (from glum->ivmodels==0.0.1)
     Downloading tabmat-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.9 kB)
   Collecting threadpoolctl>=3.1.0 (from scikit-learn->ivmodels==0.0.1)
     Downloading threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
   Collecting interface-meta>=1.2.0 (from formulaic>=0.6->glum->ivmodels==0.0.1)
     Downloading interface_meta-1.3.0-py3-none-any.whl.metadata (6.7 kB)
   Collecting typing-extensions>=4.2.0 (from formulaic>=0.6->glum->ivmodels==0.0.1)
     Downloading typing_extensions-4.12.1-py3-none-any.whl.metadata (3.0 kB)
   Collecting wrapt>=1.0 (from formulaic>=0.6->glum->ivmodels==0.0.1)
     Downloading wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
   Collecting python-dateutil>=2.8.2 (from pandas->glum->ivmodels==0.0.1)
     Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
   Collecting pytz>=2020.1 (from pandas->glum->ivmodels==0.0.1)
     Downloading pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
   Collecting tzdata>=2022.7 (from pandas->glum->ivmodels==0.0.1)
     Downloading tzdata-2024.1-py2.py3-none-any.whl.metadata (1.4 kB)
   Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas->glum->ivmodels==0.0.1)
     Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
   Downloading glum-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 79.8 MB/s eta 0:00:00
   Downloading scikit_learn-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.1/13.1 MB 125.2 MB/s eta 0:00:00
   Downloading numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.0/18.0 MB 102.1 MB/s eta 0:00:00
   Downloading scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.2 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.2/38.2 MB 71.4 MB/s eta 0:00:00
   Downloading formulaic-1.0.1-py3-none-any.whl (94 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.2/94.2 kB 31.4 MB/s eta 0:00:00
   Downloading joblib-1.4.2-py3-none-any.whl (301 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 301.8/301.8 kB 67.3 MB/s eta 0:00:00
   Downloading pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.7/12.7 MB 116.0 MB/s eta 0:00:00
   Downloading tabmat-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 122.1 MB/s eta 0:00:00
   Downloading threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
   Downloading numexpr-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (380 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 381.0/381.0 kB 78.1 MB/s eta 0:00:00
   Downloading interface_meta-1.3.0-py3-none-any.whl (14 kB)
   Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 63.4 MB/s eta 0:00:00
   Downloading pytz-2024.1-py2.py3-none-any.whl (505 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 505.5/505.5 kB 91.3 MB/s eta 0:00:00
   Downloading typing_extensions-4.12.1-py3-none-any.whl (37 kB)
   Downloading tzdata-2024.1-py2.py3-none-any.whl (345 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 345.4/345.4 kB 16.6 MB/s eta 0:00:00
   Downloading wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (87 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.3/87.3 kB 29.1 MB/s eta 0:00:00
   Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/glum-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/scikit_learn-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/formulaic-1.0.1-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/joblib-1.4.2-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/tabmat-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/threadpoolctl-3.5.0-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/numexpr-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/interface_meta-1.3.0-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/pytz-2024.1-py2.py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/typing_extensions-4.12.1-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/tzdata-2024.1-py2.py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/1f6fbe7b98a276a8be6bafb21c43c5882321f742/six-1.16.0-py2.py3-none-any.whl
   Building wheels for collected packages: ivmodels
     Building wheel for ivmodels (pyproject.toml): started
     Building wheel for ivmodels (pyproject.toml): finished with status 'done'
     Created wheel for ivmodels: filename=ivmodels-0.0.1-py3-none-any.whl size=2150 sha256=a2cc58daee4d9d79d64bf6e3b424e962692f842176a7ecf3b116c6dd1cc0b093
     Stored in directory: /tmp/pip-ephem-wheel-cache-m6tj59d_/wheels/4a/a4/1b/7d149cf4714c9ef66ca33ee0b0d6e6f24ead2fc77486645c78
   Successfully built ivmodels
·· Running '/usr/bin/git name-rev --name-only --exclude=remotes/* --no-undefined 1f6fbe7b98a276a8be6bafb21c43c5882321f742'
   OUTPUT -------->
   asv-ci
·· Installing 1f6fbe7b <asv-ci> into conda-py3.10
·· Failed: trying different commit/environment
·· Running '/usr/bin/git -c protocol.file.allow=always submodule deinit -f .'
·· Running '/usr/bin/git checkout -f d75f0daf925b96ba8dae6263f0e833ff6c275d22'
   OUTPUT -------->
   Previous HEAD position was 1f6fbe7 cd benchmarks.
   HEAD is now at d75f0da Move asv up one folder. (#70)
·· Running '/usr/bin/git clean -fdx'
   OUTPUT -------->
   Removing build/
   Removing dist/
   Removing ivmodels.egg-info/

·· Running '/usr/bin/git -c protocol.file.allow=always submodule update --init --recursive'
·· Uninstalling from conda-py3.10
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip uninstall -y ivmodels'
   OUTPUT -------->
   WARNING: Skipping ivmodels as it is not installed.
·· Running '/usr/bin/git name-rev --name-only --exclude=remotes/* --no-undefined d75f0daf925b96ba8dae6263f0e833ff6c275d22'
   OUTPUT -------->
   asv-ci~1^2
·· Building d75f0daf <asv-ci~1^2> for conda-py3.10
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -m build'
   OUTPUT -------->
   * Creating isolated environment: venv+pip...
   * Installing packages in isolated environment:
     - setuptools
     - setuptools-scm
     - wheel
   * Getting build dependencies for sdist...
   running egg_info

   creating ivmodels.egg-info
   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   file ivmodels.py (for module ivmodels) not found
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   * Building sdist...
   running sdist
   running egg_info
   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   file ivmodels.py (for module ivmodels) not found
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   running check
   creating ivmodels-0.0.1
   creating ivmodels-0.0.1/.github
   creating ivmodels-0.0.1/.github/workflows
   creating ivmodels-0.0.1/benchmarks
   creating ivmodels-0.0.1/benchmarks/benchmarks
   creating ivmodels-0.0.1/docs
   creating ivmodels-0.0.1/ivmodels
   creating ivmodels-0.0.1/ivmodels.egg-info
   creating ivmodels-0.0.1/ivmodels/models
   creating ivmodels-0.0.1/ivmodels/tests
   creating ivmodels-0.0.1/tests
   creating ivmodels-0.0.1/tests/models
   creating ivmodels-0.0.1/tests/tests
   copying files to ivmodels-0.0.1...
   copying .flake8 -> ivmodels-0.0.1
   copying .gitignore -> ivmodels-0.0.1
   copying .pre-commit-config.yaml -> ivmodels-0.0.1
   copying LICENSE -> ivmodels-0.0.1
   copying README.md -> ivmodels-0.0.1
   copying environment.yml -> ivmodels-0.0.1
   copying pyproject.toml -> ivmodels-0.0.1
   copying readthedocs.yaml -> ivmodels-0.0.1
   copying setup.cfg -> ivmodels-0.0.1
   copying .github/workflows/build.yaml -> ivmodels-0.0.1/.github/workflows
   copying .github/workflows/ci.yaml -> ivmodels-0.0.1/.github/workflows
   copying benchmarks/.gitignore -> ivmodels-0.0.1/benchmarks
   copying benchmarks/asv.conf.json -> ivmodels-0.0.1/benchmarks
   copying benchmarks/benchmarks/__init__.py -> ivmodels-0.0.1/benchmarks/benchmarks
   copying benchmarks/benchmarks/kclass.py -> ivmodels-0.0.1/benchmarks/benchmarks
   copying benchmarks/benchmarks/tests.py -> ivmodels-0.0.1/benchmarks/benchmarks
   copying docs/Makefile -> ivmodels-0.0.1/docs
   copying docs/bib.bib -> ivmodels-0.0.1/docs
   copying docs/conf.py -> ivmodels-0.0.1/docs
   copying docs/index.rst -> ivmodels-0.0.1/docs
   copying ivmodels/__init__.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels/quadric.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels/simulate.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels/utils.py -> ivmodels-0.0.1/ivmodels
   copying ivmodels.egg-info/PKG-INFO -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/SOURCES.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/dependency_links.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/requires.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels.egg-info/top_level.txt -> ivmodels-0.0.1/ivmodels.egg-info
   copying ivmodels/models/__init__.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/anchor_regression.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/kclass.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/pulse.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/models/space_iv.py -> ivmodels-0.0.1/ivmodels/models
   copying ivmodels/tests/__init__.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/anderson_rubin.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/conditional_likelihood_ratio.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/lagrange_multiplier.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/likelihood_ratio.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/pulse.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/rank.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/utils.py -> ivmodels-0.0.1/ivmodels/tests
   copying ivmodels/tests/wald.py -> ivmodels-0.0.1/ivmodels/tests
   copying tests/test_quadric.py -> ivmodels-0.0.1/tests
   copying tests/test_simulate.py -> ivmodels-0.0.1/tests
   copying tests/test_utils.py -> ivmodels-0.0.1/tests
   copying tests/models/test_anchor_regression.py -> ivmodels-0.0.1/tests/models
   copying tests/models/test_compare_to_linearmodels.py -> ivmodels-0.0.1/tests/models
   copying tests/models/test_k_class.py -> ivmodels-0.0.1/tests/models
   copying tests/models/test_pulse.py -> ivmodels-0.0.1/tests/models
   copying tests/tests/test_anderson_rubin.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_conditional_likelihood_ratio.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_lagrange_multiplier.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_likelihood_ratio.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_rank.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_tests.py -> ivmodels-0.0.1/tests/tests
   copying tests/tests/test_wald.py -> ivmodels-0.0.1/tests/tests
   copying ivmodels.egg-info/SOURCES.txt -> ivmodels-0.0.1/ivmodels.egg-info
   Writing ivmodels-0.0.1/setup.cfg
   Creating tar archive
   removing 'ivmodels-0.0.1' (and everything under it)
   * Building wheel from sdist
   * Creating isolated environment: venv+pip...
   * Installing packages in isolated environment:
     - setuptools
     - setuptools-scm
     - wheel
   * Getting build dependencies for wheel...
   running egg_info

   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   file ivmodels.py (for module ivmodels) not found
   ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
   reading manifest file 'ivmodels.egg-info/SOURCES.txt'
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   * Installing packages in isolated environment:
     - wheel
   * Building wheel...
   running bdist_wheel

   running build
   running build_py
   file ivmodels.py (for module ivmodels) not found
   file ivmodels.py (for module ivmodels) not found
   running egg_info
   writing ivmodels.egg-info/PKG-INFO
   writing dependency_links to ivmodels.egg-info/dependency_links.txt
   writing requirements to ivmodels.egg-info/requires.txt
   writing top-level names to ivmodels.egg-info/top_level.txt
   file ivmodels.py (for module ivmodels) not found
   ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
   reading manifest file 'ivmodels.egg-info/SOURCES.txt'
   adding license file 'LICENSE'
   writing manifest file 'ivmodels.egg-info/SOURCES.txt'
   installing to build/bdist.linux-x86_64/wheel
   running install
   running install_lib
   warning: install_lib: 'build/lib' does not exist -- no Python modules to install
   
   running install_egg_info

   Copying ivmodels.egg-info to build/bdist.linux-x86_64/wheel/ivmodels-0.0.1-py3.12.egg-info
   running install_scripts
   creating build/bdist.linux-x86_64/wheel/ivmodels-0.0.1.dist-info/WHEEL
   creating '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project/dist/.tmp-t_c5xkhz/ivmodels-0.0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
   adding 'ivmodels-0.0.1.dist-info/LICENSE'
   adding 'ivmodels-0.0.1.dist-info/METADATA'
   adding 'ivmodels-0.0.1.dist-info/WHEEL'
   adding 'ivmodels-0.0.1.dist-info/top_level.txt'
   adding 'ivmodels-0.0.1.dist-info/RECORD'
   removing build/bdist.linux-x86_64/wheel
   Successfully built ivmodels-0.0.1.tar.gz and ivmodels-0.0.1-py3-none-any.whl
·· Running '/home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/bin/python -mpip wheel -w /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22 /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project'
   OUTPUT -------->
   Processing /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/project
     Installing build dependencies: started
     Installing build dependencies: finished with status 'done'
     Getting requirements to build wheel: started
     Getting requirements to build wheel: finished with status 'done'
     Preparing metadata (pyproject.toml): started
     Preparing metadata (pyproject.toml): finished with status 'done'
   Collecting numpy (from ivmodels==0.0.1)
     Using cached numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
   Collecting scikit-learn (from ivmodels==0.0.1)
     Using cached scikit_learn-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
   Collecting glum (from ivmodels==0.0.1)
     Using cached glum-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
   Collecting scipy (from ivmodels==0.0.1)
     Using cached scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
   Collecting joblib (from glum->ivmodels==0.0.1)
     Using cached joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
   Collecting numexpr (from glum->ivmodels==0.0.1)
     Using cached numexpr-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)
   Collecting pandas (from glum->ivmodels==0.0.1)
     Using cached pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (19 kB)
   Collecting formulaic>=0.6 (from glum->ivmodels==0.0.1)
     Using cached formulaic-1.0.1-py3-none-any.whl.metadata (6.1 kB)
   Collecting tabmat>=4.0.0 (from glum->ivmodels==0.0.1)
     Using cached tabmat-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.9 kB)
   Collecting threadpoolctl>=3.1.0 (from scikit-learn->ivmodels==0.0.1)
     Using cached threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
   Collecting interface-meta>=1.2.0 (from formulaic>=0.6->glum->ivmodels==0.0.1)
     Using cached interface_meta-1.3.0-py3-none-any.whl.metadata (6.7 kB)
   Collecting typing-extensions>=4.2.0 (from formulaic>=0.6->glum->ivmodels==0.0.1)
     Using cached typing_extensions-4.12.1-py3-none-any.whl.metadata (3.0 kB)
   Collecting wrapt>=1.0 (from formulaic>=0.6->glum->ivmodels==0.0.1)
     Using cached wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
   Collecting python-dateutil>=2.8.2 (from pandas->glum->ivmodels==0.0.1)
     Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
   Collecting pytz>=2020.1 (from pandas->glum->ivmodels==0.0.1)
     Using cached pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
   Collecting tzdata>=2022.7 (from pandas->glum->ivmodels==0.0.1)
     Using cached tzdata-2024.1-py2.py3-none-any.whl.metadata (1.4 kB)
   Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas->glum->ivmodels==0.0.1)
     Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
   Using cached glum-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB)
   Using cached scikit_learn-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
   Using cached numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB)
   Using cached scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.2 MB)
   Using cached formulaic-1.0.1-py3-none-any.whl (94 kB)
   Using cached joblib-1.4.2-py3-none-any.whl (301 kB)
   Using cached pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 MB)
   Using cached tabmat-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB)
   Using cached threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
   Using cached numexpr-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (380 kB)
   Using cached interface_meta-1.3.0-py3-none-any.whl (14 kB)
   Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
   Using cached pytz-2024.1-py2.py3-none-any.whl (505 kB)
   Using cached typing_extensions-4.12.1-py3-none-any.whl (37 kB)
   Using cached tzdata-2024.1-py2.py3-none-any.whl (345 kB)
   Using cached wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (87 kB)
   Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/glum-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/scikit_learn-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/formulaic-1.0.1-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/joblib-1.4.2-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/tabmat-4.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/threadpoolctl-3.5.0-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/numexpr-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/interface_meta-1.3.0-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/pytz-2024.1-py2.py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/typing_extensions-4.12.1-py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/tzdata-2024.1-py2.py3-none-any.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   Saved /home/runner/work/ivmodels/ivmodels/benchmarks/env/06715dc6ea55f2b02b6ebc21bca7e34a/asv-build-cache/d75f0daf925b96ba8dae6263f0e833ff6c275d22/six-1.16.0-py2.py3-none-any.whl
   Building wheels for collected packages: ivmodels
     Building wheel for ivmodels (pyproject.toml): started
     Building wheel for ivmodels (pyproject.toml): finished with status 'done'
     Created wheel for ivmodels: filename=ivmodels-0.0.1-py3-none-any.whl size=2150 sha256=52a3d64bd235d84e86544c6a1e0d1b68bc37b3332993b6a106230901867feea4
     Stored in directory: /tmp/pip-ephem-wheel-cache-3gx8ary6/wheels/4a/a4/1b/7d149cf4714c9ef66ca33ee0b0d6e6f24ead2fc77486645c78
   Successfully built ivmodels
·· Running '/usr/bin/git name-rev --name-only --exclude=remotes/* --no-undefined d75f0daf925b96ba8dae6263f0e833ff6c275d22'
   OUTPUT -------->
   asv-ci~1^2
·· Installing d75f0daf <asv-ci~1^2> into conda-py3.10
·· Failed to build the project and import the benchmark suite.

Essentially, asv fails to install the package.

Possible causes:

Couldn't load asv.plugins._mamba_helpers because
No module named 'libmambapy'
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
   warning: install_lib: 'build/lib' does not exist -- no Python modules to install

Also, why are dependencies installed via pip and not conda?

@xhochy
Copy link

xhochy commented Jun 6, 2024

That's a long log but where is the actual error? All errors I see are only warnings in the end and it progresses past them.

@mlondschien
Copy link
Owner Author

mlondschien commented Jun 6, 2024

I'm sorry, I edited my answer. Even though the asv.conf.json includes

    "environment_type": "conda",
...
    "conda_channels": ["conda-forge"],
    "conda_environment_file": "../environment.yml",

to me, it looks like dependencies are installed via pip. After installing dependencies

·· Installing 1f6fbe7b <asv-ci> into conda-py3.10
·· Failed: trying different commit/environment

and then the whole thing repeats for earlier commits.

Edit: Maybe I have something wrong in my setup config?

@xhochy
Copy link

xhochy commented Jun 7, 2024

OK! Now, I understand. The problem is that asv builds a wheel for the package but doesn't install it later on.

The conda-forge PR fails probably due to a missing section in pyproject.toml

[tool.setuptools.packages.find]
include = ["ivmodels.*"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants