All Projects → Springerle → py-generic-project

Springerle / py-generic-project

Licence: other
🍪 A cookiecutter template that creates a basic Python setuptools project, which can be later on augmented with various optional accessories.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to py-generic-project

cookiecutter-qt-app
A cookiecutter to create Qt applications, with translations and packaging
Stars: ✭ 29 (+61.11%)
Mutual labels:  cookiecutter
django-naqsh
Naqsh is a bootstrapping tool for quickly creating production-ready Django web services.
Stars: ✭ 47 (+161.11%)
Mutual labels:  cookiecutter
painless-continuous-delivery
A cookiecutter for projects with continuous delivery baked in.
Stars: ✭ 46 (+155.56%)
Mutual labels:  cookiecutter
flask-project-template
DO NOT FORK, CLICK "Use this template" - A github template to start a Flask Project - this uses github actions to generate your project based on the template.
Stars: ✭ 74 (+311.11%)
Mutual labels:  cookiecutter
jinja2-git
Jinja2 extension to handle git-specific things
Stars: ✭ 12 (-33.33%)
Mutual labels:  cookiecutter
taskit
A Task Runner in Bash
Stars: ✭ 35 (+94.44%)
Mutual labels:  invoke
AgileStringDecryptor
a dynamic Agile.NET string decryptor that relies on invoke by wwh1004 | Version : 6.X
Stars: ✭ 24 (+33.33%)
Mutual labels:  invoke
cookiecutter-r-data-analysis
cookie cutter template for my r workflow
Stars: ✭ 19 (+5.56%)
Mutual labels:  cookiecutter
cookiecutter-cpp-project
A cookiecutter for a C++ Project with lots of configuration options
Stars: ✭ 25 (+38.89%)
Mutual labels:  cookiecutter
fastapi-starter
A FastAPI based low code starter: Async SQLAlchemy, Postgres, React-Admin, pytest and cypress
Stars: ✭ 97 (+438.89%)
Mutual labels:  cookiecutter
at-python-template
The official Python Project Template of Alexander Thamm GmbH
Stars: ✭ 34 (+88.89%)
Mutual labels:  cookiecutter
django-template
The ultimate Django template: production ready Django 3.2 with Docker, HTTPS and CI/CD using Github actions ‎️‍🔥
Stars: ✭ 20 (+11.11%)
Mutual labels:  cookiecutter
docker-django-boilerplate
Minimal boilerplate setup for a Django project with Docker.
Stars: ✭ 41 (+127.78%)
Mutual labels:  project-creation
cookiecutter-pypackage-pythonic
Pythonic cookiecutter template for a Python package. See https://github.com/audreyr/cookiecutter.
Stars: ✭ 29 (+61.11%)
Mutual labels:  cookiecutter
ptb-django-cookiecutter
A simple cookiecutter to create Python Telegram bots, wrapped with Django.
Stars: ✭ 21 (+16.67%)
Mutual labels:  cookiecutter
talkshow
A Call 4 Papers System - A simple base app as example of Flask Architecture
Stars: ✭ 56 (+211.11%)
Mutual labels:  cookiecutter
yehua
Make a project in 1 minute from a project template but keep updating it forever
Stars: ✭ 22 (+22.22%)
Mutual labels:  cookiecutter
cookiecutter-pypackage
A cookiecutter template for Python package with heavy use of Github actions
Stars: ✭ 19 (+5.56%)
Mutual labels:  cookiecutter
cookiecutter-flask-skeleton
Flask Starter Project
Stars: ✭ 56 (+211.11%)
Mutual labels:  cookiecutter
hovercraft-slides
🍪 A template for new Hovercraft presentation projects (impress.js slides in reStructuredText)
Stars: ✭ 12 (-33.33%)
Mutual labels:  cookiecutter

py-generic-project

Logo

A cookiecutter template that creates a basic Python setuptools project, which can be later on augmented with various optional accessories. See the demo for getting a 1ˢᵗ impression on how this Cookiecutter template can be used, including screenshots of the terminal session.

LogoGroupsMIT+CC0 licensedTravis CIGitHub IssuesGitHub Release

Features

The resulting project uses rituals and invoke for task automation, and setuptools for building and distributing the project. A provided autoenv script takes care of creating a fully boot-strapped virtualenv or venv – it can also be called manually if you don't want to install autoenv.

Other integrated tools are pylint for code quality checking, pytest for testing support, and a Travis CI configuration.

📚 Get to know all the details on Read The Docs.

Reapplying to an Existing Project

To update your project from the current version of the template, you can re-create it with the original inputs and merge the changes with your repository, as outlined below.

First, convert the cookiecutter.json file to a .cookiecutterrc one by calling this command:

python3 -c \
    "import sys,json,yaml; d=json.load(sys.stdin); yaml.dump(d, sys.stdout)" \
    <cookiecutter.json

The resulting output can be added to a copy of your ~/.cookiecutterrc, and then used in a new cookiecutter call:

cp ~/.cookiecutterrc .
vi .cookiecutterrc  # see above
cookiecutter --no-input --config-file .cookiecutterrc «project-template»

You now have a current copy of your project in a sub-directory of your workdir. Make sure you have everything committed and no local pending changes, then call:

cp -rp «project-name»/{.??*,*} .
git diff

Now comes the labor-intensive part, checking all the changes and integrating them. You can make that a bit easier by using git:

git checkout -b cookiecutter v0
cp -rp «project-name»/{.??*,*} .
git commit -m "cookiecutter template update"
git checkout master
git merge cookiecutter

This is assuming you have committed the original unchanged template and marked it with the v0 tag. Now you need to resolve all the conflicts you get (and you normally get plenty) – still a lot of work, but a little better.

Split Licensing

Since the files contained in the {{cookiecutter.repo_name}} archetype itself will comprise the foundation of your project, they're unlicensed using the “Creative Commons Zero v1.0 Universal” license. All other files outside the {{cookiecutter.repo_name}} directory are MIT-licensed – this effectively means you only have to attribute this project if you re-use all or parts of the contained templating mechanics and documentation.

  • Project License for the project.
  • Template License for the template proper (everything in {{cookiecutter.repo_name}}), unless specified otherwise within the file itself.

References

Similar Archetypes

Related Tools

See also the full list at Cookiecutter's README.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].