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

[ENH] Move to meson build system #242

Merged
merged 67 commits into from Feb 2, 2023

Conversation

Abelarm
Copy link
Contributor

@Abelarm Abelarm commented Jan 22, 2023

This PR refer to the issue #238 ad it changes the build system from numpy.distutils to meson.

command to build:

python -m devpy build -- -Dwith_pdd=true -Dinstall_test=true

with_pdd=true: if to build the pdd
install_test=true: if to copy the test directory

Major changes:

  • using meson to build poisson_drift_diffusion fortran code
  • deleting the setup.py moving to pyproject.toml
  • utilizing devpy as a support build tool
  • relase of mac-os arm64 now available through cross-compiling with the support of pdd
  • moving to cibuildwheel for the whole build process (common to all architectures)

Minor changes:

  • macos test now install S4 as well
  • test-optics now skipped for windows
  • minor changes to some test due to a new version of numpy

TESTED WHEELS:

LINK to wheels


Know issues:

  • version need to be changed manually inside the meson.build file
  • flake8 does not support natively pyproject.toml
    Solution; use a alias Flake8-pyproject
  • aliases not working in

TODO (after consensus):

  • Remove setup.cfg
  • Remove mypy.ini to be integrated in pyproject.toml
  • Change docs, native version of windows and macos - arm64
  • Figure it out why test_examples does not work on windows

…d a new workflow in git to check the meson build
@codecov
Copy link

codecov bot commented Jan 22, 2023

Codecov Report

Merging #242 (2034eb5) into develop (d5ab3bd) will increase coverage by 10.95%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop     #242       +/-   ##
============================================
+ Coverage    46.15%   57.10%   +10.95%     
============================================
  Files           85      103       +18     
  Lines         9124    11615     +2491     
============================================
+ Hits          4211     6633     +2422     
- Misses        4913     4982       +69     
Impacted Files Coverage Δ
solcore/tests/test_light_source.py 100.00% <0.00%> (ø)
solcore/tests/test_dielectric_constant.py 100.00% <0.00%> (ø)
solcore/tests/test_tmm_core_vec.py 100.00% <0.00%> (ø)
solcore/tests/test_solar_cell_solver.py 100.00% <0.00%> (ø)
solcore/tests/test_registries.py 89.70% <0.00%> (ø)
solcore/tests/test_structure.py 100.00% <0.00%> (ø)
solcore/tests/conftest.py 92.66% <0.00%> (ø)
solcore/tests/test_optics.py 100.00% <0.00%> (ø)
solcore/tests/mock_ddModel.py 100.00% <0.00%> (ø)
solcore/tests/test_state.py 100.00% <0.00%> (ø)
... and 13 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@phoebe-p
Copy link
Member

phoebe-p commented Feb 1, 2023

Hi both, sorry I missed the review request for this PR. I will quickly check tomorrow when I have my Windows laptop if the Windows wheel also works and then merge!

Edit: it works :) this is great!!!

@phoebe-p phoebe-p merged commit 2034eb5 into qpv-research-group:develop Feb 2, 2023
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.

None yet

2 participants