108 lines
2.9 KiB
TOML
108 lines
2.9 KiB
TOML
[build-system]
|
|
requires = ["hatchling>=1.26"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "nexusos-ai"
|
|
dynamic = ["version"]
|
|
description = "Local-first AI assistant runtime, web UI, and portable CLI"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
authors = [{name = "EnderOfWings"}]
|
|
keywords = ["ai", "assistant", "ollama", "local-ai", "termux"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Framework :: FastAPI",
|
|
"Operating System :: Android",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: 3.14",
|
|
"Topic :: Communications :: Chat",
|
|
]
|
|
dependencies = [
|
|
"fastapi>=0.115,<1",
|
|
"httpx>=0.27,<1",
|
|
"pydantic>=2.7,<3",
|
|
"python-dotenv>=1,<2",
|
|
"PyYAML>=6,<7",
|
|
"uvicorn>=0.30,<1",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
documents = ["pypdf>=5,<7", "python-docx>=1.1,<2"]
|
|
process = ["psutil>=5.9,<8"]
|
|
vector = ["sqlite-vec>=0.1,<1"]
|
|
voice = ["faster-whisper>=1.1,<2"]
|
|
mail = ["imap-tools>=1.7,<2"]
|
|
desktop = [
|
|
"psutil>=5.9,<8",
|
|
"pywebview>=5,<7; platform_system == 'Windows'",
|
|
]
|
|
standard = [
|
|
"pypdf>=5,<7",
|
|
"python-docx>=1.1,<2",
|
|
"psutil>=5.9,<8",
|
|
"sqlite-vec>=0.1,<1",
|
|
]
|
|
dev = [
|
|
"build>=1.2,<2",
|
|
"pytest>=8,<10",
|
|
"twine>=7,<8",
|
|
]
|
|
|
|
[project.scripts]
|
|
nexus = "management.cli:entrypoint"
|
|
ncp = "management.cli:entrypoint"
|
|
nexusos = "management.cli:entrypoint"
|
|
|
|
[project.urls]
|
|
Homepage = "https://git.enderofwings.com/enderofwings/NexusOS"
|
|
Issues = "https://git.enderofwings.com/enderofwings/NexusOS/issues"
|
|
Repository = "https://git.enderofwings.com/enderofwings/NexusOS"
|
|
|
|
[tool.hatch.version]
|
|
path = "VERSION"
|
|
pattern = "^(?P<version>[^\\s]+)$"
|
|
|
|
[tool.hatch.build]
|
|
skip-excluded-dirs = true
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["synapse", "management"]
|
|
|
|
[tool.hatch.build.targets.wheel.force-include]
|
|
"VERSION" = "synapse/_resources/VERSION"
|
|
"interface/web/dist" = "synapse/_resources/web"
|
|
"data/playbooks" = "synapse/_resources/playbooks"
|
|
"assets/n-small.png" = "synapse/_resources/assets/n-small.png"
|
|
"assets/themes/NexusOS-icons-src/nexus-underlay.svg" = "synapse/_resources/assets/themes/NexusOS-icons-src/nexus-underlay.svg"
|
|
"assets/themes/NexusOS-icons-src/nexus-underlay-ring.svg" = "synapse/_resources/assets/themes/NexusOS-icons-src/nexus-underlay-ring.svg"
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
include = [
|
|
"/assets/n-small.png",
|
|
"/assets/themes/NexusOS-icons-src/nexus-underlay.svg",
|
|
"/assets/themes/NexusOS-icons-src/nexus-underlay-ring.svg",
|
|
"/data/playbooks",
|
|
"/docs",
|
|
"/interface/web/dist",
|
|
"/management",
|
|
"/scripts",
|
|
"/synapse",
|
|
"/tests",
|
|
"/README.md",
|
|
"/VERSION",
|
|
"/pyproject.toml",
|
|
]
|
|
|
|
[tool.hatch.build.targets.sdist.force-include]
|
|
"interface/web/dist" = "interface/web/dist"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests", "management"]
|