Skip to content
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

Open
marekmansell opened this issue Jan 14, 2018 · 7 comments
Open

Let's make uPyCratf a community project #3

marekmansell opened this issue Jan 14, 2018 · 7 comments

Comments

@marekmansell
Copy link

marekmansell commented Jan 14, 2018

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.

@NanaWangDFR
Copy link
Member

@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.
And you can run the source code directly through pyflakes checker.
Talking about comments, maybe you can help us to spread UpyCraft up, thanks a lot.
We are always focus on testing and keep updating. The further version will be better and better.
To PyQt4 vs PyQt5, we will replace it when reconcile Mac version and Windows version.
You mentioned to use pip install UpyCraft, that’s good and we will update it in the future. But the current period our main work is the code collation.
Regarding Repo structure, MU is a fantastic work and we will try to learn from it as much as possible.
Surely, we will keep preparing more documents as we can and your kindly help will be appreciated a lot.

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.
We will keep maintaining UpyCraft project after the open source and wish it can program a community in the future. We will analyze and adopt your recommends. We are lucky to get your focus and support as always. Thanks again, Marek.

@Aypac
Copy link

Aypac commented Nov 2, 2019

Hi Marek,
I would like to implement some of the changes suggested here. Have you guys made any progress in that direction? Is the version in this repo the latest version you have - i.e. does it make sense to base a new version of this? Do you process pull requests?

@ocdtrekkie
Copy link

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?

@Aypac
Copy link

Aypac commented May 20, 2021

Hi Jacob,
I actually cloned this repo and started merging the (years old) merge-requests: https://github.com/Aypac/uPyCraft_src
It does not seem to fully work right now. But I would be very happy to receive your pull request there. Would indeed be nice to have a version that is under active development...

@ocdtrekkie
Copy link

@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...

@Aypac
Copy link

Aypac commented May 21, 2021

Fair point! https://en.wikipedia.org/wiki/License-free_software
@DFRobot , could you say something about this?

@Aypac
Copy link

Aypac commented May 21, 2021

Or @ouki-wang ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants