[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "orisys-studio" version = "0.1.0" description = "Orisys Studio desktop app" requires-python = ">=3.10" authors = [{ name = "Orisys-Tech" }] dependencies = [ # PySide6 is the LGPLv3 Qt binding: the licence, not the API, is why the studio is not # on PyQt5 (whose free option is GPLv3-or-commercial). See # docs/architecture/studio-3d-design.md §11.1 and apps/studio/tests/test_binding_purity.py. "PySide6>=6.6", "orisys-app-shared>=0.1.0", "orisys>=0.5", "scipy>=1.10.1", "pyqtgraph>=0.13", ] [project.optional-dependencies] # The three-dimensional view (docs/architecture/studio-3d-design.md §11.1). # PyOpenGL is the GL binding; PyOpenGL_accelerate is an optional speed-up and is # deliberately not required. Open3D stays out: it is an offline tool, and its ARM # support is experimental and its GUI needs a desktop GL profile. # # The binding does not ship a driver. On a board, do not let pip or a system # package replace the BSP's EGL/GLES libraries. three-d = [ "PyOpenGL>=3.1.6", ] # Sealed release packages (stage 5): Ed25519 signatures and AES-256-GCM for # `.oryscene`. Separated from `three-d` because a plain package needs neither, and a # machine that only ever reads plain packages should not have to install a crypto # library to show a mesh. The runtime refuses a sealed package, with its reason, when # this extra is missing — it never falls back to reading it as plain. protected-assets = [ "cryptography>=42", ] [project.scripts] orisys-studio = "orisys_studio.main:main" [tool.setuptools] package-dir = { "" = "src" } [tool.setuptools.packages.find] where = ["src"]