-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
69 lines (57 loc) · 2.93 KB
/
Copy pathpyproject.toml
File metadata and controls
69 lines (57 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Dependencies for all of the Python scripts within tools/. These tools are not strictly
# required to build the SDK from source as a library consumer: rather, they're ancillary
# tools used in a full development environment.
[project]
name = "dd-sdk-cpp-tools"
version = "0.1.0"
requires-python = ">=3.12"
# Some tools are simple scripts that just require a stock Python interpreter. Use -e to
# install deps for specific tools (pip install -e '.[integration-test,repl-profile]'),
# or install everything with: pip install -e '.[all]'
dependencies = []
# Begin tool-specific dependencies
[project.optional-dependencies]
# tools/bootstrap-crashpad: simple script used to pull crashpad into the build when
# configured with DD_CRASH_MODE=crashpad; no dependencies
bootstrap-crashpad = []
# tools/generate-windows-timezone-mapping: offline tool used to generate C++ header
# defining a static mapping of Win32 timezone names to IANA names; no dependencies
generate-windows-timezone-mapping = []
# tools/integration-test: runner for repl-based integration tests; requires mitmproxy to
# intercept HTTP requests
integration-test = ["mitmproxy"]
# tools/repl-profile: runner for repl-based profiling benchmarks; requires
# datadog-api-client to submit metrics to the relevant internal Datadog org, requires
# additional deps for visualization tool used to interactively examine results
repl-profile = ["datadog-api-client", "streamlit", "pandas", "plotly"]
# tools/validate-event-types: parses JSON literals from tests/ and ensures that they
# conform to the rum-events-format schema; requires jsonschema and referencing for
# validation; gitpython to clone rum-events-format repo
validate-event-types = ["jsonschema", "referencing", "gitpython"]
# tools/prepare-release: Cuts a new release/X.Y.Z branch from develop, bumps the version
# number in CMakeLists.txt, updates CHANGELOG.md based on PRs being released, and opens
# a PR from release/X.Y.Z into main
prepare-release = ["anthropic"]
# tools/publish-release: In main, checks whether version in CMakeLists.txt does not yet
# have a GitHub release, and if so: creates and pushes a tag X.Y.Z, creates a GitHub
# release X.Y.Z, and uploads all release artifacts from the CI pipeline to that release
publish-release = []
# Dummy target to install dependencies for all tools
all = [
"dd-sdk-cpp-tools[bootstrap-crashpad]",
"dd-sdk-cpp-tools[generate-windows-timezone-mapping]",
"dd-sdk-cpp-tools[integration-test]",
"dd-sdk-cpp-tools[repl-profile]",
"dd-sdk-cpp-tools[validate-event-types]",
"dd-sdk-cpp-tools[prepare-release]",
"dd-sdk-cpp-tools[publish-release]",
]
# This is a trivial pyproject.toml used solely to manage dependencies; we don't release
# any Python source from this repo
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
# Configure setuptools not to scan src/ for Python packages: src/ contains our C++
# library implementation, not Python source
[tool.setuptools]
packages = []