-
Notifications
You must be signed in to change notification settings - Fork 118
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extended Python interface in the neuron
module
#1081
Comments
Some of this stuff is already directly accessible through the Section object, e.g.
|
Yep! So that's the "low hanging fruit"/Pythonic/modern aspect of it, we'd be in a prime position to extend the interface with cleaner, more expressive and intuitive APIs that make what's already there easier to use and find (e.g. Another big one would be that we could much easier fully document this using |
For what it's worth, you could think of
|
Yea, what's in Speaking of
Anything else that the object Things like |
A section is not in general a cylinder. It's the union of potentially many frusta and many compartments (segments). |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Hi everyone, this is going to be my longpost discussion thread on all things Python interface! Join me!
The
neuron
root module in Python is currently an empty redirect to theh
HocInterpreter
but as I see it, being the root namespace .. and empty, it could house an extended Python interface to the things inside ofnrn
and the things accessible throughh
.I'd like to propose thinking about a Python-first interface that leaves behind all historical limitations that come with the C, HOC roots of NEURON and focus on what makes the Python interface great. That is ofcourse until it gets replaced by the next thing. Rust-NEURON anyone?
To get started here are some outlines and ground rules for my ambitions of this Python interface (let's debate!):
nrn
to preserve base functions but don't expose all of them directly to the userh
in a shiny new Pythonic coat.h
APITo give you an idea I have something like this in mind (that thanks to @ramcdougal I can actually start work on now! See #1096 )
The take away point of this is that us Python users/devs can create a Python interface from Python and give it whatever API NEURON's Python community decides on, empowering voiceless Pythonistas to contribute code in the language they're using, and without dealing with a "bastardized" hoc interface and its inherent historical difficulties (given that we can do the things we want still using that same interface under the hood). I see it as a noninvase enrichment of NEURON with a modern Python interface.
The text was updated successfully, but these errors were encountered: