Comments (12)
help(o::PyObject)
of a Python object works to get the docstring. The problem is that there is no documented way to associate help strings with new Julia functions.
The help
function internally uses a Base.Help.FUNCTION_DICT
dictionary, but I'm not sure if it is kosher to modify this. @StefanKarpinski, @loladiro?
from pycall.jl.
Relevant: JuliaLang/julia#3988. I'd really like a proscribed way to do this. cc: @JeffBezanson
from pycall.jl.
(I think you mean "prescribed". A proscribed technique would not be very useful. ;-)
from pycall.jl.
Hahah. Yes, that is what I meant.
from pycall.jl.
haha
from pycall.jl.
This is now possible with the @doc
macro. Is it possible to apply this to the methods of an object also so that ? object[:method]
would provide something useful?
from pycall.jl.
@MichaelHatherly, I can't figure out how to hook into the @doc
macro so that it calls a custom lookup function for a PyObject
.
Ideally, it would be enough to just define a Base.Docs.doc(o::PyObject)
method (and, in fact, I currently define such a method), but this doesn't work because doc
is only called with a Binding
object.
Does a hook function need to be added to Base.Docs for custom (lazy) docstring lookup?
from pycall.jl.
Does a hook function need to be added to Base.Docs for custom (lazy) docstring lookup?
Something like that might work. I'm not all that familiar with PyCall though, so couldn't say for certain.
from pycall.jl.
The point is that for o::PyObject
, there is a function doc(o)
to that returns a help string at runtime (this has to be called "lazily"...i.e., when help is requested, not when the object is created). Is there any way to fix Base.Docs
so that this or a similar method could be called when you do ?o
?
from pycall.jl.
In that case, yes we'd need to add support for that in Base.Docs
. I've not got much time at the moment to work on this myself at present though.
from pycall.jl.
OK, we can do this now!
from pycall.jl.
Awesome, thanks for getting this in!
from pycall.jl.
Related Issues (20)
- pytype_mapping confusion
- Building PyCall Offline with Mamba HOT 4
- Convert memory address to Python pointer HOT 3
- notable startup latency HOT 3
- How to detect if Python object is class/function/property
- Incompatible with PythonCall.jl HOT 1
- Pkg.build("PyCall"), json.decoder.JSONDecodeError: Extra data
- ERROR: LoadError: syntax: invalid interpolation syntax: "$\"
- the ENV["PYTHON"]="path/to/python.exe" not work for python3.12.0 HOT 4
- LoadError: Couldn't find libpython while building PyCall HOT 5
- PyCall 1.96.2 breaks tests at Imbalance.jl HOT 5
- Error on building 'PyCall' argument not expected: --satisfied-skip-solve HOT 1
- buildutils.jl broken on Python 3.12 HOT 1
- Remove support for Python <=3.7
- Reproducible garbage collection-related segfaults on Python 3.12 HOT 3
- How can I use rospy through PyCall directly? HOT 1
- julia-1.10.0 _Py_DECREF segmentation faults (not present in 1.9.3)
- `Segmentation fault(core dumped)` when using multiple threads
- REPL crashes when importing pyvista objects
- Howto - Python yield statement HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycall.jl.