Replace setup with pyproject and fix packaging unintended modules#4194
Conversation
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
| [tool.setuptools] | ||
| include-package-data = true | ||
|
|
There was a problem hiding this comment.
| [tool.setuptools] | |
| include-package-data = true | |
| [tool.setuptools.package-data] | |
| "trl" = [ | |
| "templates/*.md", | |
| "accelerate_configs/*.yaml", | |
| "LICENSE", | |
| "CONTRIBUTING.md", | |
| "README.md", | |
| ] | |
| [tool.setuptools.exclude-package-data] | |
| "*" = ["__pycache__"] |
maybe we can also drop MANIFEST.in and have everything here
pyproject.toml
Outdated
| version = { file = "VERSION" } | ||
|
|
||
| [tool.setuptools.packages.find] | ||
| where = ["."] |
There was a problem hiding this comment.
| where = ["."] | |
| where = ["trl*"] |
otherwise building will include the examples, which we don't want
There was a problem hiding this comment.
and maybe you don't even need exclude = ["tests*"] in this case
There was a problem hiding this comment.
I'm realizing that setup.cfg was actually mistakenly including examples and scripts.
Yes, @qgallouedec!! Initially, my goal was just to replicate the previous behavior while migrating from But after looking deeper, I noticed that we were previously packaging and distributing unintended modules! I did some investigation and found that we're not the only ones. For example, see the issue I opened in So this PR will actually fix a long-standing packaging issue on our side as well. |
|
At the end I had to keep
|
qgallouedec
left a comment
There was a problem hiding this comment.
Ok, this solution works for me. I’ve tested it locally and can confirm that the packaged version contains exactly the required files.
commit ae6837f Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 18:40:18 2025 +0200 Removed tokenizer/processor creation from example scripts (#4211) commit 56a8f11 Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 17:45:44 2025 +0200 Replace setup with pyproject and fix packaging unintended modules (#4194) commit 5291015 Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 16:04:06 2025 +0200 Remove `Optional` from `processing_class` in `PPOTrainer` (#4212) commit 0588b1f Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 15:57:17 2025 +0200 Updated vLLM integration guide (#4162) Co-authored-by: Quentin Gallouédec <45557362+qgallouedec@users.noreply.github.com> commit 45ee98b Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 11:14:54 2025 +0200 Replace unittest with pytest (#4188) commit 3800a6e Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 11:13:21 2025 +0200 Hotfix: Exclude transformers 4.57.0 for Python 3.9 (#4209) Co-authored-by: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> commit 7ad9ce8 Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 11:04:20 2025 +0200 Remove tokenizer creation from `sft` example script (#4197) commit 0c2dc14 Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 08:31:58 2025 +0200 Remove custome_container for building the docs (#4198) commit ced8b33 Author: burtenshaw <ben.burtenshaw@gmail.com> Date: Mon Oct 6 08:23:11 2025 +0200 [DOCS/FIX] lora without regrets - fix lr (#4207)
commit 65eb45c Author: Quentin Gallouédec <45557362+qgallouedec@users.noreply.github.com> Date: Mon Oct 6 13:07:18 2025 -0600 Apply style and revert change in `sft_video_llm` example (#4214) commit ae6837f Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 18:40:18 2025 +0200 Removed tokenizer/processor creation from example scripts (#4211) commit 56a8f11 Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 17:45:44 2025 +0200 Replace setup with pyproject and fix packaging unintended modules (#4194) commit 5291015 Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 16:04:06 2025 +0200 Remove `Optional` from `processing_class` in `PPOTrainer` (#4212) commit 0588b1f Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 15:57:17 2025 +0200 Updated vLLM integration guide (#4162) Co-authored-by: Quentin Gallouédec <45557362+qgallouedec@users.noreply.github.com> commit 45ee98b Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 11:14:54 2025 +0200 Replace unittest with pytest (#4188) commit 3800a6e Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 11:13:21 2025 +0200 Hotfix: Exclude transformers 4.57.0 for Python 3.9 (#4209) Co-authored-by: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> commit 7ad9ce8 Author: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Date: Mon Oct 6 11:04:20 2025 +0200 Remove tokenizer creation from `sft` example script (#4197) commit 0c2dc14 Author: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Mon Oct 6 08:31:58 2025 +0200 Remove custome_container for building the docs (#4198) commit ced8b33 Author: burtenshaw <ben.burtenshaw@gmail.com> Date: Mon Oct 6 08:23:11 2025 +0200 [DOCS/FIX] lora without regrets - fix lr (#4207)
Replace setup with pyproject, as discussed internally in HF open source team.
This PR replaces the legacy
setup.cfgconfiguration with a modernpyproject.tomlsetup.Additionally, this PR fixes a long-standing packaging issue, as unintended modules (
examples,scriptsandtests) were being included in the distributed package:These have now been properly excluded to ensure only the intended source code is packaged.