pyproject.toml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. [build-system]
  2. requires = ["setuptools>=61.0", "wheel"]
  3. build-backend = "setuptools.build_meta"
  4. [project]
  5. name = "dataops-platform"
  6. version = "1.0.0"
  7. description = "DataOps Platform - 数据运营平台"
  8. authors = [
  9. {name = "DataOps Team", email = "team@dataops.com"}
  10. ]
  11. readme = "README.md"
  12. requires-python = ">=3.11"
  13. classifiers = [
  14. "Development Status :: 4 - Beta",
  15. "Intended Audience :: Developers",
  16. "License :: OSI Approved :: MIT License",
  17. "Programming Language :: Python :: 3",
  18. "Programming Language :: Python :: 3.11",
  19. ]
  20. dependencies = [
  21. "Flask>=2.3.0",
  22. "Flask-SQLAlchemy>=3.1.0",
  23. "Flask-CORS>=4.0.0",
  24. "SQLAlchemy>=2.0.0",
  25. "psycopg2-binary>=2.9.0",
  26. "python-dotenv>=1.0.0",
  27. "requests>=2.31.0",
  28. "pandas>=2.0.3",
  29. "numpy>=1.24.3",
  30. ]
  31. [project.optional-dependencies]
  32. dev = [
  33. "pytest>=7.4.0",
  34. "ruff>=0.8.0",
  35. "pyright>=1.1.390",
  36. ]
  37. [tool.setuptools.packages.find]
  38. where = ["."]
  39. include = ["app*"]
  40. [tool.ruff]
  41. target-version = "py311"
  42. line-length = 88
  43. [tool.ruff.lint]
  44. select = [
  45. "E", # pycodestyle errors
  46. "W", # pycodestyle warnings
  47. "F", # Pyflakes
  48. "I", # isort
  49. "B", # flake8-bugbear
  50. "C4", # flake8-comprehensions
  51. "UP", # pyupgrade
  52. "SIM", # flake8-simplify
  53. ]
  54. ignore = [
  55. "E501", # line too long (handled by formatter)
  56. "B008", # do not perform function calls in argument defaults
  57. ]
  58. [tool.ruff.lint.isort]
  59. known-first-party = ["app"]
  60. [tool.ruff.format]
  61. quote-style = "double"
  62. indent-style = "space"
  63. skip-magic-trailing-comma = false
  64. line-ending = "auto"
  65. [tool.pyright]
  66. pythonVersion = "3.11"
  67. typeCheckingMode = "basic"
  68. reportMissingImports = true
  69. reportMissingTypeStubs = false
  70. reportUnusedImport = true
  71. reportUnusedVariable = true
  72. [tool.pytest.ini_options]
  73. testpaths = ["tests"]
  74. python_files = ["test_*.py", "*_test.py"]
  75. python_classes = ["Test*"]
  76. python_functions = ["test_*"]