-
-
Notifications
You must be signed in to change notification settings - Fork 363
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
Some improvements to pythonlib #3992
Conversation
- support multiple source directories per mill module - python modules are relative to source directories - avoid gathering all scripts in a single directory (that's a lot of copying!) and instead use PYTHONPATH and friends
@jodersky TBH this is what i was looking for, Great !!! Also i want to add something like the way i used Repl i think that is also good See #3986 And the way of testing is now professional and matching with other examples (i didn't liked my way of testing) So i think i should wait till this PR gets Merged and after wards i will work further on #3986 till then let me copy your changes and work around with the same pattern Thanks... |
@himanshumahajan138, that sounds good. I'll finish up test support, then we can hopefully merge, and you take it from there to finish the I can continue on |
@jodersky ya that's great we will work together to bring the professional python first class support to mill Team Work is the Dream Work !!! |
@jodersky these commands will fix the lint error automatically from the root |
Alright, I think this is ready for review now. |
Looks pretty good overall. Left some comments. @jodersky you mentioned you looked at how Bazel handles Python, if in that research you found anything relevant to this PR can summarize whatever you learned that's relevant in the PR description |
@jodersky i think we should work on linting before deps coz deps don't require much logical and backend code but linting is far harder and more complicated and in that case, experience is more required 😉 Rest is You's Choice... |
I'm not sure. I think dependencies are a very important feature, and they aren't all that easy when you consider that we'll need more than just building a pip command line. For example, we'll need to deal with things like installing wheels. Also, there are a couple of "quality-of-life" features that I'd like to include:
|
Ok that's great afterall this all wil be available for mill 😊 |
@lihaoyi, I think I addressed all your comments. Would you like to go over it once more? Regarding the python example, it will all be reworked by @himanshumahajan138. |
@jodersky looks great, I'll merge it and we can continue iterating on it after |
# Pull Request Added First Class Python Support [Basic Example] Fixes: #3928 ## Description Rework for Python `1-simple`, `2-custom-build-logic` and `3-multi-module` Examples follow up for PR #3992 ## Related Issues - Link to related issue #3928. ## Checklist - [x] New Example for Python `1-Simple` - [x] New Example for Python `2-custom-build-logic` - [x] New Example for Python `3-multi-module` - [x] Updated Documentation ## Status Completed Addition & Require Review!!!
This is in view of #3928, specifically some essential things required for the first task,
example/pythonlib/basic/
.You can look at commits individually if you like. The gist of this PR is to improve the scaffolding we currently have to unblock the previously mentioned tasks. It can be summarized by the following points (roughly each corresponding to one commit):
run
task the default, following the same convention used inScalaModule
andJavaModule
console
, again following the conventions of scalalib