xcookie
  • xcookie package
    • Subpackages
      • xcookie.builders package
        • Submodules
          • xcookie.builders._builder module
            • Builder
          • xcookie.builders.common_ci module
            • get_pyproject_optional_dependency_keys()
            • filter_pyproject_extras()
            • format_pyproject_install_target()
            • make_ci_plan()
            • make_typecheck_parts()
            • make_build_sdist_parts()
            • make_build_wheel_parts()
            • make_install_and_test_wheel_parts()
            • make_windows_msvc_bash_path_commands()
            • get_supported_platform_info()
            • _py_shell_command()
            • make_project_version_getter()
            • make_project_version_assignment()
          • xcookie.builders.docs module
            • DocsBuilder
              • DocsBuilder.docs_dpath
              • DocsBuilder.docs_auto_outdir
              • DocsBuilder.sphinx_apidoc_invocation()
            • build_docs_index()
            • build_docs_conf()
            • build_docs_requirements()
          • xcookie.builders.docs_conf module
          • xcookie.builders.github_actions module
            • GitHubActionsRenderer
              • GitHubActionsRenderer.render_default()
              • GitHubActionsRenderer.render_tests()
              • GitHubActionsRenderer.render_release()
            • _action_ref()
            • _version_assign_command()
            • _setup_python_inputs()
            • Actions
              • Actions.action_versions
              • Actions._available_action_methods()
              • Actions._check_for_updates()
              • Actions.action()
              • Actions.checkout()
              • Actions.setup_python()
              • Actions.codecov_action()
              • Actions.combine_coverage()
              • Actions.upload_artifact()
              • Actions.download_artifact()
              • Actions.msvc_dev_cmd()
              • Actions.setup_qemu()
              • Actions.setup_xcode()
              • Actions.setup_ipfs()
              • Actions.cibuildwheel()
            • _render_workflow_text()
            • _normalize_cibuildwheel_skip_selector()
            • _normalize_cibuildwheel_skip_string()
            • _matrix_needs_qemu()
            • _build_github_footer()
            • build_ci_artifact_job()
            • _collect_test_jobs()
            • _collect_release_jobs()
            • build_github_actions()
            • build_github_actions_tests()
            • build_github_actions_release()
            • lint_job()
            • build_and_test_sdist_job()
            • _vcpkg_build_support()
            • build_binpy_wheels_job()
            • build_purewheel_job()
            • build_sdist_job()
            • build_binpy_wheels_release_job()
            • test_wheels_job()
            • build_deploy()
            • build_github_release()
          • xcookie.builders.gitlab_ci module
            • GitLabCIRenderer
              • GitLabCIRenderer.render()
            • _add_yaml_merge()
            • build_gitlab_ci()
            • build_gitlab_rules()
            • workflow_section()
            • make_purepy_ci_jobs()
            • make_binpy_ci_jobs()
            • build_lint_job()
            • build_gpg_job()
            • build_deploy_job()
          • xcookie.builders.pyproject module
            • _parse_requirement_file_for_metadata()
            • _requirement_file_needs_metadata_copy()
            • _build_setuptools_requirement_metadata_text()
            • _dynamic_requirement_relpaths()
            • _autodictify()
            • _coerce_spdx_license()
            • _canonical_os_values()
            • _build_xcookie_tool_config()
            • build_pyproject()
          • xcookie.builders.readme module
            • BadgeBuilder
              • BadgeBuilder.build_templates()
            • ReadmeBuilder
            • build_readme()
            • _ibeis_badges()
          • xcookie.builders.readthedocs module
            • build_readthedocs()
          • xcookie.builders.setup module
            • build_setup()
        • Module contents
      • xcookie.rc package
        • Submodules
          • xcookie.rc.conf_ext module
            • PatchedPythonDomain
              • PatchedPythonDomain.resolve_xref()
            • GoogleStyleDocstringProcessor
              • GoogleStyleDocstringProcessor.register_section()
              • GoogleStyleDocstringProcessor._register_builtins()
              • GoogleStyleDocstringProcessor.process()
              • GoogleStyleDocstringProcessor.process_docstring_callback()
            • SphinxDocstring
              • SphinxDocstring.find_tagged_lines()
            • paragraph()
            • create_doctest_figure()
            • postprocess_hyperlinks()
            • fix_rst_todo_section()
            • setup()
        • Module contents
          • resource_fpath()
    • Submodules
      • xcookie.__main__ module
      • xcookie.constants module
        • PrereleasePythonPolicy
          • PrereleasePythonPolicy.ALLOW_FAILURE
          • PrereleasePythonPolicy.STRICT
          • PrereleasePythonPolicy.SKIP
        • is_prerelease_python_version()
      • xcookie.directive module
      • xcookie.main module
        • SkipFile
        • XCookieConfig
          • XCookieConfig._description
          • XCookieConfig._load_pyproject_config()
          • XCookieConfig._load_xcookie_pyproject_settings()
          • XCookieConfig._infer_project_authors()
          • XCookieConfig._infer_xcookie_settings_from_pyproject()
          • XCookieConfig.confirm()
          • XCookieConfig.prompt()
          • XCookieConfig.load_from_cli_and_pyproject()
          • XCookieConfig.main()
          • XCookieConfig._abc_impl
        • TemplateApplier
          • TemplateApplier.template_infos
          • TemplateApplier.close()
          • TemplateApplier.apply()
          • TemplateApplier.autostage()
          • TemplateApplier.rel_mod_dpath
          • TemplateApplier.mod_dpath
          • TemplateApplier.mod_name
          • TemplateApplier.pkg_name
          • TemplateApplier.pkg_fname_prefix
          • TemplateApplier._readme_fpath()
          • TemplateApplier._readme_content_type()
          • TemplateApplier._build_template_registry()
          • TemplateApplier.tags
          • TemplateApplier._project_classifiers()
          • TemplateApplier._presetup()
          • TemplateApplier.setup()
          • TemplateApplier.copy_staged_files()
          • TemplateApplier.vcs_checks()
          • TemplateApplier.template_context
          • TemplateApplier._stage_file()
          • TemplateApplier._apply_xcookie_directives()
          • TemplateApplier.stage_files()
          • TemplateApplier.gather_tasks()
          • TemplateApplier.render_patch_plan()
          • TemplateApplier.build_requirements_txt()
          • TemplateApplier.build_readthedocs()
          • TemplateApplier.build_setup()
          • TemplateApplier.build_pyproject()
          • TemplateApplier.format_code()
          • TemplateApplier._setup_pip_commands()
          • TemplateApplier.build_github_actions()
          • TemplateApplier.build_github_actions_tests()
          • TemplateApplier.build_github_actions_release()
          • TemplateApplier.build_gitlab_ci()
          • TemplateApplier.build_refresh_locks_sh()
          • TemplateApplier.build_run_linter()
          • TemplateApplier.build_readme()
          • TemplateApplier.build_docs_index()
          • TemplateApplier.build_docs_conf()
          • TemplateApplier.build_docs_requirements()
          • TemplateApplier.build_optional_requirements()
          • TemplateApplier.build_runtime_requirements()
          • TemplateApplier.build_tests_requirements()
          • TemplateApplier._build_special_requirements()
          • TemplateApplier._build_cv2_requirements()
          • TemplateApplier.build_cv2_headless_requirements_txt()
          • TemplateApplier.build_cv2_graphics_requirements_txt()
          • TemplateApplier._gdal_requirement_parts()
          • TemplateApplier.build_gdal_requirements_txt()
          • TemplateApplier.build_run_doctests()
        • _parse_remote_url()
        • find_git_root()
        • main()
      • xcookie.rich_ext module
        • FuzzyPrompt
          • FuzzyPrompt.process_response()
      • xcookie.util_yaml module
        • _YamlRepresenter
          • _YamlRepresenter.str_presenter()
        • _custom_ruaml_loader()
        • _custom_ruaml_dumper()
        • _custom_pyaml_dumper()
        • _custom_new_ruaml_yaml_obj()
        • Yaml
          • Yaml.dumps()
          • Yaml.load()
          • Yaml.loads()
          • Yaml.coerce()
          • Yaml.InlineList()
          • Yaml.Dict()
          • Yaml.CodeBlock()
        • _dev()
      • xcookie.vcs_remotes module
    • Module contents
  • Release Workflow Design
    • Release trigger
    • Ordering and failure policy
    • GitHub release association
    • Retry behavior
    • Scope discipline
  • Trusted Publishing with GitHub Actions
    • Overview
    • xcookie configuration
    • What xcookie generates
    • What is no longer required
    • Step-by-step setup
      • 1. Regenerate the GitHub workflow
      • 2. Commit and push the workflow file
      • 3. Register a trusted publisher on PyPI
      • 4. Register a trusted publisher on TestPyPI
      • 5. Run a non-release push and check TestPyPI
      • 6. Run a release publish and check PyPI
    • Secure environment recommendations
      • 1. Use GitHub protected environments
      • 2. Keep id-token: write job-scoped
      • 3. Restrict who can modify the release workflow
      • 4. Keep the workflow filename stable
    • Current limitations
    • References
  • Refactor plan
    • Chunk 0: generated-output safety net
    • Chunk 1: typed template registry and staging layer
    • Chunk 2: raw config versus resolved config
    • Chunk 3: shared CI plan model
    • Chunk 4: thin provider renderers
    • Chunk 5: secret rotation plan
    • Chunk 6: generated CI helper commands
    • Chunk 7: split TemplateApplier into focused modules
    • Chunk 8: inline typing pass
    • Chunk 9: remove legacy paths
xcookie
  • Python Module Index

Python Module Index

x
 
x
- xcookie
    xcookie.__init__
    xcookie.__main__
    xcookie.builders
    xcookie.builders._builder
    xcookie.builders.common_ci
    xcookie.builders.docs
    xcookie.builders.github_actions
    xcookie.builders.gitlab_ci
    xcookie.builders.pyproject
    xcookie.builders.readme
    xcookie.builders.readthedocs
    xcookie.builders.setup
    xcookie.constants
    xcookie.main
    xcookie.rc
    xcookie.rc.conf_ext
    xcookie.rich_ext
    xcookie.util_yaml
    xcookie.vcs_remotes

© Copyright 2026, Jon Crall.

Built with Sphinx using a theme provided by Read the Docs.