Skip to content

build: ship LICENSE in the wheel and sdist (#615) - #624

Merged
lesnik512 merged 2 commits into
mainfrom
issue-615-license
Oct 9, 2026
Merged

lesnik512 merged 2 commits into
mainfrom
issue-615-license

Conversation

@lesnik512

@lesnik512 lesnik512 commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Closes #615.

Summary

The built wheel and sdist did not contain LICENSE: pyproject.toml set license = "MIT" but no license-files. This adds license-files = ["LICENSE"].

Design decisions

The release gate from #615 item 2 is not part of this PR. #622 implemented it and was closed without merging, because every modern-python repo shares the same release.yml and a modern-di-only workflow would diverge from them.

Test plan

  • uv build: the wheel contains dist-info/licenses/LICENSE and the sdist contains LICENSE
  • just lint-ci, just test-ci

@github-actions github-actions Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark

Details
Benchmark suite Current: 9a133da Previous: 24b961a Ratio
benchmarks/test_guard_by_type.py::test_g16_resolve_by_type 4013098.4322296553 iter/sec (stddev: 1.1097783995101852e-8) 4315858.150298877 iter/sec (stddev: 7.413878679482876e-9) 1.08
benchmarks/test_guard_by_type.py::test_g17_resolve_by_type_large_registry 4028554.3935479205 iter/sec (stddev: 1.0213530928844565e-8) 4300023.658945851 iter/sec (stddev: 7.1760432007094726e-9) 1.07
benchmarks/test_guard_cold.py::test_g8_cold_first_resolve 24589.068634710737 iter/sec (stddev: 0.00004209799654758874) 26113.107962797832 iter/sec (stddev: 0.00003942984546406984) 1.06
benchmarks/test_guard_cold.py::test_g8b_cold_first_resolve_cached 18715.811576180793 iter/sec (stddev: 0.0001574127873284019) 20093.84678054414 iter/sec (stddev: 0.0001624271602537462) 1.07
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[1] 520.5190257054661 iter/sec (stddev: 0.00008344013563183024) 535.8805208924363 iter/sec (stddev: 0.00004315094761907123) 1.03
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[2] 508.4793887744704 iter/sec (stddev: 0.00012299772600650065) 508.53626042941846 iter/sec (stddev: 0.00003612334208327256) 1.00
benchmarks/test_guard_concurrency.py::test_g14_concurrent_cached_hit[4] 489.5156815304694 iter/sec (stddev: 0.000038434534412728085) 517.8532803735836 iter/sec (stddev: 0.00006355362064852873) 1.06
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[1] 14170.303908171129 iter/sec (stddev: 0.00000644934665336539) 15094.140266033306 iter/sec (stddev: 0.000006100314344641331) 1.07
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[2] 7736.543362735352 iter/sec (stddev: 0.000017872974787059808) 7705.786891843116 iter/sec (stddev: 0.00001841534243092725) 1.00
benchmarks/test_guard_concurrency.py::test_g15_concurrent_first_resolve[4] 3900.830106405156 iter/sec (stddev: 0.000032953365715434154) 4111.3980561817725 iter/sec (stddev: 0.00003366520674751617) 1.05
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[1] 9344.319241805646 iter/sec (stddev: 0.000009357250451740007) 9867.812428992214 iter/sec (stddev: 0.000008593989559567317) 1.06
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[2] 4271.4975215412305 iter/sec (stddev: 0.00001819481355777395) 4224.47969813191 iter/sec (stddev: 0.000019950351047421408) 0.99
benchmarks/test_guard_concurrency.py::test_g15b_concurrent_first_resolve_sibling_children[4] 1976.2644708281932 iter/sec (stddev: 0.000037857195739375155) 2024.884446177151 iter/sec (stddev: 0.00003619766032079848) 1.02
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[1] 41007.87795569296 iter/sec (stddev: 0.00000457848996900145) 42319.01128978199 iter/sec (stddev: 0.0000033545899639621063) 1.03
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[2] 17936.95965832796 iter/sec (stddev: 0.000013067635946614483) 18530.697876477243 iter/sec (stddev: 0.000007092284741323022) 1.03
benchmarks/test_guard_concurrency.py::test_g15c_worker_pool_floor_control[4] 6687.14381554922 iter/sec (stddev: 0.00002995429164074047) 6752.744273114469 iter/sec (stddev: 0.000026108703818071415) 1.01
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container 1661439.4320772318 iter/sec (stddev: 2.329040668353193e-8) 1706889.4453000687 iter/sec (stddev: 2.6038831275383985e-8) 1.03
benchmarks/test_guard_lifecycle.py::test_g6b_build_child_container_auto_scope 1751967.3279160303 iter/sec (stddev: 3.8699353089681755e-8) 1862833.6009142802 iter/sec (stddev: 1.5919226316494808e-8) 1.06
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle_batch 3065.4110967559486 iter/sec (stddev: 0.000012793785134071262) 3232.71576784532 iter/sec (stddev: 0.000008332894430295937) 1.05
benchmarks/test_guard_lifecycle.py::test_g7c_event_loop_floor_control 58440.28327847158 iter/sec (stddev: 0.0000022726193621744763) 62421.15964058168 iter/sec (stddev: 0.0000013668905693078848) 1.07
benchmarks/test_guard_lifecycle.py::test_g7b_request_cycle_sync 330538.1812751913 iter/sec (stddev: 5.122375300375846e-7) 401296.99992963794 iter/sec (stddev: 6.724915390469251e-8) 1.21
benchmarks/test_guard_lifecycle.py::test_g13_teardown_at_scale 53840.30318594321 iter/sec (stddev: 0.000002595454072548148) 57899.85022884995 iter/sec (stddev: 0.0000014913480877154191) 1.08
benchmarks/test_guard_lifecycle.py::test_g13b_teardown_at_scale_async_no_finalizers 496.00051918852296 iter/sec (stddev: 0.0015960278398031037) 534.9617176101083 iter/sec (stddev: 0.0014995076247391224) 1.08
benchmarks/test_guard_resolve.py::test_g1_transient_resolve 2359893.1440391713 iter/sec (stddev: 2.855222145023469e-8) 2384000.2116776286 iter/sec (stddev: 2.6508378119302717e-8) 1.01
benchmarks/test_guard_resolve.py::test_g2_cached_resolve 3912807.161726452 iter/sec (stddev: 1.1340728943798448e-8) 4093276.6049239663 iter/sec (stddev: 6.428445739975486e-9) 1.05
benchmarks/test_guard_resolve.py::test_g3_deep_chain 779142.9054056722 iter/sec (stddev: 6.681943344959463e-8) 860607.9166432885 iter/sec (stddev: 5.33406847377085e-8) 1.10
benchmarks/test_guard_resolve.py::test_g4_wide_resolve 464115.3118629142 iter/sec (stddev: 4.5428131558129703e-7) 524927.30150325 iter/sec (stddev: 5.219374226749815e-7) 1.13
benchmarks/test_guard_resolve.py::test_g5_cross_scope 2033910.6809185604 iter/sec (stddev: 5.855076969088856e-8) 2217441.787288046 iter/sec (stddev: 2.302690274403501e-8) 1.09
benchmarks/test_guard_resolve.py::test_g9_context_resolve 1622806.8627361788 iter/sec (stddev: 1.8499010974099852e-7) 1612240.8418910517 iter/sec (stddev: 1.7675698009103897e-7) 0.99
benchmarks/test_guard_resolve.py::test_g12_override_active_resolve 778420.1993195278 iter/sec (stddev: 4.3917170498377255e-8) 843613.0394446254 iter/sec (stddev: 6.452741790771906e-8) 1.08
benchmarks/test_guard_resolve.py::test_g18_alias_hop 3925690.6025805725 iter/sec (stddev: 9.489595870425172e-9) 4103169.099066306 iter/sec (stddev: 1.1276419780247335e-8) 1.05
benchmarks/test_guard_validate.py::test_g10_validate_deep_chain 31654.893455644287 iter/sec (stddev: 0.000022627115148553207) 33688.857838984324 iter/sec (stddev: 0.000021133464893362693) 1.06
benchmarks/test_guard_validate.py::test_g11_validate_wide 16884.59757461152 iter/sec (stddev: 0.00032473623214532743) 19683.058406944358 iter/sec (stddev: 0.000025932522356489414) 1.17

This comment was automatically generated by workflow using github-action-benchmark.

@lesnik512
lesnik512 merged commit de2a43e into main Oct 9, 2026
11 checks passed
@lesnik512
lesnik512 deleted the issue-615-license branch October 9, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ship LICENSE in the wheel and gate the release workflow

1 participant