cookiecutter-hypermodern-python icon indicating copy to clipboard operation
cookiecutter-hypermodern-python copied to clipboard

Turn this into a package on PyPI

Open cjolowicz opened this issue 5 years ago • 1 comments
trafficstars

This needs some more thought, but the basic idea is:

  • The package is a small shim on top of Cookiecutter, using its Python API.
  • It uses this repository as the template. This is a fixed value.
  • It uses the checkout option with the latest release, by default. This can be overridden.

Rationale:

  • You can install with pip.
  • You get a released version by default, instead of master.
  • We can use code quality checks on Cookiecutter hooks.

Optional functionality:

  • Allow passing PEP 440 version constraints.
  • Allow passing Git references.
  • Upgrade the project, similar to the cupper tool.
  • Set up the cookiecutter branch initially.
  • Incorporate hooks into the root package.

The funny thing is that we would want to have exactly the kind of infrastructure in this Python project as in projects generated from the template. In other words, this template could be its own instance. If a change is made in the templated package, it could be applied to the root package using the update command. We definitely end up doing a lot of stuff twice, so this would help with that.

cjolowicz avatar Apr 29 '20 14:04 cjolowicz

Another idea (from #254): Make the generated project depend on this. This allows us to provide services to projects, e.g. improving the cupper/merge experience when the template changes, and potentially more things. Generally this can help avoid dumping code into projects, and gives them a clear and versioned dependency.

cjolowicz avatar May 13 '20 05:05 cjolowicz