[build-system]
requires = ["setuptools>=67", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "omicclaw"
version = "2.0.2"
description = "OmicClaw gateway-first workspace for web UI, channels, notebooks, and agent workflows"
readme = "README.md"
requires-python = ">=3.8"
license = "GPL-3.0-only"
license-files = ["LICENSE"]
authors = [
  {name = "Zehua Zeng", email = "starlitnightly@gmail.com"},
]
classifiers = [
  "Development Status :: 4 - Beta",
  "Environment :: Web Environment",
  "Framework :: Flask",
  "Intended Audience :: Science/Research",
  "Operating System :: OS Independent",
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3.8",
  "Programming Language :: Python :: 3.9",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
  "Topic :: Scientific/Engineering :: Bio-Informatics",
]
dependencies = [
  "flask",
  "flask_cors",
  "werkzeug",
  "ipykernel",
  "nbformat",
  "omicverse>=2.0.1",
  "omicverse-skills",
  "scanpy>=1.9",
  "numpy>=1.23",
  "pandas>=1.5",
  "matplotlib>3.6",
  "plotly",
  "uv",
]

[project.urls]
Homepage = "https://github.com/Starlitnightly/omicclaw"
Repository = "https://github.com/Starlitnightly/omicclaw"


[project.scripts]
omicclaw = "omicclaw.cli:main"

[tool.setuptools]
include-package-data = true
packages = [
  "omicclaw",
  "omicclaw.routes",
  "omicclaw.services",
  "omicclaw.utils",
  "omicclaw.gateway",
  "omicclaw.server",
  "omicclaw.server.common",
  "omicclaw.server.common.fbs",
  "omicclaw.server.common.fbs.NetEncoding",
  "omicclaw.server.data_adaptor",
]

[tool.setuptools.package-dir]
omicclaw = "."
"omicclaw.routes" = "routes"
"omicclaw.services" = "services"
"omicclaw.utils" = "utils"
"omicclaw.gateway" = "gateway"
"omicclaw.server" = "server"
"omicclaw.server.common" = "server/common"
"omicclaw.server.common.fbs" = "server/common/fbs"
"omicclaw.server.common.fbs.NetEncoding" = "server/common/fbs/NetEncoding"
"omicclaw.server.data_adaptor" = "server/data_adaptor"

[tool.setuptools.package-data]
omicclaw = [
  "index.html",
  "single_cell_analysis_standalone.html",
  "default.ipynb",
  "server/**",
  "static/**",
  "fbs/**",
]

[tool.setuptools.exclude-package-data]
"*" = [
  ".DS_Store",
  "*.py[cod]",
  ".Rhistory",
  "**/.DS_Store",
  "**/*.py[cod]",
  "**/.Rhistory",
  "__pycache__/*",
  "**/__pycache__/*",
]
