Hello, I'm Adam Furman, a graduate student and researcher.
Find out more on my website.
This GitHub contains some older personal projects, and newer code related to my research.
A touchscreen interface, library, and app platform for Python and Raspberry Pi.
License: MIT License
Hello, I'm Adam Furman, a graduate student and researcher.
Find out more on my website.
This GitHub contains some older personal projects, and newer code related to my research.
Hey, is this project have any TODO's? Maybe that will be great to make a roadmap overtime.
TEST ONLY, to fix badge issue.
Is it functional with Travis? Since the code doesn't include any tests at all.
The default PythonOS does not run on RaspberryPi 3 with 3.5 inch display.
I solved this by adding to pyos.py in the GUI object before
pygame.init()
if( _platform == "linux" or _platform == "linux2"):
print "is Linux"
os.putenv ("SDL_FBDEV" , "/dev/fb1")
os.putenv("SDL_VIDEODRIVER", "fbcon")
os.putenv("SDL_MOUSEDRV", "TSLIB")
os.putenv("SDL_MOUSEDEV", "/dev/input/touchscreen")
print "init pygame"
pygame.display.init()
print "get screen size"
size = (pygame.display.Info().current_w, pygame.display.Info().current_h)
print "set screen mode"
self.screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
print "Framebuffer size: %d x %d" % (size[0], size[1])
And you need the platform package
from sys import platform as _platform
The Android-like app launcher is very nice, however, the icons don't look as beautiful as they could (sorry @furmada , but are they drawn with MS Paint?). I think of the following:
svg
and then exported to png
.I would really love to make UI more beautiful. If this is currently not very important on your TODO list, we could keep this for the future.
doesn't work on any of the following systems I tried (Python OS latest):
good job on the project btw.
I'm trying to get PythonOS to install on a Nanopi with a buydisplay lcd. The screen starts up and I get cursor movement but the cursor is stuck in the top right corner.
I did some reading around and it seems pygame has an issue with SDL > 1.2.15-5. I wanted to find out if anyone else has run into this issue and if so was a downgrade what fixed it or a jump to a version of SDL 2?
THanks! Great application here!
I really like this project, however, it's still Python 2 only. It would be nice to see it run under e.g. Python 2.7 - 3.x (or even 2.6 to the newest Python).
To be honest, I don't know how hard this would be, I guess simply replacing all the print
s is not enough.
I guess this is important to have a stable codebase in the future, and would possibly bring some (small) speed improvements too.
pygame 2.1.2 (SDL 2.0.20, Python 3.10.3)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "/Users/masterkebabsuperstar/PythonOS/pyos.py", line 20, in
from thread import start_new_thread
ModuleNotFoundError: No module named 'thread'
THIS IS INACCEPTABLE WTH!
https://github.com/furmada/PythonOS/blob/master/apps/shutdown/__init__.py
Hi, is this code actually shutdown the host system too? It says sudo system shutdown
, and I think it's a yes. Can I ask, if pyos were installed in Pi, what it will do? Is this linux/OSX specific code?
I thought this app only shutdown the pyos, and not the host system.
It seems Python 2.7 removed builtins module and you need to install future package for it to run with Python 2.
When the timer reaches 00m:00s, the minutes text covers up the seconds.
Hi,
first thing to say I like the idea of PythonOS very much.
I thought about adding some apps for my radio project. Then I had the idea to add a gui component for it and was a bit frighten of that monolithic 2k loc block. So I started to break it down in a more modular way.
a first draft can be found here: https://github.com/NeoBelerophon/PythonOS/tree/WIP_refactoring
I would like to here what you think about it. IMHO this also could make portion to Python 3 easier and lower the entry barrier for other developers.
BR
Neo
Which license this project will be based on? GPL? BSD? MIT? etc?
Does pythonOS support regular computers?
Hey @furmada , did you ever tried travis.ci for automatic test for this repo? It seems gonna save a lot of time finding Python specific bugs with the testings. You also can customize the testing to suit this project, and maybe set a test rules for any other contributors in the future for this project.
Thanks.
First of all: great job. I've not seen such an awesome project. I did not walked trough the full sources, but this has been a lot of work I think.
While looking over the apps and all the functionality, I got the following traceback. Sorry, don't know which app I had open :(
Some infinite recursion which is stopped when the default recursion depth is reached... Hopefully I can contribute something to resolve this issue.
EDIT: I ran the code under Ubuntu 16.04 LTS with Python 2.7.12 and Pygame 1.9.1release.
Python OS 6 Error Report
TIME: 2016-09-25 14:58:55.693280
Open Applications: ['image-viewer', 'task-manager', 'about', 'home']
Message: Event execution error
Additional Data:
Click event: <__main__.IntermediateUpdateEvent object at 0x7f132a8816d0>
Traceback:
Traceback (most recent call last):
File "pyos.py", line 2648, in main
clickedChild.onIntermediateUpdate()
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 553, in onIntermediateUpdate
self.internalClickOverrides["onIntermediateUpdate"][0](*self.internalClickOverrides["onIntermediateUpdate"][1])
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1368, in dragScroll
self.scrollContainer.scroll(ydist)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1396, in scroll
self.scrollTo(-self.maxOffset + self.height)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1408, in scrollTo
self.scroll(-self.offset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
...
Several thousand lines of the above...
...
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1408, in scrollTo
self.scroll(-self.offset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1408, in scrollTo
self.scroll(-self.offset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1408, in scrollTo
self.scroll(-self.offset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1408, in scrollTo
self.scroll(-self.offset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1408, in scrollTo
self.scroll(-self.offset)
File "/home/linus/Schreibtisch/PyOS 6/pyos.py", line 1400, in scroll
self.scrollTo(self.minOffset)
RuntimeError: maximum recursion depth exceeded
I want to make an app market for installing and developing apps.
Sorry for opening so much issues, but I just found, that in the file res/gallery.ds
you have this:
{"dsApp": "gallery", "path": "C:/Users/Adam/Documents/eclipsepy/pyos6/res/icons"}
Is this just fine or will it break things?
Hi, I tried the following quick start tutorial in the README.md. After creating the app.json and init.py with its content, I don't know where to go from there.
Now, enter the About app and long press the "Start State Shell" button to launch the Debug App Bind feature. Open your app's folder, then press the green dot button to select it and associate the app with the system.
I don't know how to go to the 'Start State Shell' and even install 'pyos' properly on my system. Mine is not raspberry. I'm running Ubuntu 16.04. (32 bit)
I tried running pyos.py in the root of directory, and run fine, but it's just print on the window screen, and nothing else. This is what I see -
How to actually use this program? Going to wiki only shows you the API documentation.
Thanks for your advance.
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.