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

Python maintenance #4489

Merged
merged 10 commits into from
Apr 6, 2022
Merged

Python maintenance #4489

merged 10 commits into from
Apr 6, 2022

Conversation

jngrad
Copy link
Member

@jngrad jngrad commented Apr 4, 2022

Fixes #4488, fixes #4490, fixes #4491, fixes #4477

Description of changes:

  • require Python 3.8+ (as per NEP 29: new release schedule for scientific python packages #3421)
  • use contextlib in the testsuite to better handle ImportError from missing dependencies
  • use pathlib in the testsuite and scripts for portability on non-Posix environments
  • modernize python testsuite, fix broken test cases, improve code coverage
  • implement initial position offset for LEbc protocol OscillatoryShear
  • use new CI infrastructure: run jobs on 4 cores (reduce test runtime by 30%), update labels to better utilize GPU runners

Replace raw pointers by references, make the regular and tabulated
dihedral bond kernels more similar, document singularity issue.
Fix broken analytical formula for the dihedral potential and forces
in the test case. Check regular and tabulated dihedral bond kernels
for multiple choices of multiplicity and phase.
Use temporary directories in tests that need to output data to disk
to automate file cleanup. Use the pathlib module instead of the os
module for operations on filepaths to improve portability.
Replace try/except import guards by contextlib.suppress(ImportError).
Remove unreachable code. Improve code coverage of utility functions.
Fix a minor bug when a variable assignment takes multiple lines. Run
the MMM1D tuning function once per test method to reduce overhead.
Improve CPU/GPU load balancing by restricting CI jobs that don't
need a GPU on CI runners that don't provide a GPU. Use 4 cores
instead of 2 cores when the runner allows it. Execute slow jobs
on NUMA runners.
@jngrad jngrad marked this pull request as ready for review April 5, 2022 01:16
@jngrad jngrad requested a review from reinaual April 5, 2022 01:16
@jngrad jngrad added this to the Espresso 4.2 milestone Apr 6, 2022
@jngrad jngrad added the automerge Merge with kodiak label Apr 6, 2022
@kodiakhq kodiakhq bot merged commit a91b0dc into espressomd:python Apr 6, 2022
@jngrad jngrad deleted the python_interface branch April 6, 2022 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants