vivarium-core icon indicating copy to clipboard operation
vivarium-core copied to clipboard

Core Interface and Engine for Vivarium

Results 16 vivarium-core issues
Sort by recently updated
recently updated
newest added

Consider the case when there are two processes A and B which by default each update a store X by setting. Currently, the order A and B are added to...

We lack robust support for processes with more than one port to the same store. The multi-update workaround introduced in #28 allows ports that point to multiple leaf stores to...

## Current Approach ### Message Passing When a process has `Process.parallel` set to true, we launch a parallel OS process that runs `vivarium.core.process._run_update()`. `run_update()` contains a loop that repeatedly receives...

In #192 it became clear that it would be nice for us to be able to create v2 releases that break v1 functionality without pushing those releases out to all...

## Status Quo ### Current Approach Currently, processes have a `defaults` class variable that specifies the parameters they expect. Then when calling a process, you can provide parameters in a...

Scattered throughout Vivarium, we have functions to perform operations on schemas, topologies, and hierarchies, e.g. `inverse_topology`. I think the codebase would be easier to understand if we pulled these functions...

Consider a process (e.g. multibody physics) with a ports schema like this: ```python { 'agents': { '*': { 'a': {...}, 'b': {...}, }, }, } ``` Now imagine that we...

enhancement

Currently, when we emit data that has a unit in the state hierarchy and format it as a timeseries, we put the unit into the key and strip the units...

enhancement

Currently `Engine.front` tracks all processes next updates, with a dict that has the next update times and the updates that will be applied: `{'time': 14.0, 'update': {update-to-be-applied}}`. The process's next...

* [ ] Verify that the notebook tutorials still work * [ ] Document Composer and MetaComposer better * [ ] Document the available arguments for the Engine constructor *...