Giter VIP home page Giter VIP logo

Comments (14)

pwwang avatar pwwang commented on September 2, 2024 1

It's all that matters whether the environment (jupyter, rstudio, etc) exposes the source code at runtime. datar/pipda depends on executing to detect the node to tell whether the verbs are calling regularly (e.g. dim(df)) or by piping (df >> dim()). executing did not work for jupyter before, but later it adopted jupyter environment. I will see what I can do with the Rstudio environment.

from datar.

pwwang avatar pwwang commented on September 2, 2024

This is because the source code is not available for datar/pipda to detect the piping syntax.
See also the following for solutions:

https://pwwang.github.io/datar/caveats/blind/

from datar.

rleyvasal avatar rleyvasal commented on September 2, 2024

Hi @pwwang, I did look at the documentation and did figure it out yet. can you provide an example to do the following in RStudio notebook ?

```{python}
from datar.all import * 
from datar.datasets import mtcars
mtcars >> mutate(carb_2 = f.carb)
```

from datar.

pwwang avatar pwwang commented on September 2, 2024

Here you go:

```{python}
from pipda import options
from datar.all import *
from datar.datasets import mtcars
options.assume_all_piping = True

mtcars >> mutate(carb_2 = f.carb)
```

from datar.

rleyvasal avatar rleyvasal commented on September 2, 2024

It did not work, look at the snapshot below:

Rstudio_datar

from datar.

pwwang avatar pwwang commented on September 2, 2024

Ah, my bad. options.assume_all_piping = True should go before the datar importing.

The following should work:

```{python}
from pipda import options
options.assume_all_piping = True
from datar.all import * 
from datar.datasets import mtcars

mtcars >> mutate(carb_2 = f.carb)
```

from datar.

rleyvasal avatar rleyvasal commented on September 2, 2024

It worked, thanks @pwwang

from datar.

antonio-yu avatar antonio-yu commented on September 2, 2024

@rleyvasal @pwwang

If in Rsutio with the latest version , it both works whether options.assume_all_piping = True goes before the datar importing or not.

image

from datar.

antonio-yu avatar antonio-yu commented on September 2, 2024

@pwwang @rleyvasal
In the latest Rstudio (version 2021.09.0 ),it both works whether options.assume_all_piping = True goes before the datar importing or not.

{python}
from datar.all import  * 
from pipda import options,register_verb
from datar.datasets import mtcars
options.assume_all_piping = True 
mtcars >> mutate(carb_2=f.carb)

from datar.

pwwang avatar pwwang commented on September 2, 2024

@antonio-yu
Good to know. I believe it's more related to R/reticulate version.
Theoretically, it should work no matter options.assume_all_piping = True goes before or after datar importing.

from datar.

rleyvasal avatar rleyvasal commented on September 2, 2024

@antonio-yu, I can confirm that in the latest version of Rstudio (version 2021.09.0 ), options.assume_all_piping = True works irrespective of where it is entered - this is not an issue anymore.

from datar.

pwwang avatar pwwang commented on September 2, 2024

Then I will close this for now. If you have any related questions, feel free to reopen it or open new issues.

from datar.

rleyvasal avatar rleyvasal commented on September 2, 2024

@pwwang, just curious, do you know why the pipes work without pipda configuration in VSCode's Jupyter notebooks? but in RStudio notebooks we have to enter the following:

```{python}
from pipda import options
options.assume_all_piping = True
```

from datar.

pwwang avatar pwwang commented on September 2, 2024

@rleyvasal Just took a look at how Rstudio is running python. It actually executes python code with something like eval() wrapped by reticulate. It does not ship with the source code. So currently we need that assumption to let datar work. But I will keep on an eye on reticulate's evolution, and see if it'll be possible in the future. And maybe submit an issue to the repo at some time point.

from datar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.