Comments (5)
@sz144 Many thanks. It is great that you bring up this issue. It will be an important change/enhancement so we'd better consult more references to decide what is the best (i.e. modern and professional) approach for us and discuss in a pykale meeting to make a decision and implement.
Since we are aiming for the pytorch ecosystem, we should consult recent libraries there more (e.g. those at the bottom of the contributing guidelines). For example, utils
is common for almost all libraries so we could compare how they implement that. We can have some initial discussions when we meet.
from pykale.
@sz144 I've studied further. Wildcard import from ... import *
is now considered as a bad practice and we should NOT use it. Therefore, defining __all__
is no longer useful, right?
I know some other code did it but those may be due to historical reasons (older version of python) are now considered as bad practice by modern python, as least according to what I found out. Note that we requires python 3.6+.
from pykale.
@sz144
This is from a card created by @sz144
References:
https://www.python.org/dev/peps/pep-0008/#public-and-internal-interfaceshttps://stackoverflow.com/questions/35727134/module-imports-and-init-py-in-python
This post is from 5 years ago about python 2.7 so it is quite outdated.
Examples:
These packages were build years ago so its practice may not be the best practices for more recent python.
from pykale.
@sz144 I've studied further. Wildcard import
from ... import *
is now considered as a bad practice and we should NOT use it. Therefore, defining__all__
is no longer useful, right?I know some other code did it but those may be due to historical reasons (older version of python) are now considered as bad practice by modern python, as least according to what I found out. Note that we requires python 3.6+.
from ... import *
is a bad practice but defining __all__
should still be useful. Let me check more references.
from pykale.
If a convincing reason can be found before the next pykale meeting, we could consider. Otherwise, we need to move on via PR #101.
from pykale.
Related Issues (20)
- A scheduled test failed - April 2nd 2022, 1:06:31 am
- A scheduled test failed - April 4th 2022, 1:10:17 am HOT 2
- A scheduled test failed - April 4th 2022, 3:28:05 pm
- Support for Python 3.7 and above HOT 3
- Support for Flake8-print 5.0.0 HOT 1
- Databooks installation fails HOT 1
- test
- test
- Test
- [Bug]got error while running tutorial HOT 2
- [Bug] The latest IPython does not support Python 3.8
- PyTorch 2.0 HOT 1
- [Bug] Error raised by version mismatch between PyTorch and Lightning while running tutorial HOT 2
- [Bug] Error raised rdkit from kale\prepdata\chem_transform.py on windows, python 3.10 (with ubuntu no error)
- [Bug] Error raised by 'np.float' which was a deprecated alias for the builtin 'float'.
- Merging all the cnn modules such as seq_nn.py, attention_cnn.py into one cnn.py module
- Refactor QBin to be one level up from Pykale repo, under the pykale umbrella HOT 2
- [Refactor] Considering the incorporation of the OneHotEncoder from scikit-learn into PyKale HOT 3
- [Refactor] Merge all evaluation metrics into one module HOT 3
- [Feature Request] Consider input parameter validation in PyKale
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pykale.