-
Notifications
You must be signed in to change notification settings - Fork 82
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
Let's make uPyCratf a community project #3
Comments
@marekmansell Hi Marek! Sorry for the late reply, we are so glad and happy to receive your comment! It truly encouraged us, thanks! The MIT License is a good way to open source license, but we are still negotiating. UpyCraft supports Chinese and English now; and Multilanguage version surely will be released in the future. We are so happy to know that you will translate it to Slovak, we will give a hand if you need. After all, UpyCraftis designed for Micropython, python users, especially for beginners. We think its beginner friendly design must impress you a lot. It also designed to connect the open-source hardware to Micropython, Python in a more freely way. We really appreciate this warmhearted comment and your support. |
Hi Marek, |
I see a bug or two that would be easy to fix, but from the looks of it, DFRobot isn't currently interested in accepting contributions? |
Hi Jacob, |
@Aypac One of the unfortunate bits though is I am not sure if technically uPyCraft is open source... it might be a license violation to publish a forked version... |
Fair point! https://en.wikipedia.org/wiki/License-free_software |
Or @ouki-wang ? |
Hi everyone!
I can't express how happy I am to finally see this project go open-source. Over the last year or so I have organized a lot of micro:bit, EPS8266 & MicroPython workshops for beginners, kids and high school computing teachers. I have found uPyCraft to be currently the way to go. (ESPlorer is far too complicated for beginners, mu editor does not support ESP). We are also trying to bring ESP8266 and MicroPython programming in to our high schools (in Slovakia) and we are in need of a IDE for this purpose and that is why I would love to see uPyCraft become a reliable piece of software with a great community of contributors.
Licence
Every github projects needs one. Especially if people are to contribute to it. As uPyCraft uses PyQt4, I think there are 2 options - a commercial licence or a GPL compatible one. If it were on me, I would choose an MIT Licence.
Contributing and code style
I tried to run the source code through a PEP8 checker and there were far too many warnings and errors... If people are to contribute, there should be a definitive guide how to do this (including running a PEP8 check before every commit). This applies not only to whitespace, but for example also to importing (never do from PyQt4 import* but do from PyQt4 import QtWidget, QtButton, ...).
Comments
To see such a big project with so few comments and docstrings... It breaks my heart :-(
Testing
No tests mean that if someone breaks something, users can be the first to find out. This probably was not a problem when only a small group of people were developing the project, who knew all the inner workings of the code, but it certainly will be a problem in the future.
PyQt4 vs PyQt5
If uPyCraft is to survive, a change to PyQt5 is inevitable. Better sooner than later.
pip install upycraft
This would be very nice to have. Plus there will never be a need to create and maintain Linux binaries - just pip install it! (I would still create binaries for Win, however, all Linux computers already have Python installed). It is not that difficult to add a project to PyPI.
requirements
It would be better to have the requirements (for pip) listed in a requirements.txt file, instead of the README file.
Repo structure
I'd say the whole repo structure would do with some changes - the first thing I would do would be to move all of the source files in to a new upycraft folder and create only a simple run.py file in the root folder. I think the mu-editor could be a great source of inspiration (that is a well organized and well maintained community project)
Document everything!
The more README or Wiki text we have with guidelines how to contribute and what are the future goals of the project the better we will be able to help you in fulfilling them!
Translations
I would love to be able to translate the project to Slovak so that small kids only deal with one new language (Python) and not two (English). Python has really strong tools for translating projects and multiple language support would be a really cool feature!
Who should be using uPyCraft?
I think it is important to define for who should uPyCraft be designed for. I love the simple, user-friedly design, very similar to Arduino IDE - and as I aim to use uPyCraft with begginers and kids, I would leave do only such changes, which would be beginner friendly. Having said that, there still can be advanced features, just hidden in the top drop-down menu in order not to confuse beginners.
Sorry for the TL:DR post :-/
I would be happy to help with anything I can. For a proper project workflow, most of these points should have it's own issue and people assigned to the task. I think many people are using uPyCraft and many of them are willing to contribute.
The text was updated successfully, but these errors were encountered: