{"id":23444,"library":"collective-checkdocs","title":"collective.checkdocs","description":"A distutils command to view and validate reStructuredText in a package's long_description. Current version 0.2, last released in 2012 (in maintenance mode).","status":"maintenance","version":"0.2","language":"python","source_language":"en","source_url":"https://github.com/collective/collective.checkdocs","tags":["distutils","reStructuredText","validation","long_description","setup.py"],"install":[{"cmd":"pip install collective.checkdocs","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"required for setup.py command","package":"setuptools","optional":false},{"reason":"required for reST parsing","package":"docutils","optional":false},{"reason":"syntax highlighting in rendered output","package":"Pygments","optional":true}],"imports":[{"note":"collective.checkdocs is a distutils command, not a regular module","wrong":"from collective.checkdocs import checkdocs","symbol":"checkdocs","correct":"from setuptools import setup\n# no direct import needed; use setup.py check -r"}],"quickstart":{"code":"# In setup.py:\nfrom setuptools import setup\nsetup(\n    name='mypackage',\n    version='0.1',\n    description='My package',\n    long_description=open('README.rst').read(),\n    setup_requires=['collective.checkdocs'],\n    # ...\n)\n# Then run: python setup.py checkdocs","lang":"python","description":"Add 'collective.checkdocs' to setup_requires and use the 'checkdocs' command to validate long_description."},"warnings":[{"fix":"Use 'twine check dist/*' after building your package.","message":"collective.checkdocs is unmaintained since 2012; consider using 'twine check' instead.","severity":"deprecated","affected_versions":"all"},{"fix":"Only add to setup_requires in setup.py, never to install_requires.","message":"The package is installed as a setup_requires dependency, not a regular runtime dependency. Adding it to install_requires will break deployments.","severity":"gotcha","affected_versions":"all"},{"fix":"Use 'twine check' or 'rstcheck' for modern Python versions.","message":"Python 3 compatibility was never officially released; may fail on Python 3.6+.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Add 'setup_requires=[\"collective.checkdocs\"]' in setup.py and run 'pip install collective.checkdocs'.","cause":"Missing setup_requires or not installed in the current environment.","error":"Command 'checkdocs' not found"},{"fix":"Do not import collective.checkdocs in your code; use 'python setup.py checkdocs' after adding to setup_requires.","cause":"Trying to import the command module directly instead of using it as a distutils command.","error":"ImportError: No module named 'collective'"},{"fix":"Use 'twine check dist/*' instead; or patch the source manually (not recommended).","cause":"Python 3 incompatibility: code uses str.decode() which was removed.","error":"AttributeError: 'str' object has no attribute 'decode'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}