Coder Social home page Coder Social logo

python's Introduction

Light Table

Build Status Build Status Build status CircleCI codecov

Packaging status

Join the chat at https://gitter.im/LightTable/LightTable Code Shelter

Light Table is a next generation code editor that connects you to your creation with instant feedback. Light Table is very customizable and can display anything a Chromium browser can.

This is a development branch and is not clean like master and can have many breakages.

Downloads

Prebuilt binaries are available through lighttable.com. To build and use a developer version of Light Table see these instructions.

For OSX users, the install process involves the following steps until we officially sign our OSX App:

  • In Finder, Ctrl-click on LightTable.app/ and select Open.
  • When you see this prompt about LightTable being unidentified, click Open.
  • If Ctrl-click doesn't work for you, open System Preferences > Security & Privacy > General, temporarily change "Allow apps downloaded from:" to Anywhere and double click on LightTable.app.

Documentation

Plugins

Light Table has a powerful plugin system that allows almost any aspect of the editor to be extended and customized. With over 100+ plugins, the community is able to offer eval support for new languages, create domain-specific IDEs and much more. If you're interested in writing your own plugin, see the Write a Plugin and Submit a Plugin docs. For an example ClojureScript plugin, see LightTable-Declassifier.

Community

Want to ask a question or just say hi? Please do :). Our mailing list is the Light Table Google group. We also hang out in #lighttable on Freenode IRC.

For Developers

LightTable is primarily written in ClojureScript. If you aren't familiar with it, check out David Nolen's tutorial.

In order to develop for Light Table, you will need to install a developer version of Light Table. For more information, read CONTRIBUTING.md and For Developers.

License

All files in this project are under the LICENSE.md license unless otherwise stated in the file or by a dependency's license file.

Credits

Big thanks to all our contributors! Thanks of course to Kodowa for all they have done for Light Table and also to Cognitect for providing friday contributions for one of the core team members.

python's People

Contributors

cldwalker avatar ibdknox avatar jamii avatar mikeinnes avatar rockyroad29 avatar sbauer322 avatar stemd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python's Issues

"Invalid behavior: :lt.objs.eval/inline-exceptions"

When I press Ctrl + Enter on a simple python file that only print a message, LightTable print some error info.

system: window 7
LightTable version:0.8.4

all console log:

"Invalid behavior: :lt.objs.eval/inline-exceptions"

TypeError: Cannot read property 'parent' of null
    at lineNo (D:\tools\LightTable\core\node_modules\codemirror\codemirror.js:5202:13)
    at changeLine (D:\tools\LightTable\core\node_modules\codemirror\codemirror.js:2797:15)
    at addLineWidget (D:\tools\LightTable\core\node_modules\codemirror\codemirror.js:4340:5)
    at eval (D:\tools\LightTable\core\node_modules\codemirror\codemirror.js:3104:14)
    at eval [as addLineWidget] (D:\tools\LightTable\core\node_modules\codemirror\codemirror.js:1435:28)
    at a (file:///D:/tools/LightTable/core/node_modules/lighttable/bootstrap.js:23761:52)
    at b (file:///D:/tools/LightTable/core/node_modules/lighttable/bootstrap.js:23765:14)
    at Function.eval (file:///D:/tools/LightTable/core/node_modules/lighttable/bootstrap.js:29963:157)
    at c (file:///D:/tools/LightTable/core/node_modules/lighttable/bootstrap.js:6196:14)
    at a (file:///D:/tools/LightTable/core/node_modules/lighttable/bootstrap.js:6236:18)

Exception occurs when tring to eval Python code

OS: Manjaro Linux
Default Python version: 3.5.2
LT installed from AUR (package lighttable-git)

I created a file test.py with the following code:

print(2+2);

And then tried to eval it with Ctrl+Shift+Enter, which resulted in the exception below:

Traceback (most recent call last):
File "/usr/lib/lighttable/resources/app/plugins/Python/py-src/ltmain.py", line 193, in handleEval
code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'eval')
File "/usr/lib/lighttable/resources/app/plugins/Python/py-src/ltmain.py", line 50, in ensureUtf
if type(s) == unicode:
NameError: name 'unicode' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/lighttable/resources/app/plugins/Python/py-src/ltmain.py", line 197, in handleEval
code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'exec')
File "/usr/lib/lighttable/resources/app/plugins/Python/py-src/ltmain.py", line 50, in ensureUtf
if type(s) == unicode:
NameError: name 'unicode' is not defined

screenshot_20170110_220927

Maintainer proposal

I wrote 5 days ago in #lighttable irc channel following:

hi, regarding issue https://groups.google.com/forum/#!topic/light-table-discussion/Z4px5li-Aj0 (Python3 on Linux)
I got it working, but I'm not too happy with my solution
in short, I applied pull request: #47 to solve Python3 incompatibility
and on my OS I symlinked /usr/bin/python to python3 instead of python2
(Ubuntu is already slowly phasing out python2, so this is no biggie for a temporary workaround)
what I would like to do is better solution, forward & backward compatible - meaning, having Python plugin compatible with Python 2 and 3 branches
detecting which version should not be too hard, parsing #! line for python or python3 is trivial
what I don't know (ATM) is how to change coupling of LT to Python 2 or 3 in smarter way than changing symlinks in /usr/bin :)
I'll (eventually) find it myself, but for LT dev giving me pointer in right direction should be trivial (and I would be immensely grateful :)))
...
LightTable is simply the best eye candy of an IDE I ever saw :)
and if I could upgrade it a bit (not much, but some things like this Python2/3 compatibility is necessary), I could start using it exclusively

As I got zero reactions in 2 or 3 days, I mailed last commiter to this project with this and some more ideas, and got direction to open an issue here. Important part follows:

I thought to put up few PR's to this repo and then to ask for status of maintainer, but as there are already 9 pull requests of which at least half need to be applied before my work starts, why to wait?

What I wanna do with this repository (first priorities):

  • update Python external dependencies (that's only CodeMirror, I tried its python.js from 20.4.2016, it's working fine), as for this = LightTable/Python you have following:
print(now()) gives 7.6.2016
print(this.date()) gives 22.1.2015
print(this.CodeMirror.date()) gives 19.5.2014
  • merge all PRs that can be merged
  • implement support of Python 2 & 3. LightTable 0.8.1 is working with Python2, there are 3 PR's which make it work with Python3, I tried it and it is working fine with both Python2 and Python3 on my PC, but more testing would be nice (on different OS's, although results should be the same as changes in Python code are equivalent to changes in Java code, result should be the same everywhere). Also it would be nice that if on the first line of your something.py file you have /usr/bin/env pythonX or /usr/bin/pythonX you would not need to change manually [:app :lt.plugins.python/python-exe "/usr/bin/pythonX"] in your user.behaviors, that should be detected and done automatically on the fly.
  • better documentation for this plugin, e.g. how to set/change Python version used for REPL, how to set/change Python version used by this plugin ([:app :lt.plugins.python/python-exe "/usr/bin/pythonX"] and [:app :lt.plugins.python/python "/usr/bin/pythonY"]). That could be wriiten also as - starting documentation, as currently there is none - plugin simply works after installing if you have only Python2, but if you have only 3 or both Python 2 and 3 and default is 3 - there should be some documentation how to manage that situations.
  • solving issue #40 (multiline comments)
  • implementing doc search
  • implementing linting (pylint is first what comes to mind)

I'm aware that some of above is trivial for someone skilled in Clojure & LightTable & Python, but evidently none has come in last 2 years, so I would like to try. I'm skilled in Python, in Clojure not as much, but I like LightTable enough to be ready to learn a few new tricks.

Bad Integer/Float behavior.

Evaluating 1/4 should report 0.
It does report 0.25.

Is there any solution available?

Is the code being translated to JS somehow? That would explain it.

EDIT: This can be problematic when dealing with list offsets which require division.
EDIT2: Picture: http://i.imgur.com/imGCZCa.png

Invalid utf characters in linux

This is the error when trying to execute a file in Linux that has been made in Linux.
Traceback (most recent call last):
File "/opt/LightTable/plugins/python/py-src/ltmain.py", line 191, in handleEval
code= compile(code, data[2]["name"], 'exec')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128)
screenshot from 2014-02-01 02 46 57

Minor bugs: Eval on strings

With newline character

Eval of "Hello\nWorld" reports Hello.

Nothing on console.

http://i.imgur.com/toR5aKh.png

With tabs or multiple spaces

Eval of "Hello\tWorld" reports Hello World (single space).
Eval of "Hello\t World" (one or more spaces between Hello and World) reports Hello World (single space).

With comments

"""Hello World!""" reports Hello World!.
It should report nothing.

PEP8 code style

I know this is not of the highest priority, but looking at the code there are a few issues with respect to generally accepted code styling in Python (see here: http://legacy.python.org/dev/peps/pep-0008/). E.g. inconsistent indentation, camelCase function names etc...

If there are no strong feelings, I can clean this up quickly and submit a PR?

Exception when running python 3 on windows 7

I just installed LightTable and used it fine with JavaScript, but when I tried using python 3 I got this exception:

Traceback (most recent call last):
File "P:\LightTable\resources\app\plugins\Python\py-src\ltmain.py", line 193, in handleEval
code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'eval')
File "P:\LightTable\resources\app\plugins\Python\py-src\ltmain.py", line 50, in ensureUtf
if type(s) == unicode:
NameError: name 'unicode' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "P:\LightTable\resources\app\plugins\Python\py-src\ltmain.py", line 197, in handleEval
code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'exec')
File "P:\LightTable\resources\app\plugins\Python\py-src\ltmain.py", line 50, in ensureUtf
if type(s) == unicode:
NameError: name 'unicode' is not defined

What I did was assign a = 3 just to see if there were no problems, and I got this after running with ctr+shift+enter.

Auto closing single quotes

I don't know if this is really a bug or a convention chosen, but i couldn't find it in the issue tracker earlier. When adding the behavior [:app :lt.objs.settings/pair-keymap-diffs], the single-quote is does not wrap around words in python. In Clojure i understand the need for having the single-quote as non-wrapping as it designates a symbol, but in python it feels like unexpected behavior.
Just my two cents ^_^

from __future__ import print_function breaks with file argument

Issue #23 shows that evaluating the print function imported from __future__ breaks with a syntax error:

    from __future__ import print_function
    print('spam', file=sys.stderr)
Traceback (most recent call last):
  File "/home/dosmo/repos/LightTable/builds/lighttable-0.8.0-linux/resources/app/plugins/Python/py-src/ltmain.py", line 199, in handleEval
    code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'exec')
  File "future-test.py", line 4
    print('spam', file=sys.stdout)
                      ^
SyntaxError: invalid syntax

This is different from the other problem printing to sys.stderr. It looks as if the compile function needs to receive the proper compiler flags for the syntax changes from __future__ in order for the plugin to operate correctly. Docs for the compile function and the future module.

From a Python2 interpreter this fails with the syntax error:

>>> compile("print('spam', file=sys.stdout)", "testname", "exec")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "testname", line 1
    print('spam', file=sys.stdout)
                      ^
SyntaxError: invalid syntax

Where using the compiler flag for the print_function does not:

>>> __future__.print_function.compiler_flag
65536
>>> compile("print('spam', file=sys.stdout)", "testname", "exec", flags=65536)
<code object <module> at 0x7fb50699ecb0, file "testname", line 1>

It may be possible to fix this by checking if any future statements are executed, obtaining the proper compiler flags from them, and feeding them to later calls to compile.

indentation in python mode broken in 0.6.6

I'm not certain that it's the fault of this plugin, but I recently updated LightTable to 0.6.6 and noticed a regression in indentation of Python code.

Previously, when I would type:

foo(a, <RET>

my cursor would be directly below the "a". In 0.6.6 it's placed directly below the "(".

NameError: name 'unicode' is not defined

just a very simple code : print ("first"), have issue:

Traceback (most recent call last):
File "\AppData\Local\LightTable\plugins\Python\py-src\ltmain.py", line 193, in handleEval
code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'eval')
File "
\AppData\Local\LightTable\plugins\Python\py-src\ltmain.py", line 50, in ensureUtf
if type(s) == unicode:
NameError: name 'unicode' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "AppData\Local\LightTable\plugins\Python\py-src\ltmain.py", line 197, in handleEval
code= compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'exec')
File "
\AppData\Local\LightTable\plugins\Python\py-src\ltmain.py", line 50, in ensureUtf
if type(s) == unicode:
NameError: name 'unicode' is not defined

CodeMirror sux

Hi! I tried to make my theme for LightTable and I just can't tell you how ugly it is as for CodeMirror singleOperators and wordOperators have the same style and with def and class too. I give up.

Can't print to stderr

When printing to stderr, nothing shows up in the console.

    import sys
    print >> sys.stderr, "test"
    import sys
    sys.stderr.write("test2")

Both of these ways work if you replace stderr with stdout.

This raises an error for both stderr and stdout:

    from __future__ import print_function
    print('spam', file=sys.stderr)
Traceback (most recent call last):
  File "~/Library/Application Support/LightTable/plugins/Python/py-src/ltmain.py", line 267, in ipyEval
    compile(ensureUtf(code), ensureUtf(data[2]["name"]), 'exec')
  File "test.py", line 9
    print("test", file=sys.stdout)
                      ^
SyntaxError: invalid syntax

Implement inline eval

This covers LightTable/LightTable#760; the original comment from that issue:

When using Python to evaluate code inline, Light Table seams to evaluate the whole file upon connect. This causes the evaluator to spend a lot of time if there are time consuming functions or if there are errors in the file. (with a spinning working indicator that doesn't stop).
As a workaround, I have to cut everything but the first 10 lines of code, save the file, evaluate the file, paste the cut part again, save the file again; and then I can evaluate the code inline normally.
Is there a better way for this?

I have tested it with OSX Lion and Mountain Lion,
Versions 0.4 and 0.5 of Light Table (0.5.2)
Python 2.7.1
pyzmq==13.1.0
ipython==1.0.0

A very detailed comment in the aforementioned issue with lots of details:

Did some digging into this. The reason behind this behaviour is that in order for your code to run in the namespace of your module/file, the Light Table ipython connector code needs to pass the __module__ object corresponding to your file to ipython. In order to get a handle on that __module__ object it needs to import your file, causing the code in the whole file to run (since it is the first import of your file). There are a number of workarounds and potential avenues for fixes:

  1. A simple workaround is to put your code in a
if __name__ == "__main__":
    #code here

block. This is the standard Python move and will stop that code being run on import - pretty good.

  1. Another option is to change the Python eval plugin so it only evaluates in your file/module's namespace when evaluating the whole file. With the following change, when just evaluating a selection/single line it will evaluate in the __main__ namespace. I'm not certain if this is the best solution for all, but in the meantime this is my preference. You can implement this change yourself with a simple edit to ltmain.py in the python plugin (on osx it's at ~/Library/Application Support/LightTable/plugins/Python/py-src/) as follows:

Add this if to py-src/ltmain.py at line 242 and indent the try block so lines 242 to 246 look like:

if all(subsection_of_code_keys not in data[2] for subsection_of_code_keys in ["pos","meta"]):
    try:
        ltipy.setNs(data[2]['path'])
    except Exception as ex:
        jlog(ex)

Note that with this fix, evaluating the whole file (ctrl/cmd-shift-enter) will move the ipython into the module's namespace from then on. Subsequently evaluations of a selection/one line at a time will be done in the module's namespace, so you can get the current behaviour by evaluating the entire file first. This seems to be pretty good for me so far, though I've only just started testing it.

  1. A third option for a fix is to automate the process of juanpr2, and copy the contents of the current file to a temp location, clear the contents of the file, save it, import it, then restore the contents of the file. This seems hackish/risky to me and running in the __main__ namespace seems to make sense to me for the most common use cases. However, someone may have a reason/use case I've not considered where not running in __main__ is required, in which case something like the above might be needed.

  2. Another idea would be an option to enable/disable running single line/selection evals in the __main__ namespace (or without attempting to change namespaces), but implementing that would require a little more time than I can afford right now.

Interested to hear other people's thoughts. I'll post a gist of my ltmain.py shortly, but changing it yourself is not hard, and if that scares you, workaround 1) isn't that bad...

"TypeError: embedded NUL character" evaluating Python file with a path containing spaces on Windows

Copied from both comments in LightTable/LightTable#1691; first comment:

[This was copied mostly as-is from a comment I made on issue #1640.]

I downloaded Python 3.4.1 and ran the following code in a Python file in Light Table:

print("Hello world!")

I can see 1640 [stdout]: Hello world! in the Light Table console (where 1640 is the folder in which the Python file is located).

I do however get exceptions:

Traceback (most recent call last):
  File "C:\Users\kevitt\Documents\LightTable\plugins\python\py-src\ltmain.py", line 187, in > handleEval
    code= compile(code, data[2]["name"], 'eval')
TypeError: embedded NUL character

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\kevitt\Documents\LightTable\plugins\python\py-src\ltmain.py", line 191, in handleEval
    code= compile(code, data[2]["name"], 'exec')
TypeError: embedded NUL character

Base on a cursory review of Google search results for TypeError: embedded NUL character I'm guessing that some file path needs to be escaped.

The full path of my python file is C:\Users\kevitt\Documents@cases, open\1195\1640\hello-world.py.

If I evaluate the code in a copy of the Python file with the path C:@test\case1195\1640\hello-world.py there are no exceptions reported.

second comment:

Thanks for the thorough report Kenny. For anyone interested in digging into this, this would be a good place to start considering escaping spaces.

Windows 7 Error: Can't open file py-src\ltmain.py

My user name on Windows 7 has a space char in it. When I attempt to evaluate a python statement I get the following error:

  python: can't open file '"C:\Users\<user name>\AppData\Local\LightTable\plugins\Python\py-src\ltmain.py"': [Errno 22] Invalid argument

On Windows 7, calls to proc/exec should not wrap the args in quotes. In this case remove call to escape-spaces from https://github.com/LightTable/Python/blob/master/src/lt/plugins/python.cljs#L89

See Windows 7 "can't open file py-src\ltmain.py" error for details on why wrapping args in proc/exec calls is a bad idea even on Windows.

Error message does not include the filename

From LightTable/LightTable#2122:

The unknown file is the file that I was currently working in and trying to run the simulation from inline

screen shot 2016-01-19 at 8 39 57 am

Traceback (most recent call last):
File "/Applications/LightTable.app/Contents/Resources/app/plugins/Python/py-src/ltmain.py", line 162, in handleEval
toExec.append(handlePos(code, data[2]["pos"]))
File "/Applications/LightTable.app/Contents/Resources/app/plugins/Python/py-src/ltmain.py", line 125, in handlePos
a = ast.parse(string)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ast.py", line 37, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "", line 57
for i in range(0, )
^
SyntaxError: invalid syntax

Python default logging isn't being output to the console

This covers LightTable/LightTable#712. The original comment [bold added by me for the relevant portions]:

Couple things on python's console output:

  • I get a lot of "execing" "execed" and "evaling" when running python scripts that belong to LT and not my script (I assume they were part of your debugging output).
  • The second point is logging. The logging output is not being shown on the LT console (unless I write to the logger on the same file).

Essentially, the output from evaling the code inside LT compared to doing "python foo.py" is very different and most importantly, it's missing all the debugging output from my own code.

Remote python session

Hello -

Is there any way that I could configure LT to connect to a remote python session? Working with LT (0.7.2) on Windows 7, but developing over ssh to a unix server where my python lives.

Thanks!

Eval runs all code instead of just current line

Copied [and formatted] from several comments on LightTable/LightTable#1673:

it's often execute all codes even if I press ctrl+enter at the first line.

Example code:

import win32com.client #press ctrl+enter at this line,an IE instance is generated.
ieapp=win32com.client.Dispatch("InternetExplorer.Application")
ieapp.Visible=True

as above code, when I eval current line by press ctrl+enter at line 1,the second line is also evaled,and an IE applicathion is showed,thus line 2 and line 3 are also executed.

Smart-indent not outdenting correctly with Python

Copied from the original comment on LightTable/LightTable#1627:

I'm running into a roadblock using Light Table with python because the smart-indent feature isn't out-denting when it should after functions or classes.

Ex. before smart-indent:

class Dog:
    kind = 'canine'
    def __init__(self, name):
        self.name = name

class Cat:
    kind = 'feline'
    def __init__(self, name):
        self.name = name

After smart-indent:

class Dog:
  kind = 'canine'
  def __init__(self, name):
    self.name = name

    class Cat:
      kind = 'feline'
      def __init__(self, name):
        self.name = name

Not only did it reduce the tabs down to 2 spaces, it also didn't pickup on when to outdent causing the sibling classes to become nested.

This is a major blocker for polyglot Light Table users who use python.

LightTable 0.6.7

Python connection stalling on argparse

I am using Lighttable v0.6.2. If I try to evaluate (Ctrl-Shift-Enter) the following code snippet, Lighttable stalls under Python v3.3.3.

!/usr/bin/python

import argparse

parser = argparse.ArgumentParser()
parser.add_argument(
"-n","--nodes",
help ="number of host nodes",
type = int,
default = 20
)
parser.add_argument(
"-s", "--server",
help ="address",
type = str,
default= "http://localhost"
)
args = parser.parse_args()
server=args.server
n_hosts = args.nodes

Multiline comments in Python doesn't compile

Copied from the original comment in LightTable/LightTable#1200:

OS : Debian testing
Lighttable version : 0.6.2 (64 bit) (binary version 0.8.4)
Python version : 2.7.6

How to reproduce :

  • create a new file "test.py" and open it in LighTable
  • create a multiline comment
'''  
This  
is a  
multiline  
comment  
'''
  • execute the file (CTRL + SHIFT + ENTER)

Current results : Stacktrace saying "SyntaxError: EOF while scanning triple-quoted string literal"

Expected results : normal compilation.

Note on Python comments:

Thanks !

EDIT :
Change the code block to correctly displayed the line break.
Change the shortcut to execute the file to CTRL + SHIFT + ENTER

Show values of assignments

Right now, Light Table is only marginally useful for python, because it doesn't show the value of assignments inline, the way it does for expressions, requiring python users to add expressions to the code after the assignments to see the value of the assignments.

I realize that this is the behavior of the python interpreter itself, however, one potential way to circumvent it would be for Light Table to detect assignments, and behind the scenes pass the left hand side of the assignment to the interpreter as an expression to get the value after the assignment and display that in the Light Table editor to the right of the assignment instead of a not-so-helpful checkmark.

Fixing eval support for iPython

The core team doesn't use Python or iPython at work and doesn't have the bandwidth to look into this. Happy to take contributions from anyone interested digging into this. We're also looking for a maintainer for the Python plugin, ideally someone who uses it for work. #31 seems like a possible solution but the contributor could use a review.

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.