NWChemEx / NWChemEx/ParallelZone
Python API for 1.0
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 0
- Forks
- 1
- Avg merge
- 40m
- Merged PRs (30d)
- 3
Description
A 1.0 of ParallelZone requires the Python API to be finalized, decently performant, and unit tested. To that end I started PR: https://github.com/NWChemEx-Project/ParallelZone/pull/74. The aforementioned PR currently showcases several of the more general issues found on the Python API project board.
I specifically want to call out (sub bullets refer back to the #74):
- Import time (more general issue)
- The serial Python unit tests barely do anything and they take over 5x longer than the C++ tests
- I haven't profiled, but I'm guessing this is import overhead, this issue should be updated if it's not
- This is based on the times from Python
unittesttimes being similar to the C++ times, but the final wall time is one to two orders of magnitude slower.
- This is based on the times from Python
- MPI overhead (more general issue)
- The MPI overhead is visible, but admittedly not too appreciable at this point (about half a second; C++ unit tests saw half that). It's possible that fleshing out more unit tests may add to to the overhead, or that we can ignore the overhead for ParallelZone. More profiling should be done.
- Import syntax (more general issue)
- A 1.0 requires us to finalize the API, so while a minor annoyance, this is critical for a release
- Auto-generated
__init__.pyfile (more general issue)- Same as above data point
- Unit tests of Python bindings of exposed C++
- Documentation of Python API.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with PR #74 and the Python API project board, then review the listed concerns: import time, import syntax, generated init.py, Python binding unit tests, and documentation. The issue is complete when the API is finalized, performance is acceptable, the bindings are tested, and the Python API is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- api, hpc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100