Skip to main content

A library for rendering project templates.

Project description

Copier

codecov CI Checked with mypy Code style: black Documentation Status

A library for rendering project templates.

  • Works with local paths and git URLs.
  • Your project can include any file and Copier can dynamically replace values in any kind of text file.
  • It generates a beautiful output and takes care of not overwrite existing files unless instructed to do so.

Sample output

Installation

  1. Install Python 3.6.1 or newer (3.8 or newer if you're on Windows).
  2. Install Git 2.24 or newer.
  3. To use as a CLI app: pipx install copier
  4. To use as a library: pip install copier

Quick usage

  • Use it in your Python code:

    from copier import copy
    
    # Create a project from a local path
    copy("path/to/project/template", "path/to/destination")
    
    # Or from a git URL.
    copy("https://github.com/copier-org/copier.git", "path/to/destination")
    
    # You can also use "gh:" as a shortcut of "https://github.com/"
    copy("gh:copier-org/copier.git", "path/to/destination")
    
    # Or "gl:" as a shortcut of "https://gitlab.com/"
    copy("gl:copier-org/copier.git", "path/to/destination")
    
  • Or as a command-line tool:

    copier path/to/project/template path/to/destination
    

Browse or tag public templates

You can browse public copier templates in GitHub using the copier-template topic. Use them as inspiration!

If you want your template to appear in that list, just add the topic to it! 🏷

Credits

Special thanks go to jpscaletti for originally creating Copier. This project would not be a thing without him.

Many thanks to pykong who took over maintainership on the project, promoted it, and laid out the bases of what the project is today.

Big thanks also go to Yajo for his relentless zest for improving Copier even further.

Thanks a lot, pawamoy for polishing very important rough edges and improving the documentation and UX a lot.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

copier-5.0.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

copier-5.0.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file copier-5.0.0.tar.gz.

File metadata

  • Download URL: copier-5.0.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for copier-5.0.0.tar.gz
Algorithm Hash digest
SHA256 9f9f2d2ff6a5aa40eebf894c9753064c78a50ba4e9a12bc679331b6cd2ab2047
MD5 b1b7a7573d2e62939e7fc062420adad8
BLAKE2b-256 ff45e2c01295461d69ddb7180d8be4ba63baaf68e737fed20ece5eb6d129ab2e

See more details on using hashes here.

File details

Details for the file copier-5.0.0-py3-none-any.whl.

File metadata

  • Download URL: copier-5.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for copier-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d70dff5553f3b68bb55e538bcbbe571df204f015b1f4601fb5f3c8834efbc678
MD5 2b34fee204513dc791ad720ff85558cf
BLAKE2b-256 b9fbc198e3c8a989c6e63b81857d6e649d8e73b20285a426aef18fff57da21be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page