-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: get rid of setup.py/setup.cfg
And misc maintenace updates: * Move all of the configs to pyproject.toml instead of 3 config. * Remove isort/black/flake8 in favor of ruff * Use local mypy hook instead of mirrors-mypy, as it hides a lot of errors. * Changes line-length to 88 (default in ruff). Luckily, this did not change any diff. * Add support for Python 3.12, and run tests in CI for 3.12.
- Loading branch information
Showing
16 changed files
with
135 additions
and
173 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
""" | ||
Loggers used in other parts of GTO | ||
""" | ||
|
||
import logging.config | ||
|
||
from gto.config import CONFIG | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,114 @@ | ||
[build-system] | ||
requires = ["setuptools>=48", "setuptools_scm[toml]>=6.3.1", "setuptools_scm_git_archive==1.4.1"] | ||
build-backend = "setuptools.build_meta" | ||
requires = ["setuptools>=61", "setuptools_scm[toml]>=7"] | ||
|
||
[project] | ||
name = "gto" | ||
description = "Version and deploy your models following GitOps principles" | ||
readme = "README.md" | ||
license = {text = "Apache License 2.0"} | ||
authors = [{name = "Alexander Guschin", email = "[email protected]"}] | ||
keywords = ["git", "repo", "repository", "artifact", "registry", "developer-tools", "collaboration"] | ||
classifiers = [ | ||
"Development Status :: 2 - Pre-Alpha", | ||
"Programming Language :: Python :: 3", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: 3.12", | ||
] | ||
requires-python = ">=3.9" | ||
dynamic = ["version"] | ||
dependencies = [ | ||
"entrypoints", | ||
"funcy", | ||
# pydantic.v1.parse_obj is broken in ==2.0.0: | ||
# https://github.com/pydantic/pydantic/issues/6361 | ||
"pydantic>=1.9.0,<3,!=2.0.0", | ||
"rich", | ||
"ruamel.yaml", | ||
"scmrepo>=3,<4", | ||
"semver>=2.13.0", | ||
"tabulate>=0.8.10", | ||
"typer>=0.4.1", | ||
] | ||
|
||
[project.urls] | ||
Issues = "https://github.com/iterative/gto/issues" | ||
Source = "https://github.com/iterative/gto" | ||
|
||
[project.optional-dependencies] | ||
tests = [ | ||
"freezegun", | ||
"pytest", | ||
"pytest-cov", | ||
"pytest-mock", | ||
"pytest-test-utils", | ||
] | ||
dev = [ | ||
"gto[tests]", | ||
"mypy==1.9.0", | ||
"pylint==3.1.0", | ||
"types-PyYAML", | ||
"types-filelock", | ||
"types-freezegun", | ||
"types-requests", | ||
"types-setuptools", | ||
"types-six", | ||
"types-tabulate", | ||
] | ||
|
||
[project.scripts] | ||
gto = "gto.cli:app" | ||
|
||
[project.entry-points."gto.enrichment"] | ||
gto = "gto.index:GTOEnrichment" | ||
|
||
[tool.setuptools_scm] | ||
write_to = "gto/_gto_version.py" | ||
|
||
[tool.pytest.ini_options] | ||
addopts = "-rav --durations=0 --cov=gto --cov-report=term-missing --cov-report=xml" | ||
log_level = "debug" | ||
markers = [ | ||
"long: Marks long-running tests", | ||
] | ||
testpaths = ["tests"] | ||
|
||
[tool.mypy] | ||
# Error output | ||
show_column_numbers = true | ||
show_error_codes = true | ||
show_error_context = true | ||
show_traceback = true | ||
pretty = true | ||
disable_error_code = ["misc"] | ||
plugins = ["pydantic.mypy"] | ||
# See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports. | ||
ignore_missing_imports = true | ||
check_untyped_defs = false | ||
# Warnings | ||
warn_no_return = true | ||
warn_redundant_casts = true | ||
warn_unreachable = true | ||
|
||
[tool.mypy-overrides] | ||
ignore_missing_imports = true | ||
module = ["freezegun.*"] | ||
|
||
[tool.ruff] | ||
output-format = "full" | ||
show-fixes = true | ||
|
||
[tool.ruff.lint] | ||
extend-select = ["I", "B", "C4", "T10", "Q"] | ||
|
||
[tool.ruff.lint.mccabe] | ||
max-complexity = 15 | ||
|
||
[tool.ruff.lint.isort] | ||
known-first-party = ["gto", "tests"] | ||
|
||
[tool.pylint.master] | ||
extension-pkg-whitelist = ["pydantic", "pytest-lazy-fixture", "pytest"] | ||
load-plugins= ["pylint.extensions.no_self_use"] | ||
|
Oops, something went wrong.