Skip to content

Commit

Permalink
Add pyproject.toml file
Browse files Browse the repository at this point in the history
  • Loading branch information
ofek committed Feb 23, 2022
1 parent 474c9a6 commit 4a92717
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 14 deletions.
11 changes: 0 additions & 11 deletions reboot_required/MANIFEST.in

This file was deleted.

62 changes: 62 additions & 0 deletions reboot_required/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
[build-system]
requires = [
"hatchling>=0.12.0",
"setuptools; python_version < '3.0'",
]
build-backend = "hatchling.build"

[project]
name = "datadog-reboot-required"
description = "The Reboot required check"
readme = "README.md"
license = "BSD-3-Clause"
keywords = [
"datadog",
"datadog agent",
"datadog check",
"reboot_required",
]
authors = [
{ name = "Datadog", email = "packages@datadoghq.com" },
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.8",
"Topic :: System :: Monitoring",
]
dependencies = [
"datadog-checks-base>=5.1.0",
]
dynamic = [
"version",
]

[project.optional-dependencies]
deps = []

[project.urls]
Source = "https://github.com/DataDog/integrations-extras"

[tool.hatch.version]
path = "datadog_checks/reboot_required/__about__.py"

[tool.hatch.build.targets.sdist]
include = [
"/datadog_checks",
"/tests",
"/manifest.json",
"/requirements-dev.txt",
"/tox.ini",
]

[tool.hatch.build.targets.wheel]
include = [
"/datadog_checks/reboot_required",
]
dev-mode-dirs = [
".",
]
Empty file removed reboot_required/requirements.in
Empty file.
19 changes: 17 additions & 2 deletions reboot_required/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,22 @@ def get_dependencies():
return f.readlines()


CHECKS_BASE_REQ = 'datadog-checks-base>=5.1.0'
def parse_pyproject_array(name):
import os
import re
from ast import literal_eval

pattern = r'^{} = (\[.*?\])$'.format(name)

with open(os.path.join(HERE, 'pyproject.toml'), 'r', encoding='utf-8') as f:
# Windows \r\n prevents match
contents = '\n'.join(line.rstrip() for line in f.readlines())

array = re.search(pattern, contents, flags=re.MULTILINE | re.DOTALL).group(1)
return literal_eval(array)


CHECKS_BASE_REQ = parse_pyproject_array('dependencies')[0]


setup(
Expand Down Expand Up @@ -58,7 +73,7 @@ def get_dependencies():
packages=['datadog_checks.reboot_required'],
# Run-time dependencies
install_requires=[CHECKS_BASE_REQ],
extras_require={'deps': get_dependencies()},
extras_require={'deps': parse_pyproject_array('deps')},
# Extra files to ship with the wheel package
include_package_data=True,
)
2 changes: 1 addition & 1 deletion reboot_required/tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ envdir =
py38: {toxworkdir}/py38
dd_check_style = true
platform = linux|darwin|win32
extras = deps
deps =
datadog-checks-base[deps]
-rrequirements-dev.txt
commands =
pip install -r requirements.in
pytest -v

0 comments on commit 4a92717

Please sign in to comment.