[build-system] requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "gyxx-flow" version = "0.1.0" description = "Portable workflow orchestration for GYXX business automation" readme = "README.md" requires-python = ">=3.12" dependencies = [ "browserforge>=1.2.4", "curl-cffi>=0.15.0", "httpx>=0.27", "imageio-ffmpeg>=0.6.0", "langchain>=0.3.0", "langchain-anthropic>=0.3.0", "langchain-core>=0.3.0", "langchain-openai>=0.2.0", "langgraph>=0.2.0", "lark-oapi>=1.0.0", "lxml>=5.0", "msgspec>=0.21.1", "openpyxl>=3.1.5", "ormsgpack>=1.2.0", "pandas>=3.0.3", "patchright>=1.60.1", "Pillow>=10", "playwright>=1.60.0", "psycopg[binary,pool]>=3.1", "psycopg2-binary>=2.9.12", "psutil>=5.9", "python-dotenv>=1.0.0", "requests>=2.31.0", "scrapling[all]>=0.4.9", "selenium>=4.20", "xlrd>=2.0.1", ] [project.optional-dependencies] test = ["pytest>=8.0"] [dependency-groups] dev = [ "build>=1.2", "pytest>=8.0", "ruff>=0.12", ] [project.scripts] gyxx = "gyxx_flow.cli:main" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] "gyxx_flow.web" = ["*.html", "*.css", "*.js"] "gyxx_flow.modules.content_marketing" = ["**/*"] "gyxx_flow.modules.product_commerce" = ["**/*"] "gyxx_flow.modules.shop_intelligence" = ["**/*"] "gyxx_flow.modules.supply_chain" = ["**/*"] [tool.setuptools.exclude-package-data] "*" = ["**/__pycache__/**", "**/*.pyc", "**/*.pyo"] [tool.pytest.ini_options] pythonpath = ["src"] testpaths = ["tests"] [tool.ruff] # The migrated business scripts keep their original lint baseline while the # framework and focused critical scripts are checked in CI. New module code # should be added to the focused CI list until this compatibility exclusion is # retired module by module. extend-exclude = ["src/gyxx_flow/modules/*/**"] [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "I"]