Open
Conversation
The RTD build fails because pybtex imports pkg_resources, which requires setuptools. Modern Python virtualenvs no longer include setuptools by default. Add it as an explicit dependency. Also guard the assets directory copy in conf.py with an existence check to prevent the "cp: cannot stat 'assets'" error. https://claude.ai/code/session_01T2FE3KjNU3yk8fjoc1WZvt
setuptools 72+ removed pkg_resources as a bundled module. RTD upgrades setuptools to 82.0.0 before installing our requirements, so the >=69.0.0 constraint was already satisfied. Pinning <72 forces a downgrade to a version that still includes pkg_resources, which pybtex requires. https://claude.ai/code/session_01T2FE3KjNU3yk8fjoc1WZvt
mmore500
commented
Feb 9, 2026
Member
Author
mmore500
left a comment
There was a problem hiding this comment.
Adds a safety check for copying assets (is folder), and pins setuptools to fix version incompatibility on RTD; RTD builds now; lgtm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes potential build failures on Read the Docs by adding a safety check for the assets directory and ensuring setuptools is explicitly listed as a documentation dependency.
Key Changes
os.path.isdir('assets')check before attempting to copy assets during RTD builds to prevent errors when the assets directory doesn't existsetuptoolsas an explicit dependency for documentation buildsImplementation Details
The assets copy operation on Read the Docs was failing unconditionally. By wrapping it in a directory existence check, the build will now gracefully skip the copy operation if assets are not present, preventing build failures in certain environments or configurations.
The setuptools dependency was added because it's required by pybtex (used by Sphinx) for pkg_resources functionality, and explicitly declaring it ensures consistent builds across different environments.
https://claude.ai/code/session_01T2FE3KjNU3yk8fjoc1WZvt