Skip to content

Commit

Permalink
Add pyproject.toml file (#1181)
Browse files Browse the repository at this point in the history
* Add `pyproject.toml` file

* Use email from `manifest.json`
  • Loading branch information
ofek authored Mar 16, 2022
1 parent 80659b8 commit 168e26d
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 13 deletions.
10 changes: 0 additions & 10 deletions puma/MANIFEST.in

This file was deleted.

62 changes: 62 additions & 0 deletions puma/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-puma"
description = "The Puma check"
readme = "README.md"
license = "BSD-3-Clause"
keywords = [
"datadog",
"datadog agent",
"datadog check",
"puma",
]
authors = [
{ email = "justin.morris@ferocia.com.au" },
]
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/puma/__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/puma",
]
dev-mode-dirs = [
".",
]
Empty file removed puma/requirements.in
Empty file.
19 changes: 17 additions & 2 deletions puma/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.puma'],
# 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 puma/tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,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 168e26d

Please sign in to comment.