63
63
from distutils .errors import CCompilerError , DistutilsExecError , DistutilsPlatformError
64
64
65
65
66
- def newrelic_agent_guess_next_version (tag_version ):
67
- if hasattr (tag_version , "tag" ): # For setuptools_scm 7.0+
68
- tag_version = tag_version .tag
69
-
70
- version , _ , _ = str (tag_version ).partition ("+" )
71
- version_info = list (map (int , version .split ("." )))
72
- if len (version_info ) < 3 :
73
- return version
74
- version_info [1 ] += 1
75
- version_info [2 ] = 0
76
- return "." .join (map (str , version_info ))
77
-
78
-
79
- def newrelic_agent_next_version (version ):
80
- if version .exact :
81
- return version .format_with ("{tag}" )
82
- else :
83
- return version .format_next_version (newrelic_agent_guess_next_version , fmt = "{guessed}" )
84
-
85
-
86
- script_directory = Path (__file__ ).parent
87
-
88
- readme_file = script_directory / "README.md"
89
- with readme_file .open () as f :
90
- readme_file_contents = f .read ()
91
-
92
- if sys .platform == "win32" and python_version > (2 , 6 ):
66
+ if sys .platform == "win32" :
93
67
build_ext_errors = (CCompilerError , DistutilsExecError , DistutilsPlatformError , IOError )
94
68
else :
95
69
build_ext_errors = (CCompilerError , DistutilsExecError , DistutilsPlatformError )
@@ -113,83 +87,59 @@ def build_extension(self, ext):
113
87
raise BuildExtFailed ()
114
88
115
89
116
- packages = [
117
- "newrelic" ,
118
- "newrelic.admin" ,
119
- "newrelic.api" ,
120
- "newrelic.bootstrap" ,
121
- "newrelic.common" ,
122
- "newrelic.core" ,
123
- "newrelic.extras" ,
124
- "newrelic.extras.framework_django" ,
125
- "newrelic.extras.framework_django.templatetags" ,
126
- "newrelic.hooks" ,
127
- "newrelic.network" ,
128
- "newrelic/packages" ,
129
- "newrelic/packages/isort" ,
130
- "newrelic/packages/isort/stdlibs" ,
131
- "newrelic/packages/urllib3" ,
132
- "newrelic/packages/urllib3/util" ,
133
- "newrelic/packages/urllib3/contrib" ,
134
- "newrelic/packages/urllib3/contrib/_securetransport" ,
135
- "newrelic/packages/urllib3/packages" ,
136
- "newrelic/packages/urllib3/packages/backports" ,
137
- "newrelic/packages/wrapt" ,
138
- "newrelic/packages/opentelemetry_proto" ,
139
- "newrelic.samplers" ,
140
- ]
141
-
142
- classifiers = [
143
- "Development Status :: 5 - Production/Stable" ,
144
- "License :: OSI Approved :: Apache Software License" ,
145
- "Programming Language :: Python :: 3.7" ,
146
- "Programming Language :: Python :: 3.8" ,
147
- "Programming Language :: Python :: 3.9" ,
148
- "Programming Language :: Python :: 3.10" ,
149
- "Programming Language :: Python :: 3.11" ,
150
- "Programming Language :: Python :: 3.12" ,
151
- "Programming Language :: Python :: 3.13" ,
152
- "Programming Language :: Python :: Implementation :: CPython" ,
153
- "Programming Language :: Python :: Implementation :: PyPy" ,
154
- "Topic :: System :: Monitoring" ,
155
- ]
156
-
157
90
kwargs = dict (
158
91
name = "newrelic" ,
159
- use_scm_version = {
160
- "version_scheme" : newrelic_agent_next_version ,
161
- "local_scheme" : "no-local-version" ,
162
- "git_describe_command" : "git describe --dirty --tags --long --match *.*.*" ,
163
- "write_to" : "newrelic/version.txt" ,
164
- },
165
- setup_requires = ["setuptools_scm>=3.2,<9" ],
166
- description = "New Relic Python Agent" ,
167
- long_description = readme_file_contents ,
168
- long_description_content_type = "text/markdown" ,
169
- url = "https://docs.newrelic.com/docs/apm/agents/python-agent/" ,
170
- project_urls = {"Source" : "https://github.com/newrelic/newrelic-python-agent" },
171
- author = "New Relic" ,
172
-
173
- maintainer = "New Relic" ,
174
- maintainer_email = "[email protected] " ,
92
+ setup_requires = ["setuptools>=61.2" , "setuptools_scm>=3.2,<9" ],
175
93
license = "Apache-2.0" ,
176
- zip_safe = False ,
177
- classifiers = classifiers ,
178
- packages = packages ,
179
- python_requires = ">=3.7" ,
180
- package_data = {
181
- "newrelic" : ["newrelic.ini" , "version.txt" , "packages/urllib3/LICENSE.txt" , "common/cacert.pem" , "scripts/azure-prebuild.sh" ],
182
- },
183
- extras_require = {"infinite-tracing" : ["grpcio" , "protobuf" ]},
184
94
)
185
95
186
- if with_setuptools :
187
- kwargs ["entry_points" ] = {
188
- "console_scripts" : ["newrelic-admin = newrelic.admin:main" ],
189
- }
190
- else :
96
+ if not with_setuptools :
97
+ script_directory = os .path .dirname (__file__ )
98
+ if not script_directory :
99
+ script_directory = os .getcwd ()
100
+
101
+ readme_file = os .path .join (script_directory , "README.md" )
102
+
191
103
kwargs ["scripts" ] = ["scripts/newrelic-admin" ]
192
104
105
+ # Old config that now lives in pyproject.toml
106
+ # Preserved here for backwards compatibility with distutils
107
+ packages = [
108
+ "newrelic" ,
109
+ "newrelic.admin" ,
110
+ "newrelic.api" ,
111
+ "newrelic.bootstrap" ,
112
+ "newrelic.common" ,
113
+ "newrelic.core" ,
114
+ "newrelic.extras" ,
115
+ "newrelic.extras.framework_django" ,
116
+ "newrelic.extras.framework_django.templatetags" ,
117
+ "newrelic.hooks" ,
118
+ "newrelic.network" ,
119
+ "newrelic.packages" ,
120
+ "newrelic.packages.isort" ,
121
+ "newrelic.packages.isort.stdlibs" ,
122
+ "newrelic.packages.urllib3" ,
123
+ "newrelic.packages.urllib3.util" ,
124
+ "newrelic.packages.urllib3.contrib" ,
125
+ "newrelic.packages.urllib3.contrib._securetransport" ,
126
+ "newrelic.packages.urllib3.packages" ,
127
+ "newrelic.packages.urllib3.packages.backports" ,
128
+ "newrelic.packages.wrapt" ,
129
+ "newrelic.packages.opentelemetry_proto" ,
130
+ "newrelic.samplers" ,
131
+ ]
132
+
133
+ kwargs .update (dict (
134
+ python_requires = ">=3.7" ,
135
+ zip_safe = False ,
136
+ packages = packages ,
137
+ package_data = {
138
+ "newrelic" : ["newrelic.ini" , "version.txt" , "packages/urllib3/LICENSE.txt" , "common/cacert.pem" , "scripts/azure-prebuild.sh" ],
139
+ },
140
+ ))
141
+
142
+
193
143
194
144
def with_librt ():
195
145
try :
@@ -253,9 +203,9 @@ def _run_setup():
253
203
254
204
with_extensions = os .environ .get ("NEW_RELIC_EXTENSIONS" , None )
255
205
if with_extensions :
256
- if with_extensions .lower () == " true" :
206
+ if with_extensions .lower () in [ "on" , " true", "1" ] :
257
207
with_extensions = True
258
- elif with_extensions .lower () == " false" :
208
+ elif with_extensions .lower () in [ "off" , " false", "0" ] :
259
209
with_extensions = False
260
210
else :
261
211
with_extensions = None
0 commit comments