Some checks failed
System Monitoring / Health Checks (push) Has been cancelled
System Monitoring / Performance Monitoring (push) Has been cancelled
System Monitoring / Database Monitoring (push) Has been cancelled
System Monitoring / Cache Monitoring (push) Has been cancelled
System Monitoring / Log Monitoring (push) Has been cancelled
System Monitoring / Resource Monitoring (push) Has been cancelled
System Monitoring / Uptime Monitoring (push) Has been cancelled
System Monitoring / Backup Monitoring (push) Has been cancelled
System Monitoring / Security Monitoring (push) Has been cancelled
System Monitoring / Monitoring Dashboard (push) Has been cancelled
System Monitoring / Alerting (push) Has been cancelled
Security Scanning / Dependency Scanning (push) Has been cancelled
Security Scanning / Code Security Scanning (push) Has been cancelled
Security Scanning / Secrets Scanning (push) Has been cancelled
Security Scanning / Container Security Scanning (push) Has been cancelled
Security Scanning / Compliance Checking (push) Has been cancelled
Security Scanning / Security Dashboard (push) Has been cancelled
Security Scanning / Security Remediation (push) Has been cancelled
87 lines
1.8 KiB
TOML
87 lines
1.8 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=45", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "saas-platform-backend"
|
|
version = "1.0.0"
|
|
description = "Multi-tenant SaaS platform for Malaysian SMEs"
|
|
authors = [
|
|
{name = "Development Team", email = "dev@company.com"}
|
|
]
|
|
dependencies = [
|
|
"Django==4.2.0",
|
|
"djangorestframework==3.14.0",
|
|
"django-tenants==3.5.0",
|
|
"django-cors-headers==4.2.0",
|
|
"psycopg2-binary==2.9.7",
|
|
"redis==4.5.5",
|
|
"celery==5.3.1",
|
|
"stripe==5.4.0",
|
|
"python-dotenv==1.0.0",
|
|
"pyjwt==2.8.0",
|
|
"bcrypt==4.0.1",
|
|
"requests==2.31.0",
|
|
"Pillow==10.0.0",
|
|
"django-filter==23.2",
|
|
"django-extensions==3.2.3",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"coverage==7.2.7",
|
|
"pytest==7.4.0",
|
|
"pytest-django==4.5.2",
|
|
"factory-boy==3.3.0",
|
|
"freezegun==1.2.2",
|
|
"ruff==0.0.280",
|
|
"black==23.7.0",
|
|
"isort==5.12.0",
|
|
"mypy==1.4.1",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
target-version = "py311"
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # pyflakes
|
|
"I", # isort
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"UP", # pyupgrade
|
|
]
|
|
ignore = [
|
|
"E501", # line too long, handled by black
|
|
"B008", # do not perform function calls in argument defaults
|
|
"W191", # indentation contains tabs
|
|
"B904", # Allow raising exceptions without from e, for HTTPException
|
|
]
|
|
|
|
[tool.ruff.per-file-ignores]
|
|
"__init__.py" = ["F401"]
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
target-version = ['py311']
|
|
include = '\.pyi?$'
|
|
extend-exclude = '''
|
|
/(
|
|
# directories
|
|
\.eggs
|
|
| \.git
|
|
| \.hg
|
|
| \.mypy_cache
|
|
| \.tox
|
|
| \.venv
|
|
| build
|
|
| dist
|
|
)/
|
|
'''
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
multi_line_output = 3
|
|
line_length = 88
|
|
known_first_party = ["core", "modules"] |