{"id":28056,"library":"pretext","title":"PreTeXt CLI","description":"A Python package for authoring, building, and deploying PreTeXt projects. PreTeXt is an XML-based markup language for writing academic articles, textbooks, and other documents. Current version 2.38.3, requires Python >=3.10, <4.0. Roughly monthly releases.","status":"active","version":"2.38.3","language":"python","source_language":"en","source_url":"https://github.com/PreTeXtBook/pretext-cli","tags":["pretext","publishing","academic-writing","cli"],"install":[{"cmd":"pip install pretext","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Case-sensitive: module name is all lowercase 'pretext'.","wrong":"from Pretext import PretextProject","symbol":"PretextProject","correct":"from pretext import PretextProject"}],"quickstart":{"code":"from pretext import PretextProject\n\n# Create a new project in the current directory\nproject = PretextProject()\nproject.setup(\"my-book\", author=\"Your Name\", source_dir=\"source\")\nprint(f\"Project created at {project.path}\")\n\n# Build to HTML\nfrom pretext import build\ndef build_html(project_dir):\n    build(project_dir, format=\"html\")\n    print(\"Build complete\")\n\nbuild_html(\"./my-book\")","lang":"python","description":"Create a new PreTeXt project and build to HTML."},"warnings":[{"fix":"Upgrade to Python >=3.10.","message":"Python 3.10+ required. Installation on Python 3.9 or older will fail.","severity":"breaking","affected_versions":"<=2.38.3"},{"fix":"Always import from the top-level `pretext` package. E.g., import `pretext` and call `pretext.build(...)`.","message":"Importing submodules (e.g., `pretext.build`) directly is discouraged; use `pretext.build(project_dir, format=...)` via the top-level API. Direct imports may break without notice.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Install with `pip install pretext` and ensure import is `import pretext` (all lowercase).","cause":"Package not installed or typo in import (capital P instead of lowercase).","error":"ModuleNotFoundError: No module named 'pretext'"},{"fix":"Upgrade pretext with `pip install --upgrade pretext`.","cause":"Using older version of pretext (pre-2.0) that did not have PretextProject class.","error":"ImportError: cannot import name 'PretextProject' from 'pretext'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}