Skip to content
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

Enhancements / ideas for v3 #5

Closed
15 tasks done
trappitsch opened this issue Jan 22, 2024 · 4 comments
Closed
15 tasks done

Enhancements / ideas for v3 #5

trappitsch opened this issue Jan 22, 2024 · 4 comments
Milestone

Comments

@trappitsch
Copy link
Contributor

trappitsch commented Jan 22, 2024

This program has run well for quite some time now, however, dependencies are out of date. Also, packaging and releasing with fbs is clunky and better ways exist these days.
The following are a collection of ideas to extend the functionality for the next major version.

  • Separate the actual drawing from the GUI such that the rimsschemedrawer can be installed without the need for any graphical environment.
  • Use the latest version of matplotlib to draw the plot and fix issues that have let to the pinned version
  • Package the project with PyApp for distribution. This is much smoother. However, it will require that the computer the software is installed on is connected to the Internet, which is okay in my opinion.
  • Create an entry point into the module that allows installation with, e.g., pipx.
  • Release the package on PyPi in addition to the PyApp bundles (released on GitHub releases)
  • Clean up the repository (remove old tkinter version, ...)
  • Add tests (especially for plot!)
  • Lint and format (with pre-commit hook)
  • CI workflow
  • Add a "reset formatting to default values" button
  • Write docs
  • Add transition strength as arrow thickness
  • Add dark mode for plots
  • Hard-code IP (Enhancements / ideas for v3 #5 (comment))
  • Allow user to set what lasers were used with a sensible default value (Enhancements / ideas for v3 #5 (comment))

The GUI itself is still okay and saving/loading should not be changed.

@trappitsch trappitsch added this to the v3 milestone Jan 22, 2024
@trappitsch trappitsch linked a pull request Feb 7, 2024 that will close this issue
@trappitsch trappitsch removed a link to a pull request Feb 7, 2024
@trappitsch trappitsch pinned this issue Feb 16, 2024
@trappitsch
Copy link
Contributor Author

For the packaging with PyApp, first need to work on box until that has some more issues worked down and is checked/tested on windows (and maybe macos). Installers won't be necessary for rc0, however, for the full release that would be really nice.

@trappitsch
Copy link
Contributor Author

Notes from today's meeting (and added to the todo list above):

  • The IP should not be something the user can choose, since it's a constant value that we can read from a table. This should be hardcoded into the rimsschemedrawer, such that no typing mistakes can occur
  • In preparation for the website: Give the user the possibility to flag the scheme as one of the following:
    • Ti:Sa
    • Dye
    • Ti:Sa + Dye

Will probably need some N/A as well - or a default? For a default, we could guess what was used based on the wavelengths... Save this selection the json file as well in order to have it available for the website.

@trappitsch
Copy link
Contributor Author

PR #27 first introduces an automatic release workflow with upload to PyPi (commented out for testing) and release on GitHub. Packaging is done with box.
However, since not all installers are working with box, we are currently releasing only direct executables. To get this to work properly with installers, need to include the icon in the program still.

These releases (without installers) should only be RCs.

Connected to trappitsch/box#33

@trappitsch
Copy link
Contributor Author

Closed with #28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant