daegontaven / lattice Goto Github PK
View Code? Open in Web Editor NEWHooks for realtime scientific systems
License: GNU General Public License v3.0
Hooks for realtime scientific systems
License: GNU General Public License v3.0
There is no easy way to locate bugs in the program. Adding a logging module would hopefully ease finding bugs.
The current console self.ui.console_log
is too slow for the purposes of a real-time console. Hence we had to buffer the output with a delay. However, a different strategy is to use a QListView which is better at processing large amounts of data moving fast.
Currently the readline
module is not supported on windows machines and will result in an ImportError
.This also renders the whole distribution incompatible with Windows based operating systems.
This issue can solved by either writing to files directly or by using a replacement on windows.
Note: Removing the module means that rlcompleter
cannot be used to support auto completion in the future.
Qt Console is has a lot more features than the current console and avoid some common pitfalls.
This will hopefully serve as the reference implementation for any other jupyter kernels. There might be conflicts in trying to access GUI objects from a separate process kernel.
Syntax errors and tracebacks need to be highlighted in a bright color like red.
This needs to be solved individually for each language. There is no general way known yet. The error will usually pass through this method: https://github.com/daegontaven/AlphaHooks/blob/3b884361451cbbd86a8ef9e819dc7f24d899f3f2/AlphaHooks/widgets/console/display/python.py#L68-L83
send_console_log
send_console_error
Blocking functions like time.sleep()
cause output from sys.stdout
to be appended to console_log
when a loop is done executing. This might be a problem with the buffer since disabling it works like a charm. But it is hard to be sure since it could also be a problem with blocking from the interpreter's side. This bug also prevents while loops from running at all.
Running a for loop within the console of AlphaHooks.
import time
for i in range(10):
time.sleep(1)
print(i)
The loop will wait a full 10 seconds. Then it will print() everything at once.
It has been tested to show that the prints() do execute. This can be observed in the stdout. The stdout stream that is being captured is added to a buffer and the buffer appends the stream to the console. The theory is that the events are not being processed until the loop exits. This also unusually coincides with the return of InteractiveConsole.runcode(self, code)
.
The editor doesn't seem to highlight all keywords. Using from keyword import kwlist
is a better option to add keywords to the lexer. But async
/await
is missing from the list that is returned.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.