You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the spirit of datreant/datreant#100, we want to get rid of the concept of treanttypes and make all statefiles have names like Treant.<uuid>.json. This has the benefit that tools such as datreant.cli can easily work with all Treants, not just those generated with datreant.core. It also greatly simplifies the relationship between datreant and libraries such as mdsynthesis, allowing us to fix some annoying behavior.
To accomplish this consistently, mdsynthesis must at least:
Feature its own discover method that only selects Treants that already feature the mdsynthesis namespace in their state file, returning these as Sim objects. This will come with a performance penalty since now the files must be parsed to check for this condition, whereas before the filename encoded this.
Have a Sim object that, upon use on an existing Treant file, creates the mdsynthesis namespace marking it as a Sim for later discovery.
Not change the behavior of any datreant components on import, such as discover or Bundle, as it currently does.
In order for this scheme to work consistently, datreant.core.Bundle must be modified to not allow paths as input, but instead only take Treant objects or their subclasses directly (otherwise it's not clear what class to use on the path). Must check that serialization and deserialization still works under this scheme.
The text was updated successfully, but these errors were encountered:
In the spirit of datreant/datreant#100, we want to get rid of the concept of
treanttype
s and make all statefiles have names likeTreant.<uuid>.json
. This has the benefit that tools such as datreant.cli can easily work with all Treants, not just those generated withdatreant.core
. It also greatly simplifies the relationship betweendatreant
and libraries such asmdsynthesis
, allowing us to fix some annoying behavior.To accomplish this consistently,
mdsynthesis
must at least:discover
method that only selectsTreant
s that already feature themdsynthesis
namespace in their state file, returning these asSim
objects. This will come with a performance penalty since now the files must be parsed to check for this condition, whereas before the filename encoded this.Sim
object that, upon use on an existingTreant
file, creates themdsynthesis
namespace marking it as aSim
for later discovery.datreant
components on import, such asdiscover
orBundle
, as it currently does.In order for this scheme to work consistently,
datreant.core.Bundle
must be modified to not allow paths as input, but instead only takeTreant
objects or their subclasses directly (otherwise it's not clear what class to use on the path). Must check that serialization and deserialization still works under this scheme.The text was updated successfully, but these errors were encountered: