Skip to content

Task Tracker: Port examples from Java to Python #1

Open
0 of 1 issue completed
Open

Description

@SableRaf

The sub-issues below track the progress of the collaborative porting efforts. Check the README for more details.

For more info about libprocessing and mewnala, see the libprocessing README.

Expand the list below and see individual sub-issues for instructions.

See also this kanban board: Porting Processing Examples from Java → Python

Activity

  1. pinned this issue on Apr 24, 2026
  2. 12 remaining items

  3. SableRaf commented on Jul 13, 2026

    @SableRaf
    CollaboratorAuthor

    @catilac I just realized that the actual examples for Python mode are at https://github.com/jdf/processing.py/tree/master/mode/examples

    That includes many of the original Java examples ported to Python, as well as some Python-specific example folders that you and @tychedelia may want to check out, like "Python Mode Differences" or "Contributed Libraries in Python".

    Would it make sense to use these as the starting point instead of the Java examples? Not a huge diff but they are already closer to the target language some of them include more detailed comments than their Java counterpart. At least that was the case in this example I just ported #293 as well as a couple others I quickly looked at.

  4. SableRaf commented on Jul 14, 2026

    @SableRaf
    CollaboratorAuthor

    I did a quick spike for research purposes using this script to do a naive translation of the Python examples to mewnala, and another script that does a static analysis of the ported examples to find keywords used by the examples that are not exported by mewnala 0.0.7. The scripts are not trying to be the most accurate so take this with a grain of salt but I think there's still value in the results.

    The table below lists those potentially missing API elements, ordered by the number of examples that use them. It's a noisy signal, and examples may not representative of how ppl actually use Processing, but it could be useful as a reference point for discussing what parts of the API to prioritize. cc @catilac @tychedelia

    A more detailed report, including the examples affected, can be found in this gist.

    AI disclosure and other caveats can be found in the README.

    Note: some of the reference links below may be broken (especially some of the constants which don't have a reference page):

    Name Examples affected Reference
    P3D 45 Processing reference
    sin 40 Processing reference
    cos 40 Processing reference
    random 33 Processing reference
    PI 26 Processing reference
    PVector 23 Processing reference
    P2D 23 Processing reference
    frame_rate 23 Processing reference
    radians 21 Processing reference
    shape 20 Processing reference
    create_shape 16 Processing reference
    TWO_PI 16 Processing reference
    load_shader 16 Processing reference
    lights 16 Processing reference
    smooth 15 Processing reference
    text 13 Processing reference
    millis 12 Processing reference
    constrain 10 Processing reference
    shader 10 Processing reference
    atan2 10 Processing reference
    dist 9 Processing reference
    RGB 8 Processing reference
    noise 7 Processing reference
    pixels 7 Processing reference
    load_pixels 7 Processing reference
    update_pixels 7 Processing reference
    create_graphics 6 Processing reference
    load_shape 6 Processing reference
    text_font 6 Processing reference
    text_align 5 Processing reference
    texture 5 Processing reference
    begin_closed_shape 5 Processing reference
    create_font 5 Processing reference
    HSB 5 Processing reference
    red 5 Processing reference
    xrange 4 Processing reference
    sqrt 4 Processing reference
    TAU 4 Processing reference
    no_smooth 4 Processing reference
    println 4 Processing reference
    reset_shader 4 Processing reference
    PGL 3 Processing reference
    camera 3 Processing reference
    begin_p_g_l 3 Processing reference
    second 3 Processing reference
    text_size 3 Processing reference
    blue 3 Processing reference
    CODED 3 Processing reference
    GROUP 3 Processing reference
    noise_detail 3 Processing reference
    perspective 3 Processing reference
    QUAD 3 Processing reference
    sphere_detail 3 Processing reference
    texture_mode 3 Processing reference
    HALF_PI 2 Processing reference
    minute 2 Processing reference
    random_gaussian 2 Processing reference
    asin 2 Processing reference
    brightness 2 Processing reference
    DISABLE_DEPTH_MASK 2 Processing reference
    ELLIPSE 2 Processing reference
    g 2 Processing reference
    green 2 Processing reference
    hint 2 Processing reference
    hour 2 Processing reference
    load_strings 2 Processing reference
    nf 2 Processing reference
    NORMAL 2 Processing reference
    ortho 2 Processing reference
    PFont 2 Processing reference
    PImage 2 Processing reference
    print_array 2 Processing reference
    RECT 2 Processing reference
    SPHERE 2 Processing reference
    draw_length 1 Processing reference
    IntBuffer 1 Processing reference
    production 1 Processing reference
    self 1 Processing reference
    end_p_g_l 1 Processing reference
    lerp 1 Processing reference
    lerp_color 1 Processing reference
    norm 1 Processing reference
    sq 1 Processing reference
    theta 1 Processing reference
    ambient 1 Processing reference
    ambient_light 1 Processing reference
    ARGB 1 Processing reference
    axiom 1 Processing reference
    BOX 1 Processing reference
    ceil 1 Processing reference
    curve_tightness 1 Processing reference
    DEG_TO_RAD 1 Processing reference
    frame 1 Processing reference
    generations 1 Processing reference
    get 1 Processing reference
    IMAGE 1 Processing reference
    light_specular 1 Processing reference
    link 1 Processing reference
    load_font 1 Processing reference
    load_table 1 Processing reference
    mag 1 Processing reference
    no_lights 1 Processing reference
    null 1 Processing reference
    OPENGL 1 Processing reference
    PShape 1 Processing reference
    push_style 1 Processing reference
    REPEAT 1 Processing reference
    request_image 1 Processing reference
    reset 1 Processing reference
    save 1 Processing reference
    save_table 1 Processing reference
    specular 1 Processing reference
    start_length 1 Processing reference
    tan 1 Processing reference
    text_ascent 1 Processing reference
    text_descent 1 Processing reference
    text_width 1 Processing reference
    texture_wrap 1 Processing reference
    this 1 Processing reference
  5. ulgens commented on Aug 10, 2026

    @ulgens

    @SableRaf

    See also this kanban board: Porting Processing Examples from Java → Python

    The link doesn't work 👀

  6. SableRaf commented on Aug 10, 2026

    @SableRaf
    CollaboratorAuthor

    The link doesn't work 👀

    @ulgens Thanks for the heads up. It should be public now.

  7. ulgens commented on Aug 10, 2026

    @ulgens

    I can access it now, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions