Coder Social home page Coder Social logo

xraylarch's People

Contributors

damonwang avatar newville avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

xraypy

xraylarch's Issues

no tab completion in wxlarch

instead of a separate output window and input line, have a unified shell that prints a new prompt at the bottom when ready? We could put the larch->python transformations into the PyShell code with very little work.

I'd actually prefer to embed ipython, because I think it has better "magic" commands, coloring, error handling, and scipy/numpy integration, but I don't know how to put larch into ipython and I'd probably have to write a fair amount of glue to put ipython into a wx object.

no easy way to import a dev copy of larch

the executable script that runs a CLI interpreter is called larch, so the source is in a directory called lib, which means to get the dev copy you need to import lib instead of import larch. This is bad because we'll have to change the import statements every time we package a new release up for production.

defined variables can be implemented as properties of the containing group

currently, defined variables are instances of a DefinedVar class, and these instances get bound to a name in the symbol table. The DefinedVar class just re-implements the property functionality.

If you change your search groups, do the bindings in your defined variables change also? That is, are the symbols resolved each time the variable is accessed, or just once when it is defined?

larch interprets its PATH as ascending priority

So if we have
_sys.path = [ 'A', 'B', 'C' ]
and each directory has a copy of foo, then
import foo
will import a copy from A, then overwrite that with the copy from B, then overwrite that with the copy from C. This is not only inefficient but counterintuitive. We should follow the example of the PATH environment variable, which is interpreted as descending priority.

hide extraneous entries in Data tab's LarchFilling tree

e.g., builtin methods like capitalize for str objects

Most people will use this to browse through their data, so they will be more interested in variables than in methods.

Maybe move methods into the main text window for the object?

it gets annoying to type multiple indirections for each object starting from root

I'd like to make
mf.diamond_line_002.plot(x=mf.diamond_line_002.Sample_X, y=mf.diamond_line_002.i0)
look more like
cd mf.diamond_line_002
plot(x=Sample_X, y=i0)

A quick wrapper around an assignment into _sys.localGroup might work, if larch is smart enough to automatically convert Python namespaces (e.g., class namespaces) into groups.

open files in larch

sample syntax:

open("foo.002")

and it would guess the filetype, create the appropriate DataSheet, and show some chrome for plotting the data

plots are members of data sheets

better for them to be first-class in the dataviewer application, at the same level as data sheets, so they can more easily draw from multiple datasheets for their input.

should ask Dr. Newville how often people plot from different sources in the same graph.

reloading python modules seems to be broken

li("import csv")

where li is an interpreter, does not produce a csv symbol anywhere in the symbol table when run from within iPython

As a script, the initial import works but reloading does not restore deleted or altered attributes.

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.