Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
D
darshan
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 61
    • Issues 61
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 5
    • Merge Requests 5
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • darshan
  • darshan
  • Merge Requests
  • !31

Open
Opened Apr 09, 2019 by Jakob Luettgau@jluettgau1
  • Report abuse
Report abuse

WIP: Python Bindings via CFFI

I think for starters there are four remaining items, where it kinda of boils down to different opinions how to proceed:

  • Currently, darshan-utils requires the user to explicitly enable the shared libraries (e.g., also when using the spack package), maybe this should be enabled by default?

  • The Darshan-Header currently installed is not CFFI friendly, but this could be easily fixed using a few #ifdefs and then possibly just install a second header for Python? (not pretty, but maybe the most conservative in terms of side-effects)

  • The development branch includes a few functions (e..g, darshan_log_get_record) which would need to be merged upstream

  • Finally, python knows a number of different installation/integration mechanisms for packages (PyPi, Anaconda, setup.py, spack, PYTHONPATH). The least invasive probably being something along the lines of "export PYTHONPATH=$PYTHONPATH:" (spack also just extends the python path, so maybe that could be accomplished solely in the darshan-util package, although I tend to think the python package should be independent)

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

-# All repo/branch refs have been quoted to allow support for special characters (such as #my-branch)
git fetch "https://xgitlab.cels.anl.gov/jluettgau/darshan.git" "python-bindings"
git checkout -b "jluettgau/darshan-python-bindings" FETCH_HEAD

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout "origin/master"
git merge --no-ff "jluettgau/darshan-python-bindings"

Step 4. Push the result of the merge to GitLab

git push origin "master"

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 3
  • Commits 6
  • Changes 13
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: darshan/darshan!31