8000 copier/README.md at master Β· copier-org/copier Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":".vscode","path":".vscode","contentType":"directory"},{"name":"copier","path":"copier","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"img","path":"img","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".envrc","path":".envrc","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".gitpod.yml","path":".gitpod.yml","contentType":"file"},{"name":".prettierrc.yml","path":".prettierrc.yml","contentType":"file"},{"name":".readthedocs.yml","path":".readthedocs.yml","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"devtasks.py","path":"devtasks.py","contentType":"file"},{"name":"flake.lock","path":"flake.lock","contentType":"file"},{"name":"flake.nix","path":"flake.nix","contentType":"file"},{"name":"mkdocs.yml","path":"mkdocs.yml","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"renovate.json","path":"renovate.json","contentType":"file"},{"name":"shell.nix","path":"shell.nix","contentType":"file"},{"name":"uv.lock","path":"uv.lock","contentType":"file"}],"totalCount":24}},"fileTreeProcessingTime":17.804682,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":2690104,"defaultBranch":"master","name":"copier","ownerLogin":"copier-org","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-11-01T19:22:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/67044561?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1748433936.0","canEdit":false,"refType":"branch","currentOid":"e00e64c73f3c09cd574a0851adb8525ab287c53f"},"path":"README.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/copier-org/copier/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"README.md","displayUrl":"https://github.com/copier-org/copier/blob/master/README.md?raw=true","headerInfo":{"blobSize":"9.26 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"f46c1cf","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fcopier-org%2Fcopier%2Fblob%2Fmaster%2FREADME.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"","anchor":"","htmlText":""},{"level":2,"text":"Installation","anchor":"installation","htmlText":"Installation"},{"level":3,"text":"Nix flake","anchor":"nix-flake","htmlText":"Nix flake"},{"level":2,"text":"Quick start","anchor":"quick-start","htmlText":"Quick start"},{"level":2,"text":"Basic concepts","anchor":"basic-concepts","htmlText":"Basic concepts"},{"level":2,"text":"Browse or tag public templates","anchor":"browse-or-tag-public-templates","htmlText":"Browse or tag public templates"},{"level":2,"text":"Show your support","anchor":"show-your-support","htmlText":"Show your support"},{"level":3,"text":"Copier badge variations","anchor":"copier-badge-variations","htmlText":"Copier badge variations"},{"level":2,"text":"Credits","anchor":"credits","htmlText":"Credits"}],"lineInfo":{"truncatedLoc":"215","truncatedSloc":"153"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/copier-org/copier/blob/master/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/copier-org/copier/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/copier-org/copier/raw/refs/heads/master/README.md","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/copier-org/copier/raw/master/img/copier-logotype.png\"\u003e\u003cimg src=\"https://github.com/copier-org/copier/raw/master/img/copier-logotype.png\" alt=\"Copier\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/h1\u003e\u003ca id=\"\" class=\"anchor\" aria-label=\"Permalink: \" href=\"#\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/ea0b40e101bf6e0d06322b146231aa9e459dce6b6667308318709a3f8aefffa3/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d696e7665727465642d626f726465722d707572706c652e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-purple.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://gitpod.io/#https://github.com/copier-org/copier\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/fc7dbfa8c5b4a2d26b66b512fb6af478333f50a75e990376458de71db990b5b7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f476974706f642d72656164792d2d746f2d2d636f64652d626c75653f6c6f676f3d676974706f64\" alt=\"Gitpod ready-to-code\" data-canonical-src=\"https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://codecov.io/gh/copier-org/copier\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/1e6862c80055ba5967690402ae82881586553270ea595e3cec6ac6629d3f1929/68747470733a2f2f636f6465636f762e696f2f67682f636f706965722d6f72672f636f706965722f6272616e63682f6d61737465722f67726170682f62616467652e737667\" alt=\"codecov\" data-canonical-src=\"https://codecov.io/gh/copier-org/copier/branch/master/graph/badge.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/copier-org/copier/actions?query=branch%3Amaster\"\u003e\u003cimg src=\"https://github.com/copier-org/copier/workflows/CI/badge.svg\" alt=\"CI\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"http://mypy-lang.org/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/fafd33db5d8e943cd3e4cb21a26456ccefd294267c53943facc151dffee8951b/687474703a2f2f7777772e6d7970792d6c616e672e6f72672f7374617469632f6d7970795f62616467652e737667\" alt=\"Checked with mypy\" data-canonical-src=\"http://www.mypy-lang.org/static/mypy_badge.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/dd7247a8e79fba0fe245e1fde43e34887febfd337801eec987ee559519f5715b/68747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f636f706965723f6c6f676f3d707974686f6e266c6f676f436f6c6f723d253233393539444135\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/dd7247a8e79fba0fe245e1fde43e34887febfd337801eec987ee559519f5715b/68747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f636f706965723f6c6f676f3d707974686f6e266c6f676f436f6c6f723d253233393539444135\" alt=\"Python\" data-canonical-src=\"https://img.shields.io/pypi/pyversions/copier?logo=python\u0026amp;logoColor=%23959DA5\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/copier/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d908f5d876d9a4f0631b25b0634abd500dc37943c261242187a77461342e7efb/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f636f706965723f6c6f676f3d70797069266c6f676f436f6c6f723d253233393539444135\" alt=\"PyPI\" data-canonical-src=\"https://img.shields.io/pypi/v/copier?logo=pypi\u0026amp;logoColor=%23959DA5\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/5bf9e9fa18966df7cb5fac7715bef6b72df15e01a6efa9d616c83f9fcb527fe2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d626c61636b2d3030303030302e737667\" alt=\"Code style: black\" data-canonical-src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://copier.readthedocs.io/en/latest\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/2a17164dd0c86a9a81eb626fb1c4e24af89c958bb24e92677d0caf99620af993/68747470733a2f2f696d672e736869656c64732e696f2f72656164746865646f63732f636f706965722f6c61746573743f6c6f676f3d72656164746865646f6373\" alt=\"Documentation Status\" data-canonical-src=\"https://img.shields.io/readthedocs/copier/latest?logo=readthedocs\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://gurubase.io/g/copier\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/2800a20d65da8e10e1d041766bce3d69571a4799b053021c8e1ae0ce8b145f9e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47757275626173652d41736b253230436f70696572253230477572752d303036424646\" alt=\"\" data-canonical-src=\"https://img.shields.io/badge/Gurubase-Ask%20Copier%20Guru-006BFF\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eA library and CLI app for rendering project templates.\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWorks with \u003cstrong\u003elocal\u003c/strong\u003e paths and \u003cstrong\u003eGit URLs\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003eYour project can include any file and Copier can dynamically replace values in any\nkind of text file.\u003c/li\u003e\n\u003cli\u003eIt generates a beautiful output and takes care of not overwriting existing files\nunless instructed to do so.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/copier-org/copier/raw/master/img/copier-output.png\"\u003e\u003cimg src=\"https://github.com/copier-org/copier/raw/master/img/copier-output.png\" alt=\"Sample output\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstallation\u003c/h2\u003e\u003ca id=\"user-content-installation\" class=\"anchor\" aria-label=\"Permalink: Installation\" href=\"#installation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eInstall Python 3.9 or newer.\u003c/li\u003e\n\u003cli\u003eInstall Git 2.27 or newer.\u003c/li\u003e\n\u003cli\u003eTo use as a CLI app: \u003ca href=\"https://github.com/pypa/pipx\"\u003e\u003ccode\u003epipx install copier\u003c/code\u003e\u003c/a\u003e or\n\u003ca href=\"https://docs.astral.sh/uv/#tool-management\" rel=\"nofollow\"\u003e\u003ccode\u003euv tool install copier\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTo use as a library: \u003ccode\u003epip install copier\u003c/code\u003e or \u003ccode\u003econda install -c conda-forge copier\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNix flake\u003c/h3\u003e\u003ca id=\"user-content-nix-flake\" class=\"anchor\" aria-label=\"Permalink: Nix flake\" href=\"#nix-flake\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo install latest Copier release with 100% reproducibility:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"nix profile install 'https://flakehub.com/f/copier-org/copier/*.tar.gz'\"\u003e\u003cpre\u003enix profile install \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003ehttps://flakehub.com/f/copier-org/copier/*.tar.gz\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eQuick start\u003c/h2\u003e\u003ca id=\"user-content-quick-start\" class=\"anchor\" aria-label=\"Permalink: Quick start\" href=\"#quick-start\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo create a template:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"πŸ“ my_copier_template # your template project\nβ”œβ”€β”€ πŸ“„ copier.yml # your template configuration\nβ”œβ”€β”€ πŸ“ .git/ # your template is a Git repository\nβ”œβ”€β”€ πŸ“ {{project_name}} # a folder with a templated name\nβ”‚ └── πŸ“„ {{module_name}}.py.jinja # a file with a templated name\n└── πŸ“„ {{_copier_conf.answers_file}}.jinja # answers are recorded here\"\u003e\u003cpre\u003eπŸ“ my_copier_template \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e your template project\u003c/span\u003e\nβ”œβ”€β”€ πŸ“„ copier.yml \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e your template configuration\u003c/span\u003e\nβ”œβ”€β”€ πŸ“ .git/ \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e your template is a Git repository\u003c/span\u003e\nβ”œβ”€β”€ πŸ“ {{project_name}} \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e a folder with a templated name\u003c/span\u003e\nβ”‚ └── πŸ“„ {{module_name}}.py.jinja \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e a file with a templated name\u003c/span\u003e\n└── πŸ“„ {{_copier_conf.answers_file}}.jinja \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e answers are recorded here\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# questions\nproject_name:\n type: str\n help: What is your project name?\n\nmodule_name:\n type: str\n help: What is your Python module name?\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e questions\u003c/span\u003e\n\u003cspan class=\"pl-ent\"\u003eproject_name\u003c/span\u003e:\n \u003cspan class=\"pl-ent\"\u003etype\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003estr\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003ehelp\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003eWhat is your project name?\u003c/span\u003e\n\n\u003cspan class=\"pl-ent\"\u003emodule_name\u003c/span\u003e:\n \u003cspan class=\"pl-ent\"\u003etype\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003estr\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003ehelp\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003eWhat is your Python module name?\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"print(\u0026quot;Hello from {{module_name}}!\u0026quot;)\"\u003e\u003cpre lang=\"python+jinja\" class=\"notranslate\"\u003e\u003ccode\u003eprint(\"Hello from {{module_name}}!\")\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"# Changes here will be overwritten by Copier\n{{ _copier_answers|to_nice_yaml -}}\"\u003e\u003cpre lang=\"yaml+jinja\" class=\"notranslate\"\u003e\u003ccode\u003e# Changes here will be overwritten by Copier\n{{ _copier_answers|to_nice_yaml -}}\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo generate a project from the template:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eOn the command-line:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"copier copy path/to/project/template path/to/destination\"\u003e\u003cpre\u003ecopier copy path/to/project/template path/to/destination\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eOr in Python code, programmatically:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-python notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"from copier import run_copy\n\n# Create a project from a local path\nrun_copy(\u0026quot;path/to/project/template\u0026quot;, \u0026quot;path/to/destination\u0026quot;)\n\n# Or from a Git URL.\nrun_copy(\u0026quot;https://github.com/copier-org/copier.git\u0026quot;, \u0026quot;path/to/destination\u0026quot;)\n\n# You can also use \u0026quot;gh:\u0026quot; as a shortcut of \u0026quot;https://github.com/\u0026quot;\nrun_copy(\u0026quot;gh:copier-org/copier.git\u0026quot;, \u0026quot;path/to/destination\u0026quot;)\n\n# Or \u0026quot;gl:\u0026quot; as a shortcut of \u0026quot;https://gitlab.com/\u0026quot;\nrun_copy(\u0026quot;gl:copier-org/copier.git\u0026quot;, \u0026quot;path/to/destination\u0026quot;)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-k\"\u003efrom\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003ecopier\u003c/span\u003e \u003cspan class=\"pl-k\"\u003eimport\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003erun_copy\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e# Create a project from a local path\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003erun_copy\u003c/span\u003e(\u003cspan class=\"pl-s\"\u003e\"path/to/project/template\"\u003c/span\u003e, \u003cspan class=\"pl-s\"\u003e\"path/to/destination\"\u003c/span\u003e)\n\n\u003cspan class=\"pl-c\"\u003e# Or from a Git URL.\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003erun_copy\u003c/span\u003e(\u003cspan class=\"pl-s\"\u003e\"https://github.com/copier-org/copier.git\"\u003c/span\u003e, \u003cspan class=\"pl-s\"\u003e\"path/to/destination\"\u003c/span\u003e)\n\n\u003cspan class=\"pl-c\"\u003e# You can also use \"gh:\" as a shortcut of \"https://github.com/\"\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003erun_copy\u003c/span\u003e(\u003cspan class=\"pl-s\"\u003e\"gh:copier-org/copier.git\"\u003c/span\u003e, \u003cspan class=\"pl-s\"\u003e\"path/to/destination\"\u003c/span\u003e)\n\n\u003cspan class=\"pl-c\"\u003e# Or \"gl:\" as a shortcut of \"https://gitlab.com/\"\u003c/span\u003e\n\u003cspan class=\"pl-en\"\u003erun_copy\u003c/span\u003e(\u003cspan class=\"pl-s\"\u003e\"gl:copier-org/copier.git\"\u003c/span\u003e, \u003cspan class=\"pl-s\"\u003e\"path/to/destination\"\u003c/span\u003e)\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBasic concepts\u003c/h2\u003e\u003ca id=\"user-content-basic-concepts\" class=\"anchor\" aria-label=\"Permalink: Basic concepts\" href=\"#basic-concepts\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eCopier is composed of these main concepts:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eTemplates\u003c/strong\u003e. They lay out how to generate the subproject.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eQuestionnaires\u003c/strong\u003e. They are configured in the template. Answers are used to generate\nprojects.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProjects\u003c/strong\u003e. This is where your real program lives. But it is usually generated\nand/or updated from a template.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003eCopier targets these main human audiences:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eTemplate creators\u003c/strong\u003e. Programmers that repeat code too much and prefer a tool to do\nit for them.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e\u003cem\u003eTip:\u003c/em\u003e\u003c/strong\u003e Copier doesn't replace the DRY principle... but sometimes you simply\ncan't be DRY and you need a DRYing machine...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eTemplate consumers\u003c/strong\u003e. Programmers that want to start a new project quickly, or\nthat want to evolve it comfortably.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003eNon-humans should be happy also by using Copier's CLI or API, as long as their\nexpectations are the same as for those humans... and as long as they have feelings.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTemplates have these goals:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://en.wikipedia.org/wiki/Scaffold_(programming)\" rel=\"nofollow\"\u003eCode scaffolding\u003c/a\u003e\u003c/strong\u003e. Help\nconsumers have a working source code tree as quickly as possible. All templates allow\nscaffolding.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCode lifecycle management\u003c/strong\u003e. When the template evolves, let consumers update their\nprojects. Not all templates allow updating.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003eCopier tries to have a smooth learning curve that lets you create simple templates that\ncan evolve into complex ones as needed.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBrowse or tag public templates\u003c/h2\u003e\u003ca id=\"user-content-browse-or-tag-public-templates\" class=\"anchor\" aria-label=\"Permalink: Browse or tag public templates\" href=\"#browse-or-tag-public-templates\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou can browse public Copier templates on GitHub using\n\u003ca href=\"https://github.com/topics/copier-template\"\u003ethe \u003ccode\u003ecopier-template\u003c/code\u003e topic\u003c/a\u003e. Use them as\ninspiration!\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf you want your template to appear in that list, just add the topic to it! 🏷\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eShow your support\u003c/h2\u003e\u003ca id=\"user-content-show-your-support\" class=\"anchor\" aria-label=\"Permalink: Show your support\" href=\"#show-your-support\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIf you're using Copier, consider adding the Copier badge to your project's \u003ccode\u003eREADME.md\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-text-md notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-s\"\u003e[\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e![\u003c/span\u003eCopier\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-corl\"\u003ehttps://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e)]\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-corl\"\u003ehttps://github.com/copier-org/copier\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e)\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e...or \u003ccode\u003eREADME.rst\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-text-restructuredtext notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\".. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\n :target: https://github.com/copier-org/copier\n :alt: Copier\"\u003e\u003cpre\u003e.. \u003cspan class=\"pl-c1\"\u003eimage\u003c/span\u003e:: \u003cspan class=\"pl-corl\"\u003ehttps://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e:target:\u003c/span\u003e \u003cspan class=\"pl-s\"\u003ehttps://github.com/copier-org/copier\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e:alt:\u003c/span\u003e \u003cspan class=\"pl-s\"\u003eCopier\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e...or, as HTML:\u003c/p\u003e\n\n\u003cdiv class=\"highlight highlight-text-html-basic notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"\u0026lt;a href=\u0026quot;https://github.com/copier-org/copier\u0026quot;\u0026gt;\u0026lt;img src=\u0026quot;https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\u0026quot; alt=\u0026quot;Copier\u0026quot; style=\u0026quot;max-width:100%;\u0026quot;/\u0026gt;\u0026lt;/a\u0026gt;\"\u003e\u003cpre\u003e\u003cspan class=\"pl-kos\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"pl-ent\"\u003ea\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003ehref\u003c/span\u003e=\"\u003cspan class=\"pl-s\"\u003ehttps://github.com/copier-org/copier\u003c/span\u003e\"\u003cspan class=\"pl-kos\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003esrc\u003c/span\u003e=\"\u003cspan class=\"pl-s\"\u003ehttps://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\u003c/span\u003e\" \u003cspan class=\"pl-c1\"\u003ealt\u003c/span\u003e=\"\u003cspan class=\"pl-s\"\u003eCopier\u003c/span\u003e\" \u003cspan class=\"pl-c1\"\u003estyle\u003c/span\u003e=\"\u003cspan class=\"pl-s\"\u003emax-width:100%;\u003c/span\u003e\"\u003cspan class=\"pl-kos\"\u003e/\u0026gt;\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e\u0026lt;/\u003c/span\u003e\u003cspan class=\"pl-ent\"\u003ea\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCopier badge variations\u003c/h3\u003e\u003ca id=\"user-content-copier-badge-variations\" class=\"anchor\" aria-label=\"Permalink: Copier badge variations\" href=\"#copier-badge-variations\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Grayscale Border\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/2f82d0571d61989f512df3a739b38de129972f7278412cc7c11818304af6ec74/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d626f726465722e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-border.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Grayscale Inverted Border\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/09031a755ccbc895216b13f9e00beb7cc3cb5432f879b858a2f3dd80957d2a02/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d696e7665727465642d626f726465722e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Grayscale Inverted Border Orange\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/b54231d5b27a2df86a0285c78edfce03ca4bcfb16df302aa53c9540ad643718f/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d696e7665727465642d626f726465722d6f72616e67652e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Grayscale Inverted Border Red\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/da2dc2f71904950c7c943bb62a9c388373085b3af520b2f731e757bb26fa56f6/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d696e7665727465642d626f726465722d7265642e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-red.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Grayscale Inverted Border Teal\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/72d093363c9178d1d9cef5bdbb2211d4f9fbdcc8592355fdf3fc71ea8aab79dc/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d696e7665727465642d626f726465722d7465616c2e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-teal.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Grayscale Inverted Border Purple\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/ea0b40e101bf6e0d06322b146231aa9e459dce6b6667308318709a3f8aefffa3/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d677261797363616c652d696e7665727465642d626f726465722d707572706c652e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-purple.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eBadge Black\n\u003ca href=\"https://github.com/copier-org/copier\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/a12a6032a36a31f179fdc97944fa6a4549850693e2d9b9a099deafeecb647386/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636f706965722d6f72672f636f706965722f6d61737465722f696d672f62616467652f62616467652d626c61636b2e6a736f6e\" alt=\"Copier\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-black.json\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCredits\u003c/h2\u003e\u003ca id=\"user-content-credits\" class=\"anchor\" aria-label=\"Permalink: Credits\" href=\"#credits\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eSpecial thanks go to \u003ca href=\"https://github.com/jpsca\"\u003ejpsca\u003c/a\u003e for originally creating \u003ccode\u003eCopier\u003c/code\u003e.\nThis project would not be a thing without him.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eMany thanks to \u003ca href=\"https://github.com/pykong\"\u003epykong\u003c/a\u003e who took over maintainership on the\nproject, promoted it, and laid out the bases of what the project is today.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eBig thanks also go to \u003ca href=\"https://github.com/yajo\"\u003eyajo\u003c/a\u003e for his relentless zest for\nimproving \u003ccode\u003eCopier\u003c/code\u003e even further.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThanks a lot, \u003ca href=\"https://github.com/pawamoy\"\u003epawamoy\u003c/a\u003e for polishing very important rough\nedges and improving the documentation and UX a lot.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAlso special thanks to \u003ca href=\"https://github.com/sisp\"\u003esisp\u003c/a\u003e for being very helpful in\npolishing documentation, fixing bugs, helping the community and cleaning up the\ncodebase.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAnd thanks to all financial supporters and folks that give us a shiny star! ⭐\u003c/p\u003e\n\u003ca href=\"https://star-history.com/#copier-org/copier\u0026amp;Date\" rel=\"nofollow\"\u003e\n \u003cthemed-picture data-catalyst-inline=\"true\"\u003e\u003cpicture\u003e\n \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://camo.githubusercontent.com/41a8af0c113a3f77d01abf2a1ef9e0389ecde78fa4802fdca9fd2c2d0b115ccf/68747470733a2f2f6170692e737461722d686973746f72792e636f6d2f7376673f7265706f733d636f706965722d6f72672f636f7069657226747970653d44617465267468656d653d6461726b\" data-canonical-src=\"https://api.star-history.com/svg?repos=copier-org/copier\u0026amp;type=Date\u0026amp;theme=dark\"\u003e\n \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://camo.githubusercontent.com/e462f739fcd2e1ae3fade0a4545baa368476ea24d5a7e690253b55112f783f35/68747470733a2f2f6170692e737461722d686973746f72792e636f6d2f7376673f7265706f733d636f706965722d6f72672f636f7069657226747970653d44617465\" data-canonical-src=\"https://api.star-history.com/svg?repos=copier-org/copier\u0026amp;type=Date\"\u003e\n \u003cimg alt=\"Star History Chart\" src=\"https://camo.githubusercontent.com/e462f739fcd2e1ae3fade0a4545baa368476ea24d5a7e690253b55112f783f35/68747470733a2f2f6170692e737461722d686973746f72792e636f6d2f7376673f7265706f733d636f706965722d6f72672f636f7069657226747970653d44617465\" data-canonical-src=\"https://api.star-history.com/svg?repos=copier-org/copier\u0026amp;type=Date\"\u003e\n \u003c/picture\u003e\u003c/themed-picture\u003e\n\u003c/a\u003e\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/copier-org/.github/blob/9249ab1a6f431e10925a1b240a228b4d3d411e06/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"![Copier](https://github.com/copier-org/copier/raw/master/img/copier-logotype.png)","kind":"section_1","ident_start":2,"ident_end":84,"extent_start":0,"extent_end":9479,"fully_qualified_name":"![Copier](https://github.com/copier-org/copier/raw/master/img/copier-logotype.png)","ident_utf16":{"start":{"line_number":0,"utf16_col":2},"end":{"line_number":0,"utf16_col":84}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":215,"utf16_col":0}}},{"name":"Installation","kind":"section_2","ident_start":1771,"ident_end":1783,"extent_start":1768,"extent_end":2251,"fully_qualified_name":"Installation","ident_utf16":{"start":{"line_number":23,"utf16_col":3},"end":{"line_number":23,"utf16_col":15}},"extent_utf16":{"start":{"line_number":23,"utf16_col":0},"end":{"line_number":39,"utf16_col":0}}},{"name":"Nix flake","kind":"section_3","ident_start":2093,"ident_end":2102,"extent_start":2089,"extent_end":2251,"fully_qualified_name":"Nix flake","ident_utf16":{"start":{"line_number":31,"utf16_col":4},"end":{"line_number":31,"utf16_col":13}},"extent_utf16":{"start":{"line_number":31,"utf16_col":0},"end":{"line_number":39,"utf16_col":0}}},{"name":"Quick start","kind":"section_2","ident_start":2254,"ident_end":2265,"extent_start":2251,"extent_end":3944,"fully_qualified_name":"Quick start","ident_utf16":{"start":{"line_number":39,"utf16_col":3},"end":{"line_number":39,"utf16_col":14}},"extent_utf16":{"start":{"line_number":39,"utf16_col":0},"end":{"line_number":98,"utf16_col":0}}},{"name":"Basic concepts","kind":"section_2","ident_start":3947,"ident_end":3961,"extent_start":3944,"extent_end":5355,"fully_qualified_name":"Basic concepts","ident_utf16":{"start":{"line_number":98,"utf16_col":3},"end":{"line_number":98,"utf16_col":17}},"extent_utf16":{"start":{"line_number":98,"utf16_col":0},"end":{"line_number":133,"utf16_col":0}}},{"name":"Browse or tag public templates","kind":"section_2","ident_start":5358,"ident_end":5388,"extent_start":5355,"extent_end":5627,"fully_qualified_name":"Browse or tag public templates","ident_utf16":{"start":{"line_number":133,"utf16_col":3},"end":{"line_number":133,"utf16_col":33}},"extent_utf16":{"start":{"line_number":133,"utf16_col":0},"end":{"line_number":141,"utf16_col":0}}},{"name":"Show your support","kind":"section_2","ident_start":5630,"ident_end":5647,"extent_start":5627,"extent_end":8190,"fully_qualified_name":"Show your support","ident_utf16":{"start":{"line_number":141,"utf16_col":3},"end":{"line_number":141,"utf16_col":20}},"extent_utf16":{"start":{"line_number":141,"utf16_col":0},"end":{"line_number":188,"utf16_col":0}}},{"name":"Copier badge variations","kind":"section_3","ident_start":6553,"ident_end":6576,"extent_start":6549,"extent_end":8190,"fully_qualified_name":"Copier badge variations","ident_utf16":{"start":{"line_number":165,"utf16_col":4},"end":{"line_number":165,"utf16_col":27}},"extent_utf16":{"start":{"line_number":165,"utf16_col":0},"end":{"line_number":188,"utf16_col":0}}},{"name":"Credits","kind":"section_2","ident_start":8193,"ident_end":8200,"extent_start":8190,"extent_end":9479,"fully_qualified_name":"Credits","ident_utf16":{"start":{"line_number":188,"utf16_col":3},"end":{"line_number":188,"utf16_col":10}},"extent_utf16":{"start":{"line_number":188,"utf16_col":0},"end":{"line_number":215,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/copier-org/copier/branches":{"post":"gU4UjjO4uzPpTZs89vS9sy_IYPo4Y7rr-rzc_ESaIjbX_TuGfDXyLM-6pJdgm8AiE_uwZiazm4JxIM4FkpvvXw"},"/repos/preferences":{"post":"L0tKeODcoh0J0d7ixwW5Fr_LuInHltSjJgQbZPHQOW677dK_bawlxGaYKymIyxzoC_ht5ATTW-3FA8C5UcgEkg"}}},"title":"copier/README.md at master Β· copier-org/copier","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1ae9fa256942.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}
0