Python-Extension icon indicating copy to clipboard operation
Python-Extension copied to clipboard

Add ability to pass agents to python

Open LaCuneta opened this issue 7 years ago • 1 comments

I think they should be represented as dict-like objects, where keys are agent variables.

For a first pass, they should be read-only.

One tricky thing is keeping them in sync with NetLogo. For instance:

py:set "t" turtle 0
ask turtle 0 [ set color red ]
print py:runresult "t['color']" ;; This will be out of date

I think just not caring is good enough for a first pass, as long as it's clear in the docs. Otherwise, we'd have to track and sync all agent-objects on every call, which sounds awful.

I think they should be represented as dict-like objects, where keys are agent variables.

For a first pass, they should be read-only.

One tricky thing is keeping them in sync with NetLogo. For instance:

py:set "t" turtle 0
ask turtle 0 [ set color red ]
print py:runresult "t['color']" ;; This will be out of date

I think just not caring is good enough for a first pass, as long as it's clear in the docs. Otherwise, we'd have to track and sync all agent-objects on every call, which sounds awful.

Copied from https://github.com/qiemem/PythonExtension/issues/2

LaCuneta avatar Sep 20 '18 18:09 LaCuneta

As a side note, this could have really cool uses in LevelSpace for having persistent representations of inter-model agents. (Though arguably that should be part of LevelSpace, and maybe we don't want to make extensions interdependent.)

arthurhjorth avatar Feb 08 '20 13:02 arthurhjorth