Newer
Older
dynamic = ["version"]
description = "Collection of scripts for Odoo"
readme = "README.rst"
requires-python = ">=3.6"
license = { file = "LICENSE" }
authors = [{ name = "XCG Consulting" }]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Environment :: Console",
"Intended Audience :: Developers",
dependencies = [

Vincent Hatakeyama
committed
"odoorpc >=0.8.0; python_version>='3.7' and python_version<'3.10'",
"odoorpc ==0.8.0; python_version=='3.6'",

Vincent Hatakeyama
committed
"odoorpc >=0.9.0; python_version>='3.10'",
"python-dateutil >=2.7.0",
"coloredlogs",
"PyYAML",

Vincent Hatakeyama
committed
"importlib_metadata; python_version<'3.8'",
"gitpython >=3.1.20", # 3.1.20 is the last version supporting python 3.6 (ubuntu 22.04 ships 3.1.24)

Vincent Hatakeyama
committed
"python-hglib",
"backports-datetime-fromisoformat >=2.0; python_version<='3.10'",
]
[project.optional-dependencies]
doc = [
"sphinx",
# used when updating translation files
"sphinx-intl"
]
conf2reST = []
docker = [
# used in docker_rednerd
"requests_unixsocket",
"requests",
"secretstorage >=3.3.1",

Vincent Hatakeyama
committed
# requests_unixsocket is not working correctly with urllib3 > 2. (urllib3 1.x kept for python 3.6 support)
]
import_sql = ["psycopg2"]
# source_control used to have requirements for the update_duplicate_sources script
source_control = []
import_base_import = ["requests-toolbelt>=0.8.0"]
[project.scripts]
import_base_import = "odoo_scripts.import_base_import:main [import_base_import]"
import_jsonrpc = "odoo_scripts.import_jsonrpc:main"
import_sql = "odoo_scripts.import_sql:main [import_sql]"
docker_dev_start = "odoo_scripts.docker_dev_start:main [docker]"
do_tests = "odoo_scripts.do_tests:main"
docker_black = "odoo_scripts.docker_black:main [docker]"
docker_build = "odoo_scripts.docker_build:main [docker]"
docker_build_doc = "odoo_scripts.docker_build_doc:main [docker]"
docker_build_clean = "odoo_scripts.docker_build_clean:main"
docker_build_copy = "odoo_scripts.docker_build_copy:main"
docker_flake8 = "odoo_scripts.docker_flake8:main [docker]"
docker_isort = "odoo_scripts.docker_isort:main [docker]"
docker_pg = "odoo_scripts.docker_postgresql:main [docker]"
docker_prettier = "odoo_scripts.docker_prettier:main [docker]"
docker_pylint = "odoo_scripts.docker_pylint:main [docker]"
docker_rednerd = "odoo_scripts.docker_rednerd:main [docker]"
conf2reST = "odoo_scripts.conf2reST:main [conf2reST]"
odoo_conf_inject_env_var = "odoo_scripts.odoo_conf_inject_env_var:main"
list_modules = "odoo_scripts.list_modules:main"
update_duplicate_sources = "odoo_scripts.update_duplicate_sources:main"

Vincent Hatakeyama
committed
docker_redis = "odoo_scripts.docker_redis:main [docker]"
store_orus_api_token = "odoo_scripts.storage:main"
odoo_scripts_configuration = "odoo_scripts.config:main"
[project.urls]
repository = "https://orus.io/xcg/odoo_scripts"
changelog = "https://orus.io/xcg/odoo_scripts/-/blob/branch/default/NEWS.rst"
requires = ["setuptools >= 45", "wheel", "setuptools_scm[toml] >= 6.2"]
build-backend = "setuptools.build_meta"
"create_archive",
"create_documentation",

Vincent Hatakeyama
committed
"do_tests.zsh",
[tool.setuptools.packages.find]
include = ["odoo_scripts*"]
[tool.setuptools_scm]
[tool.ruff]
# should be py36, but not available
target-version = "py37"
[tool.coverage.run]
branch = true
source = ["odoo_scripts"]
[tool.coverage.report]
show_missing = true
# to run py36, tox<4.0.0a10 and virtualenv<20.18.0 are needed
# With such an old tox, setting HOME is necessary
[tool.tox]
legacy_tox_ini = """
[tox]
minversion = 3.15
envlist = 36,py37,py38,py39,py310,py311,py312,coverage-report
skip_missing_interpreters = true
[testenv:36]
wheel_build_env = py311
wheel = true
setenv =
COVERAGE_FILE = .coverage.{envname}
HOME = .home
deps =
coverage[toml]
pytest
commands = coverage run -m pytest --junitxml=report.{envname}.xml {posargs}
[testenv:py{37,38,39,310,311,312}]
wheel_build_env = py311
wheel = true
setenv =
COVERAGE_FILE = .coverage.{envname}
deps =
coverage[toml]
pytest
commands = coverage run -m pytest --junitxml=report.{envname}.xml {posargs}
[testenv:coverage-report]
skip_install = true
deps = coverage[toml]
depends = 36,py37,py38,py39,py310,py311,py312
commands =
coverage combine
coverage report
parallel_show_output = true
[testenv:coverage-xml]
skip_install = true
deps = coverage[toml]
depends = coverage-report
commands =
coverage xml
[[tool.mypy.overrides]]
module = "hglib"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "backports.datetime_fromisoformat"
ignore_missing_imports = true