Skip to content

Copier (https://copier.readthedocs.io/) template to create scaffolding for different project types (python packages, etc.).

License

Notifications You must be signed in to change notification settings

gt-sse-center/copier-ProjectScaffolding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

copier-ProjectScaffolding

License GitHub commit activity

Copier (https://copier.readthedocs.io/.) template to create scaffolding for different project types (python packages, etc.).

Contents

Overview

copier-ProjectScaffolding is a Copier template used to setup the scaffolding associated with different project types. When using copier-ProjectScaffolding, you will be asked to create a project along a number of different dimensions:

  • Generate Documentation: Yes, No
  • Repository Tool: git, None
  • Hosting Platform: GitHub, None
  • Project Type: Python Execution Environment, Python Package
  • Continuous Integration / Delivery / Deployment: Yes, No
  • Sign Artifacts: Yes, No
  • Generate docker Images: Yes, No
  • Additional Options based on project type (for more information, see Project Types)

Examples of generated output can be found at gt-sse-center/copier-ProjectScaffolding-Sample-PythonExecutionEnvironment and gt-sse-center/copier-ProjectScaffolding-Sample-PythonPackage.

Template Prompts

Next Steps

Project Types

When running copier with the copier-ProjectScaffolding template, you are prompted to select a project type to generate. Information on all available project types can be found in the following sections.

Python Execution Environment

The Python Execution Environment package type creates an environment that contains a stand-alone version of python and installs all required dependencies during the bootstrap process. It produces a small number of files and is best suited for running python scripts. However, it does not contain the tooling required for modern python development (see Python Package for a project type that does include this type of tooling).

Example Repository
Functionality includes:

Python Package

The Python Package project type creates an environment suitable for the development and publishing of python packages that adhere to modern best practices.

Example repository
Functionality includes:

How to use copier-ProjectScaffolding

There are different techniques to run copier with this template, where each of these techniques result in the same generated output. Your choice of a specific technique depends solely on your comfort and familiarity with the tools employed in the technique itself.

Running with Docker

Running with docker is a good choice if you are familiar with docker, as no other dependencies are required. Information on installing docker is available at https://docs.docker.com/engine/install/.

Scenario Command Line
Copy docker run -it --rm -v .:/output gtssecenter/copier-projectscaffolding copy /output --trust
Recopy docker run -it --rm -v .:/output gtssecenter/copier-projectscaffolding recopy /output --trust
Update docker run -it --rm -v .:/output gtssecenter/copier-projectscaffolding update /output --trust

Running with Python

copier-ProjectScaffolding requires additional python packages, which must be installed before invoking copier directly. Run the following command (ideally in a python virtual environment to avoid dependency conflicts) before invoking copier.

  1. pip install copier copier-templates-extensions dbrownell_Common

Specific package versions used by the docker image above can be found in the Dockerfile used to build it.

Scenario Command Line
Copy copier copy https://github.com/gt-sse-center/copier-ProjectScaffolding /output --trust
Recopy copier recopy /output --trust
Update copier update /output --trust

Running from Source

You can run copier directly on the copier-ProjectScaffolding source, if you plan on making changes to the template. See DEVELOPMENT.md for more information on each of these steps.

  1. git clone https://github.com/gt-sse-center/copier-ProjectScaffolding
  2. Bootstrap.sh or Bootstrap.cmd
  3. . ./Activate.sh or Activate.cmd
Scenario Command Line
Copy copier copy . /output --trust --vcs-ref=HEAD
Recopy copier recopy /output --trust --vcs-ref=HEAD
Update copier update /output --trust --vcs-ref=HEAD

Installation

No additional setup is required to use this project.

Development

Please visit Contributing and Development for information on contributing to this project.

Additional Information

Additional information can be found at these locations.

Title Document Description
Code of Conduct CODE_OF_CONDUCT.md Information about the the norms, rules, and responsibilities we adhere to when participating in this open source community.
Contributing CONTRIBUTING.md Information about contributing code changes to this project.
Development DEVELOPMENT.md Information about development activities involved in making changes to this project.
Governance GOVERNANCE.md Information about how this project is governed.
Maintainers MAINTAINERS.md Information about individuals who maintain this project.
Security SECURITY.md Information about how to privately report security issues associated with this project.

License

copier-ProjectScaffolding is licensed under the MIT license.

About

Copier (https://copier.readthedocs.io/) template to create scaffolding for different project types (python packages, etc.).

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published