-
Notifications
You must be signed in to change notification settings - Fork 36
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
Build FABulous with setuptools #110
Build FABulous with setuptools #110
Conversation
Can you please resolve the merge conflict? Also, since we are moving to setuptools, maybe we should fix the fasm dependency problem mentioned in #60 ? |
We had a meeting today, and the following is the summary.
|
1c5b817
to
cd00bdc
Compare
Rebase is done. @JakobTernes it would be nice if you could check if your changes are still working, since this is currently not covered by the test workflow. |
@EverythingElseWasAlreadyTaken Looks good to me, the results I expect are still being produced. @KelvinChung2000 There is still an issue that was found with geometry generation for termination tiles, but since FABulator (the graphical frontend) is not yet available, in part because of this issue, it does not really make a difference. So a release with the current state of the geometry generation is fine with me, the results of the geometry generation should just be taken with a grain of salt here and there, which will only be relevant once FABulator is public anyways. Maybe one could add a comment (in the readme.md?) about the geometry generation / gui feature still being experimental? If all of this is not an option you can get back to me via email: [email protected] Cheers |
Let's leave everything like this for now. When FABulator is done, we can combine this as a single release, and then GUI with the new installation method should make better sense than merging this now. |
I have started a new branch called |
Just a comment: There seem to be a lot of files that have been reformatted (rightfully so!). Maybe we can keep these changes for a PR that introduces a formatter, e.g. black (see here #158) to reduce the noise in the commit history? |
Okay, I'll move the PR to the dev branch and rebase it the next days. 👍 |
Yes, I tried to fix the most linter issues, at least for every file I've touched. #163 is a great idea! :) |
Thank you! And maybe wait for your rebase until #163 is in master and dev is rebased on top :D |
Is there any progress on #163? Or maybe we could somehow bring this PR forward to merge it in the 2.0 branch? |
#163 has been merged into Is that correct, @KelvinChung2000? Also, maybe it makes sense to lock the |
I'm thinking about whether the This would be similar to what we do for https://github.com/efabless/cace I believe it makes sense to target incremental improvements and not major 2.0, 3.0, etc. releases, as it often takes a long time for users to actually receive improvements. Because the issue with such releases is always: when are they considered done? |
Yes, this is my plan. Do a release for the current master, or actually, releasing the version used in the workshop (I don't know are there any difference between them). Once the release is done all the development will happen in master again. |
Awesome, looking forward to it! |
In preparation for packaging FABulous with setuptools, we migrate FABulous to a so-called "flat-layout". This means we add a subfolder FABulous and move all code sources there. Signed-off-by: Jonas K. <[email protected]>
6544f55
to
222e817
Compare
222e817
to
e40daf1
Compare
Signed-off-by: Jonas K. <[email protected]>
Automatically sets the fabulousRoot path if no FAB_ROOT env var is specified. Add Python interpreter path in file header. Add main() function. Signed-off-by: Jonas K. <[email protected]>
e40daf1
to
e4f4412
Compare
@KelvinChung2000 @mole99 Rebase is done now. Tests are all running without any issues. Would be nice if you could review the changes and merge it into the 2.0-dev branch. I'll do another cleanup PR later. |
e4f4412
to
4d2d5ed
Compare
Update pyproject.toml to build FABulous package with setuptools. Use setuptools-scm for autoamtic project version generation. Add FABulous as package script to make it callable directlty from shell. Add bit_gen as package script and add main function to it. Update "fabric_gen" github workflow: - Use new FABulous structure - Update external actions Update import statements in all python modules to absolue imports of FABulous modules and and remove unused imports. Update gitignore. Signed-off-by: Jonas K. <[email protected]>
Update documentation to install and use FABulous with the new setup. Signed-off-by: Jonas K. <[email protected]>
4d2d5ed
to
5f64659
Compare
ed1f12e
into
FPGA-Research:FABulous2.0-development
I've refactored FABulous to build it with setuptools.
This would allow us to publish FABulous to PyPI.
I've already prepared a little POC and published it on TestPyPI:
https://test.pypi.org/project/FABulous-FPGA/
It was neccessary to rename the package ot FABulous-FPGA, since there is already a fabulous package on PyPI.
You can install it with:
The
--extra-index-url
is needed since some dependencies are not available on TestPyPI.Afterward, you can use
FABulous
as command line tool: