Skip to content

NH-23784 NH-104999 Build sdist without setup.py; use build for sdist#616

Merged
tammy-baylis-swi merged 2 commits intopure-pythonfrom
NH-23784-rm-setup-py
Apr 28, 2025
Merged

NH-23784 NH-104999 Build sdist without setup.py; use build for sdist#616
tammy-baylis-swi merged 2 commits intopure-pythonfrom
NH-23784-rm-setup-py

Conversation

@tammy-baylis-swi
Copy link
Contributor

@tammy-baylis-swi tammy-baylis-swi commented Apr 25, 2025

Updates sdist builds to no longer need setup.py, which is easier since APM Python is pure Python. We do this because setup.py is legacy and pyproject.toml should be used: https://pip.pypa.io/en/stable/reference/build-system/#build-system-interface. Adds build dependency to publish/dev container for building sdist.

TestPyPI was published successfully to https://test.pypi.org/project/solarwinds-apm/4.0.0.10/#files and smoke tests pass: https://github.com/solarwinds/apm-python/actions/runs/14674509169. See ticket comment for additional testing.

@tammy-baylis-swi tammy-baylis-swi marked this pull request as ready for review April 25, 2025 22:38
@tammy-baylis-swi tammy-baylis-swi requested a review from a team as a code owner April 25, 2025 22:38
Copy link
Contributor

@jerrytfleung jerrytfleung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tammy-baylis-swi tammy-baylis-swi merged commit c824dd6 into pure-python Apr 28, 2025
83 checks passed
@tammy-baylis-swi tammy-baylis-swi deleted the NH-23784-rm-setup-py branch April 28, 2025 16:25
jerrytfleung added a commit that referenced this pull request Apr 28, 2025
Updates APM Python to be a Pure Python library, where all signals export by OTLP HTTP by default.

This branch includes changes from 53 PRs that have each been tested.

Regular release and testing process will be followed after merging this into main.

List of all PRs
### Added

- Added ApmConfig mapping for pure Python sampler ([#552](#552), [#589](#589))
- Added pure Python transaction name pool ([#559](#559))
- Added suppression of tracing when HTTP getSettings ([#560](#560))
- Added resource detection for AWS, Azure, Kubernetes, UAMS written to resource attributes ([#577](#577), [#596](#596))
- Added internal deduction of export endpoint from SW_APM_COLLECTOR ([#590](#590), [#602](#602))

### Changed

- Updated custom transaction naming as pure Python ([#558](#558))
- Simplified spankind check ([#561](#561))
- Updated `http.route` assignment based on semconv ([#562](#562))
- Updated to register NoOp provider if not exporting ([#566](#566))
- Fixed counter metrics init ([#564](#564))
- Refactored ResponseTime metrics and request counters ([#563](#563), [#567](#567), [#568](#568))
- Fixed transaction name environment config support ([#569](#569))
- Breaking: changed SolarWindsSpan Exporter to no-op for future removal ([#572](#572))
- Redesigned custom Configurator ([#578](#578), [#581](#581))
- Updated `solarwinds_ready` API function for pure Python ([#582](#582), [#584](#584), [#599](#599))
- Breaking: Changed default export protocol to OTLP HTTP for all signals ([#580](#580))
- Updated Lambda dependencies and builds for resource detection ([#593](#593))
- Fixed Configurator exporter loading to prevent ImportError ([#592](#592))
- Updated smoke tests / verify_install for pure Python ([#595](#595))
- Updated PyPI sdist, wheel publishes in pure Python ([#597](#597))
- Breaking: Unified AWS Lambda builds for pure Python without architecture in layer name ([#594](#594))
- Update autoinstrumentation-python image builds for pure Python, beta testing ([#598](#598))
- Updated default OTel export header assignment for SWO vs other ([#601](#601))
- Fixed HttpSampler warning message ([#604](#604))
- Breaking: Updated local development setup for pure Python ([#603](#603))
- Fixed `sw.w3c.tracestate` attribute assignment ([#606](#606))
- Updated integration tests ([#605](#605))
- Updated units, descriptions of APM counters ([#608](#608))
- Updated sampler init ([#609](#609))
- Updated `SW_APM_LOG_FILEPATH` support for Pure Python ([#613](#613))
- Fixed tracestate KV deletion ([#617](#617))

### Removed

- Breaking: removed c-lib extension and legacy components ([#549](#549), [#612](#612), [#614](#614))
- Removed discontinued OboeAPI ([#565](#565))
- Removed legacy configuration logic ([#570](#570), [#571](#571), [#583](#583))
- Removed discontinued grpcio-using dependencies from Lambda builds ([#591](#591))
- Removed warning log for Lambda mode ([#600](#600))
- Removed unnecessary tests ([#611](#611), [#610](#610), [#615](#615))
- Removed setup.py usage for builds ([#616](#616))
---------

Co-authored-by: Tammy Baylis <96076570+tammy-baylis-swi@users.noreply.github.com>
Co-authored-by: tammy-baylis-swi <tammy.baylis@solarwinds.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants