pyproject.toml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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.8"
  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.8",
  19. "Programming Language :: Python :: 3.9",
  20. "Programming Language :: Python :: 3.10",
  21. "Programming Language :: Python :: 3.11",
  22. "Programming Language :: Python :: 3.12",
  23. ]
  24. dependencies = [
  25. "Flask>=2.3.0",
  26. "Flask-SQLAlchemy>=3.1.0",
  27. "Flask-CORS>=4.0.0",
  28. "SQLAlchemy>=2.0.0",
  29. "psycopg2-binary>=2.9.0",
  30. "python-dotenv>=1.0.0",
  31. "requests>=2.31.0",
  32. "pandas>=2.1.0",
  33. "numpy>=1.25.0",
  34. ]
  35. [project.optional-dependencies]
  36. dev = [
  37. "pytest>=7.4.0",
  38. "ruff>=0.8.0",
  39. "pyright>=1.1.390",
  40. ]
  41. [tool.setuptools.packages.find]
  42. where = ["."]
  43. include = ["app*"]
  44. [tool.ruff]
  45. target-version = "py38"
  46. line-length = 88
  47. [tool.ruff.lint]
  48. select = [
  49. "E", # pycodestyle errors
  50. "W", # pycodestyle warnings
  51. "F", # Pyflakes
  52. "I", # isort
  53. "B", # flake8-bugbear
  54. "C4", # flake8-comprehensions
  55. "UP", # pyupgrade
  56. "SIM", # flake8-simplify
  57. ]
  58. ignore = [
  59. "E501", # line too long (handled by formatter)
  60. "B008", # do not perform function calls in argument defaults
  61. ]
  62. [tool.ruff.lint.isort]
  63. known-first-party = ["app"]
  64. [tool.ruff.format]
  65. quote-style = "double"
  66. indent-style = "space"
  67. skip-magic-trailing-comma = false
  68. line-ending = "auto"
  69. [tool.pyright]
  70. pythonVersion = "3.8"
  71. typeCheckingMode = "basic"
  72. reportMissingImports = true
  73. reportMissingTypeStubs = false
  74. reportUnusedImport = true
  75. reportUnusedVariable = true
  76. [tool.pytest.ini_options]
  77. testpaths = ["tests"]
  78. python_files = ["test_*.py", "*_test.py"]
  79. python_classes = ["Test*"]
  80. python_functions = ["test_*"]