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 568c1ea
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 13 deletions.
10 changes: 0 additions & 10 deletions php_opcache/MANIFEST.in

This file was deleted.

62 changes: 62 additions & 0 deletions php_opcache/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-php-opcache"
description = "The PHP OPcache check"
readme = "README.md"
license = "BSD-3-Clause"
keywords = [
"datadog",
"datadog agent",
"datadog check",
"php_opcache",
]
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>=11.0.0",
]
dynamic = [
"version",
]

[project.optional-dependencies]
deps = []

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

[tool.hatch.version]
path = "datadog_checks/php_opcache/__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/php_opcache",
]
dev-mode-dirs = [
".",
]
Empty file removed php_opcache/requirements.in
Empty file.
19 changes: 17 additions & 2 deletions php_opcache/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,22 @@ def get_dependencies():
return f.readlines()


CHECKS_BASE_REQ = 'datadog-checks-base>=11.0.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 @@ -55,7 +70,7 @@ def get_dependencies():
packages=['datadog_checks.php_opcache'],
# 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 php_opcache/tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ envdir =
dd_check_style = true
usedevelop = true
platform = linux|darwin|win32
extras = deps
deps =
datadog-checks-base[deps]>=6.6.0
-rrequirements-dev.txt
passenv =
DOCKER*
COMPOSE*
commands =
pip install -r requirements.in
pytest -v {posargs}
setenv =
DDEV_SKIP_GENERIC_TAGS_CHECK=true

0 comments on commit 568c1ea

Please sign in to comment.