Thomas-Oz-Dunn / donnager

Tools for modelling space exploration
https://crates.io/crates/donnager
MIT License
0 stars 0 forks source link

Implement python interfacing #26

Open Thomas-Oz-Dunn opened 1 year ago

Thomas-Oz-Dunn commented 1 year ago

Background

Prototyping in compiled languages tends to be slow and tedious, while higher level languages run slower, they can iterate faster.

Libraries like maturin and py03 allow Rust compiled code to interface with Python.

Investigate possible techniques, implement the best, and create a demonstration script

Procedure

  1. Investigate techniques
  2. Choose and implement
  3. Demonstrate usage

Acceptance Criteria

A python script exists that uses compiled Rust code

Thomas-Oz-Dunn commented 1 year ago

Consider using Matplotlib and Bokehm could be useful for plotting, no need for Java level GUI

Thomas-Oz-Dunn commented 1 year ago

Plotters proves cumbersome, migrate

Thomas-Oz-Dunn commented 1 year ago

Issue has had major scope creep since beeing opened. To finish the issue:

  1. Create dummy test repo w/
    |-python
    |  |-__init__.py
    |  |- stuff.py
    |
    |-src
    |  |-lib.rs 
    cargo.toml

    esqu structure

  2. Build standalone rust
  3. Test py03 bind
  4. Test python w/ pyo3 bind rust
  5. delta struct, note working and not working dir structs
  6. Document donnager struct
  7. Find overlap
  8. Implement dir struct
  9. Test
  10. Merge

Please get it done by the end of the month, this branch has been hanging for way too long, blocking other development and research oppurtunities