-
Notifications
You must be signed in to change notification settings - Fork 27
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
common module causes problems #98
Comments
I completely agree with the pollution of namespace from smile.common. This solution was adopted as a compromise between ease of use for people just starting and more experienced programmers. Note that it used to be that importing smile, itself, populated the entire namespace and we switched to smile.common specifically so that should you choose not to pollute the namespace you don't have to do so. That said, it's still the case that simply importing the visual states brings in some features you may not need at all and it is on the docket to split out these states into more of a hierarchy so users can pick and choose what gets imported. Our hope, too, is that we turn smile into a lightweight app that includes all of its dependencies and you simply use it to run your experiment. This will make deployment on OSX and Windows much easier and is likely a requirement for running apps on Android and iOS, which we've been working on making much easier. With regard to the requirements.txt, that should definitely be in there, but is it really the case that importing smile.common causes an import of a library other than kivy? If so, please let us know and we'll make sure to pull the offending item out of common and/or add it to the requirements.txt. Finally, thank you for beginning work on some unit tests. I'm happy to discuss what you are doing if you'd like, so we can coordinate our efforts, either in a different offline thread or over Skype (or other video conferencing). |
Pygame is a pretty hard requirement for Kivy (for some reason Trying to import from
After
After I will follow up with you via email to discuss what we would like to do with SMILE. |
According to the README, there is only one requirement beyond Python, namely Kivy. However, the
smile.common
module is imported all over the place for no good reason and just ends up polluting the namespace in a lot of the examples. Furthermore, because it imports everything, it pulls in a lot of "optional" requirements and forces them to be installed before being able to run any of the examples.A temporary workaround is to include a
requirements.txt
file and make note that the user shouldpip install -r requirements.txt
prior to installation of SMILE (I am working on this as I am starting to add some proper unit testing). A better solution is to eliminate thesmile.common
module altogether and only import things as needed.The text was updated successfully, but these errors were encountered: