API Reference #107
Replies: 6 comments 6 replies
-
Thanks for being a 💎👐 Joan and sticking with us :) We do have some tutorials that perhaps need to be better advertised. Suggestions of specific use cases for I recall that @gfrances was looking at the integration with Sphinx, but I am not sure of what is the status for that. Ultimately, to get |
Beta Was this translation helpful? Give feedback.
-
And guess what, we do have already a https://tarski.readthedocs.io/en/latest/ So definitely @gfrances finished the integration and I completely forgot about it! D'oh! |
Beta Was this translation helpful? Give feedback.
-
Even with the readthedocs site, there's stuff that's hard to find (I've taken a dive into the code several times to find stuff). I've three undergrads using it to varying degrees over the summer. Perhaps I can ask them what the major blindspots were/are/will be? |
Beta Was this translation helpful? Give feedback.
-
I'll add to this, but comments so far (prompt was "how might the documentation be improved given the work you've done so far"):
|
Beta Was this translation helpful? Give feedback.
-
So another simple matter that's caused many-a-headache over recent days -- having programmatic (and not just through strings) access to aspects of the problem. There may be a way to do all this properly, but it's not obvious how. Assuming we've successfully parsed a domain (and possibly a problem) PDDL, we'd like to... ...get access to predicates, including their typesSeems as though the only way to get to this level is through ...get access to a unified interface for fluentsSeems as though they're sometimes ...access the fluents on action effects/preconditionsWould hope that it's in the same format (object data structure) as fluents elsewhere in the library. ...access the types of objects in a grounded action/predicateWe'd like to be able to just look up from the Python object representing a PDDL object, what its type might be. Regardless of where this object has come from (action parameter, predicate argument, etc). ...have functions to parse actions and predicates in generalI guess this is more of a nice-to-have than an expected API that's missing... Thoughts @gfrances @miquelramirez ? |
Beta Was this translation helpful? Give feedback.
-
I've 3 concurrent threads of development using tarski in very different ways (none of which is a planner), so it's easy to get spun around as to what the hell is going on :P. Some of these will really push (I think) what's feasible to the limit: distributions of possible preconditions, of entire action theories even, partial groundings, etc. Those notebooks are helpful to get started, but don't (and probably shouldn't) provide full coverage of what's going on. Something like [this] helps, but fails (without the docstring support) to detail the makeup (e.g., what we might find on Wrt. the grand vision -- it's laudable! Shy of publishing the vision (or in addition to?) I think that should be posted front-and-center on the repo. Risk of the grand vision is that it runs is having the complexity become a barrier to the simpler use-cases. This can be remedied with adapters for the common use cases (STRIPS assumption would give a different interface than a full ADL one, for example), but I'm not sure if that's part of the vision as well? Kind of a keras-is-to-tensorflow equivalent. A grounded (pun intended example) that's made up... >> from tarski.keras.STRIPS import parse
>> problem = parse('dom.pddl', 'prob.pddl').ground()
>> print(problem.actions[0].pddl())
(:action put-down
:parameters (A)
:precondition (holding A)
:effect
(and (not (holding A))
(clear A)
(handempty)
(ontable A)))
>> print(problem.actions[0].ADD)
{(clear A), (handempty), (ontable A)}
>> state1 = problem.init.progress(problem.actions[0])
>> state2 = state1.progress(problem.actions[3])
>> state2 |= problem.goal
True Sure, some of this is already there, some of this is whacky overloading (do we really want
I like this idea. Going to take it a step further and suggest we post the fabricated python code we hoped would work + the places we looked to figure it out. Should lead to either a feature request (if the functionality's missing) or a documentation request. We've tackled the bulk of the current issues on our plate with the help of the notebooks and our compiled docs, but I'll be sure to lob any further ones that come up as they do. Cheers! |
Beta Was this translation helpful? Give feedback.
-
Hi everyone :)
I feel that tarksi is a diamond in the rough: At the moment, to explore the features that the library has one needs to browse the source code. I found that there are many useful functionalities that are not documented or shown in the notebooks.
I'm aware that documentation is costly in terms of time, and not trivial to produce. I was wondering if it would be much work to produce at least an API reference of some sorts (a-la javadocs) so users can get at least an helicopter view of what is implemented.
Beta Was this translation helpful? Give feedback.
All reactions