Skip to content

API Plans? #419

@Joshua-Jurgensmeier

Description

@Joshua-Jurgensmeier

Hello, I am currently teaching a group of students python with ev3dev and EV3 robots. I understand (and am grateful) that this project is being actively developed, and thus things will change. However, after reading various issues on this repository, I can't quite tell what your guys' direction is for the API. At some point I need to lock-in a version and stick with it, but the more forward compatible my instruction can be the better.

  1. With the recent directory restructuring, is importing changed forever? Personally, I found a single import statement (import ev3dev.ev3 as ev3) to be very convenient in teaching. This way students don't need to understand what an import statement is, they just need to copy-paste that line at beginning of every source file. I understand that, in general, such blanket import statements are bad practice, but it is simpler to teach. Is this still supported behavior?

  2. What are the plans for the "EV3-G" API? Am I correct that the plan is to separate the old API and EV3-G API into two separate modules and retain support for both?

If I could offer a couple thoughts, I like the idea of a simpler API with positional arguments and reduced functionality (built on top of the current, full capability, kwargs implementation. While I personally like the kwargs more, it can be hard for students to remember all the arguments that need to be supplied (as it precludes the use of intellisense). This way, once students are more advanced, and find they have need of a lower-level interface, it is available for them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions