[project] name = "hyperview" version = "0.1.0" description = "Open-source dataset curation with hyperbolic embeddings visualization" readme = "README.md" license = { text = "MIT" } requires-python = ">=3.10" authors = [ { name = "HyperView Team" } ] keywords = ["embeddings", "visualization", "hyperbolic", "dataset", "curation", "machine-learning"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Visualization", ] dependencies = [ "fastapi>=0.128.0", "uvicorn[standard]>=0.40.0", "embed-anything>=0.7.0", "hyper-models @ git+https://github.com/Hyper3Labs/hyper-models.git@7489595f4f665802671136872b2bf61794995e1b", "numpy>=1.26.4,<2.4", "umap-learn>=0.5.11", "pillow>=12.1.0", "pydantic>=2.12.5", "aiofiles>=25.1.0", "datasets>=4.5.0", "lancedb>=0.26.1", "pyarrow>=22.0.0", ] [project.optional-dependencies] dev = [ "pytest>=9.0.2", "pytest-asyncio>=1.3.0", "httpx>=0.28.1", "ruff>=0.14.13", ] ml = [ "torch>=2.9.1", "torchvision>=0.24.1", "timm>=1.0.0", ] [project.scripts] hyperview = "hyperview.cli:main" [project.urls] Homepage = "https://github.com/Hyper3Labs/HyperView" Documentation = "https://github.com/Hyper3Labs/HyperView#readme" Repository = "https://github.com/Hyper3Labs/HyperView" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.metadata] allow-direct-references = true [tool.hatch.build.targets.wheel] packages = ["src/hyperview"] # Include frontend static assets (pre-built before packaging) artifacts = ["src/hyperview/server/static/**"] [tool.hatch.build.targets.sdist] include = [ "/src", "/README.md", "/LICENSE", ] [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] ignore = ["E501"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]