mirror of
https://github.com/inventree/InvenTree.git
synced 2025-12-20 03:03:30 +00:00
* feat(backend): add performance test ref #11002 * feat(backend): add performance test (#486) * chore(deps): bump the dependencies group across 1 directory with 2 updates (#11003) * chore(deps): bump the dependencies group across 1 directory with 2 updates Bumps the dependencies group with 2 updates in the /src/backend directory: [django-q2](https://github.com/GDay/django-q2) and [sentry-sdk](https://github.com/getsentry/sentry-python). Updates `django-q2` from 1.8.0 to 1.9.0 - [Release notes](https://github.com/GDay/django-q2/releases) - [Changelog](https://github.com/django-q2/django-q2/blob/master/CHANGELOG.md) - [Commits](https://github.com/GDay/django-q2/compare/v1.8.0...v1.9.0) Updates `sentry-sdk` from 2.46.0 to 2.47.0 - [Release notes](https://github.com/getsentry/sentry-python/releases) - [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-python/compare/2.46.0...2.47.0) --- updated-dependencies: - dependency-name: django-q2 dependency-version: 1.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: sentry-sdk dependency-version: 2.47.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * fix style --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matthias Mair <code@mjmair.com> * Rearrange python package installs in are metal setup (#11005) * Reorder pip installation steps in bare metal setup * Reorder pip installation steps in bare metal setup * remove unused lines * Fix docs formatting (#11008) * Remove prefetch_related from parametric data filter (#11007) - Not required as we do not process the parameter fields in python * [refactor] Generic status API (#11009) * Fix docs formatting * [refactor] cache custom states - Generic state API endpoint executed query for each state type - We can run a single database query and cache these in memory - Reduces query time by ~50% * [refactor] Build list (#11010) - Prefetch project_code - Annotate parameter data * Improve the documentation installation instructions. (#11011) Co-authored-by: Mitch Davis <mjd@afork.com> * [refactor] Improve primary_address annotation for Company API (#11006) * Refactor primary_address annotation - Remove SerializerMethodField - Better cache introspection * Allow address detail to be optional * Refactor address caching * Fix primary_address annotation * Remove "address_count" field - Pointless annotation which is not used anywhere * Update API version * Tweak docs page * Tweak unit tests * feat(backend): add performance test ref #11002 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michael <michael@buchmann.ruhr> Co-authored-by: Oliver <oliver.henry.walters@gmail.com> Co-authored-by: Mitch Davis <mjd+github@afork.com> Co-authored-by: Mitch Davis <mjd@afork.com> * add oidc perm * fix run setup * add gitignore * pin action * enable DB for test * patch test detection * move test argument into tasks * seperate performance testing into own step * add automigration * update test * Increase MAX_QUERY_TIME to 60 seconds * use newer python for better prerformance / measurement options * skip plugin install step * add debug step * add debug stmt * make version import safe * fix command * more debugging * move import * rollback changes * do full install * rollback skip_plugins too * hide version * new debug try * add more debug * try 3.13 * try reinstalling the cffi * reinstall cffi? * reset debug * rollback debug steos * add initial tests --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michael <michael@buchmann.ruhr> Co-authored-by: Oliver <oliver.henry.walters@gmail.com> Co-authored-by: Mitch Davis <mjd+github@afork.com> Co-authored-by: Mitch Davis <mjd@afork.com>
142 lines
3.8 KiB
TOML
142 lines
3.8 KiB
TOML
|
|
[tool.ruff]
|
|
exclude = [
|
|
".git",
|
|
"__pycache__",
|
|
"test.py",
|
|
"tests",
|
|
"venv",
|
|
"env",
|
|
".venv",
|
|
".env",
|
|
"src/backend/plugins/*",
|
|
]
|
|
src = ["src/backend/InvenTree"]
|
|
# line-length = 120
|
|
|
|
[tool.ruff.lint.extend-per-file-ignores]
|
|
"__init__.py" = ["D104"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["A", "B", "C", "C4", "D", "F", "I", "N", "SIM", "PIE", "PLE", "PLW", "RUF", "UP", "W",
|
|
#"DOC201", "DOC202", # enforce return docs
|
|
"DOC402","DOC403", # enforce yield docs
|
|
#"DOC501","DOC502", # enforce raise
|
|
]
|
|
# Things that should be enabled in the future:
|
|
# - LOG
|
|
# - DJ # for Django stuff
|
|
# - S # for security stuff (bandit)
|
|
# - D401 - Imperative docstrings
|
|
|
|
ignore = [
|
|
"PLE1205",
|
|
# - PLE1205 - Too many arguments for logging format string
|
|
"PLW2901",
|
|
# - PLW2901 - Outer {outer_kind} variable {name} overwritten by inner {inner_kind} target
|
|
"PLW0602","PLW0603","PLW0604", # global variable things
|
|
"RUF015",
|
|
# - RUF015 - Prefer next({iterable}) over single element slice
|
|
"RUF012",
|
|
# - RUF012 - Mutable class attributes should be annotated with typing.ClassVar
|
|
"RUF052",
|
|
# - RUF052 - Local dummy variable is accessed
|
|
"SIM117",
|
|
# - SIM117 - Use a single with statement with multiple contexts instead of nested with statements
|
|
"SIM102",
|
|
# - SIM102 - Use a single if statement instead of nested if statements
|
|
"SIM105",
|
|
# - SIM105 - Use contextlib.suppress({exception}) instead of try-except-pass
|
|
"C901",
|
|
# - C901 - function is too complex
|
|
"N999",
|
|
# - N802 - function name should be lowercase
|
|
"N802",
|
|
# - N806 - variable should be lowercase
|
|
"N806",
|
|
# - N812 - lowercase imported as non-lowercase
|
|
"N812",
|
|
# - RUF032 - decimal-from-float-literal
|
|
"RUF032",
|
|
# - RUF045 - implicit-class-var-in-dataclass
|
|
"RUF045",
|
|
# - UP045 - Use `X | None` instead of `Optional[X]`
|
|
"UP045",
|
|
|
|
# TODO These should be followed up and fixed
|
|
# - B904 Within an `except` clause, raise exceptions
|
|
"B904",
|
|
|
|
# Remove fast
|
|
"A002", "B018"
|
|
]
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
convention = "google"
|
|
ignore-var-parameters = true
|
|
|
|
[tool.ruff.lint.isort]
|
|
split-on-trailing-comma = false
|
|
combine-as-imports = false
|
|
section-order = [
|
|
"future",
|
|
"standard-library",
|
|
"django",
|
|
"third-party",
|
|
"first-party",
|
|
"local-folder",
|
|
]
|
|
|
|
[tool.ruff.lint.isort.sections]
|
|
"django" = ["django"]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "single"
|
|
indent-style = "space"
|
|
skip-magic-trailing-comma = true
|
|
line-ending = "auto"
|
|
|
|
[tool.uv.pip]
|
|
python-version = "3.11.0"
|
|
no-strip-extras=true
|
|
generate-hashes=true
|
|
|
|
[tool.ty.environment]
|
|
root = ["src/backend/InvenTree"]
|
|
|
|
[tool.ty.rules]
|
|
unresolved-reference="ignore" # 21 # see https://github.com/astral-sh/ty/issues/220
|
|
unresolved-attribute="ignore" # 505 # need Plugin Mixin typing
|
|
call-non-callable="ignore" # 8 ##
|
|
invalid-return-type="ignore" # 22 ##
|
|
invalid-argument-type="ignore" # 49
|
|
possibly-unbound-attribute="ignore" # 25 # https://github.com/astral-sh/ty/issues/164
|
|
unknown-argument="ignore" # 3 # need to wait for betterdjango field stubs
|
|
invalid-assignment="ignore" # 17 # need to wait for betterdjango field stubs
|
|
no-matching-overload="ignore" # 3 # need to wait for betterdjango field stubs
|
|
|
|
[tool.coverage.run]
|
|
source = ["src/backend/InvenTree", "InvenTree"]
|
|
dynamic_context = "test_function"
|
|
|
|
[tool.coverage.html]
|
|
show_contexts = true
|
|
|
|
[tool.djlint]
|
|
ignore = "D018,H006,H008,H020,H021,H023,H025,H030,H031,T002"
|
|
|
|
[tool.isort]
|
|
src_paths=["src/backend/InvenTree", ]
|
|
skip_glob ="*/migrations/*.py"
|
|
known_django="django"
|
|
sections=["FUTURE","STDLIB","DJANGO","THIRDPARTY","FIRSTPARTY","LOCALFOLDER"]
|
|
|
|
[tool.codespell]
|
|
ignore-words-list = ["assertIn","SME","intoto","fitH"]
|
|
|
|
[tool.pytest]
|
|
django_find_project = false
|
|
pythonpath = ["src/backend/InvenTree"]
|
|
DJANGO_SETTINGS_MODULE = "InvenTree.settings"
|
|
python_files = ["test*.py",]
|