{"id":28298,"library":"sprintify-navigation","title":"Sprintify Navigation","description":"A navigation widget library for PySide6-based applications. Provides a sidebar or top-bar navigation component with material design styling. As of version 1.0.15, the package is stable with occasional updates. Requires Python >=3.6 and PySide6. The library is actively maintained on GitHub.","status":"active","version":"1.0.15","language":"python","source_language":"en","source_url":"https://github.com/sspjuth/sprintify","tags":["PySide6","navigation","widget","Qt","GUI"],"install":[{"cmd":"pip install sprintify-navigation","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for Qt bindings and widget rendering","package":"PySide6","optional":false}],"imports":[{"note":"Common mistake: importing from submodule. Top-level import is correct.","wrong":"from sprintify_navigation.navigation import NavigationWidget","symbol":"NavigationWidget","correct":"from sprintify_navigation import NavigationWidget"}],"quickstart":{"code":"import sys\nfrom PySide6.QtWidgets import QApplication, QMainWindow, QStackedWidget\nfrom sprintify_navigation import NavigationWidget\n\napp = QApplication(sys.argv)\nwindow = QMainWindow()\nstack = QStackedWidget()\n\nnav = NavigationWidget()\n# Example: add items with text and icon\nnav.add_item(\"Home\", \"home_icon.png\", lambda: stack.setCurrentIndex(0))\nnav.add_item(\"Settings\", \"settings_icon.png\", lambda: stack.setCurrentIndex(1))\n\nwindow.setCentralWidget(nav)\nwindow.show()\nsys.exit(app.exec())","lang":"python","description":"Creates a main window with a navigation widget. Replace placeholder icon paths and callbacks as needed."},"warnings":[{"fix":"Ensure the third argument to add_item is a callable (e.g., lambda or function reference).","message":"The add_item method requires a callable callback; passing an integer or string will crash silently.","severity":"gotcha","affected_versions":"all"},{"fix":"Use os.path.abspath or pass QIcon directly with absolute path.","message":"Icon paths are relative to the working directory, not the module. Failing to resolve absolute paths will show broken images.","severity":"gotcha","affected_versions":"all"},{"fix":"Do not rely on undocumented constructor parameters; use setter methods after instantiation.","message":"In version 1.1.0 (not yet released), the constructor signature may change to accept a themes argument. Deprecated in current docs.","severity":"deprecated","affected_versions":">=1.0.15"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Use pip install sprintify-navigation; the import is from sprintify_navigation.","cause":"The package is installed as sprintify-navigation but imported with underscore. Ensure the import statement matches the correct name.","error":"ModuleNotFoundError: No module named 'sprintify_navigation'"},{"fix":"Upgrade to >=1.0.15 and use add_item.","cause":"Using an older version (pre-1.0.0) where method was named addItem.","error":"AttributeError: 'NavigationWidget' object has no attribute 'add_item'"},{"fix":"Use from sprintify_navigation import NavigationWidget (underscore).","cause":"Trying to import from the dash-separated package name, which is invalid.","error":"ImportError: cannot import name 'NavigationWidget' from 'sprintify-navigation'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}