Import Conductor as package#66
Conversation
|
I really like the direction this PR is taking with the conductor - it should be standardized as a package instead of being copied across all of the evaluators. will take a closer look the PR. |
|
Note that we are trying to adhere to these new conventions for Source Academy projects: https://github.com/source-academy/general/wiki/Conventions-and-practices If there is a need for discussion of those, let's use issues in the repo "general". |
WangYuyang1013
left a comment
There was a problem hiding this comment.
This PR takes a very good direction, and I appreciate the effort to reduce duplication and standardize the use of Conductor as a package. While I may not fully understand all the code changes in detail, I trust that if it works correctly on your side, it should be fine.
|
hold on the merge for a bit! |
|
I'm looking at frontend and other repos like this, it seems like we are currently using tagged github repositories for all package.json. Is it because our work is still in development? @tsammeow @s-kybound |
Yes, let's use NPM for such dependencies. We have a few packages in NPM with prefix sourceacademy already: https://www.npmjs.com/search?q=sourceacademy Let's follow our guide on this: https://github.com/source-academy/general/wiki/Conventions-and-practices |
WangYuyang1013
left a comment
There was a problem hiding this comment.
This seems better. It was a bit messy when it was originally placed in types.
* Move conductor code to npm package * Use conductor submodules * Use source-academy/conductor 0.2.2 * Use npm based conductor * Fix bundler issues * Fix circular imports * Fix circular imports (types)
Previously, py-slang copied the Conductor framework code directly into the repo. This PR replaces that approach by consuming Conductor as an npm library instead.
I worked with @tsammeow to expose the correct library API for py-slang to import from.
This change significantly reduces the codebase size of py-slang while keeping functionality the same.