Introduce pyproject.toml, restructure installation - #25
Open
axodentally wants to merge 12 commits into
Open
Conversation
Collaborator
Author
|
This change is part of the following stack: Change managed by git-spice. |
This was referenced Jul 23, 2026
Merged
axodentally
marked this pull request as ready for review
July 24, 2026 07:10
| import asyncio | ||
|
|
||
| from helpers import * | ||
| from tools.mgr.helpers import * |
| def terminal_to_pty(event: events.XtermDataEventArguments) -> None: # pyright: ignore[reportUnusedFunction] | ||
| try: | ||
| os.write(pty_fd, event.data.encode("utf-8")) | ||
| except OSError: |
| termios.TIOCSWINSZ, | ||
| struct.pack("HHHH", event.rows, event.cols, 0, 0), | ||
| ) | ||
| except OSError: |
axodentally
force-pushed
the
feat/introduce-pyproject-toml
branch
from
August 25, 2026 14:19
665e130 to
0744c66
Compare
this allows us to properly define dependencies, settings for tools like based-pyright and how to build/install the project. With this in place, nse2 can be install into a venv just by using `pip install .` and python will automatically add the bash scripts and python scripts to the PATH of the venv.
in future, replace that with pylock.yaml, uv.lock or similar
axodentally
force-pushed
the
feat/introduce-pyproject-toml
branch
from
August 25, 2026 14:27
0744c66 to
546f809
Compare
Use explicit root page functions for netviz and manager so NiceGUI can load pages correctly when launched through the installed console scripts. This prevents entry-point wrappers from being re-executed and fixes page loading, process lifecycle, and premature terminal cleanup errors.
axodentally
force-pushed
the
feat/introduce-pyproject-toml
branch
from
August 26, 2026 12:04
fd71279 to
fb9404e
Compare
sylvesterkaczmarek
left a comment
There was a problem hiding this comment.
install_symlinks.sh previously exposed every tools/helpers/* command, but the new package entry points omit get_fixed_links/graphml2viz and script-files excludes the helper shell scripts. A normal pip install therefore loses helper commands that the new docs say are available on PATH. Add the missing scripts/package data or explicitly retire them, and test the installed wheel contents and commands.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
pyproject.tomlwith project metadata, dependencies, optional development dependencies, and entry points for CLI tools, enabling standard installation viapipand editable installs for development. (pyproject.toml)Removes the custom
install_symlinks.shandload_env.shscripts, as tool installation and environment setup are now handled by standard Python packaging. (install_symlinks.sh,load_env.sh) [1] [2]Introduces a
constraints.txtfile to allow users to pin dependencies to tested versions for reproducibility. (constraints.txt)Updates
README.mdand manual installation instructionsRefactors
tools/netviz/netviz.pyto add a main entry pointThese changes make the project installation more robust, reproducible, and aligned with modern Python practices.