Giter VIP home page Giter VIP logo

cookiecutter-poetry's Introduction

Cookiecutter Poetry

Cookiecutter template for a Python package.

Linux build status on Github Actions

Features

  • Testing setup with pytest
  • Github Actions: Ready for GitHub actions
  • Sphinx docs: Documentation ready for generation with, for example, ReadTheDocs
  • Auto-release to PyPI when you push a new tag to master (optional)
  • Command line interface using Click (optional)
  • GitHub Issue templates for bug reports and feature requests

Quickstart

Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher):

pip install -U cookiecutter

Generate a Python package project:

cookiecutter https://github.com/johanvergeer/cookiecutter-poetry.git

Then:

  • Create a repo and put it there.
  • Create virtual environment and install project dependencies. (poetry install)
  • Run the Travis CLI command travis encrypt --add deploy.password to encrypt your PyPI password in Travis config and activate automated deployment on PyPI when you push a new tag to master branch.
  • Add the repo to your ReadTheDocs account + turn on the ReadTheDocs service hook.
  • Release your package by pushing a new tag to master.

For more details, see the cookiecutter-poetry tutorial.

Fork This / Create Your Own

If you have differences in your preferred setup, I encourage you to fork this to create your own version. Or create your own; it doesn't strictly have to be a fork.

  • Once you have your own version working, add it to the Similar Cookiecutter Templates list above with a brief description.
  • It's up to you whether or not to rename your fork/own version. Do whatever you think sounds good.

Or Submit a Pull Request

I also accept pull requests on this, if they're small, atomic, and if they make my own packaging experience better.

cookiecutter-poetry's People

Contributors

audreyfeldroy avatar benjaoming avatar breezko avatar cerickson avatar chadbailey avatar cxong avatar eliasdorneles avatar erwinjanssen avatar gregmuellegger avatar hugovk avatar jestaubach avatar jhonjairoroa87 avatar johanvergeer avatar katialira avatar kevgathuku avatar mandeep avatar manuphatak avatar palmerev avatar psiace avatar purplediane avatar pydanny avatar pyup-bot avatar rgbkrk avatar rwanyoike avatar skarbot avatar thejonanshow avatar tony avatar treyhunner avatar vijayantajain avatar westurner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

cookiecutter-poetry's Issues

No attribute needed to create .travis file

Describe the bug
The creation of the .travis file reads the attribute ''use_pypi_deployment_with_travis", that was removed in commit 'Remove use_pypi_deployments_with_travis prompt'.

To Reproduce
Steps to reproduce the behavior:

  1. Just install and answer all questions.

Expected behavior
Clear creation with no errors.

Issues with tox

Describe the bug
tox.ini needs to be revised to work with poetry and the src/project:

To Reproduce
Steps to reproduce the behavior:

  1. Install the template
  2. Run poetry install
  3. Run poetry shell
  4. On poetry shell run: $ tox

Expected behavior
Run tests clearly.

Probable solution
add

[tox]
isolated_build = True

[testenv:flake8]
basepython = python3
deps = flake8
commands = flake8 src/{{ cookiecutter.module_name }}

The problem is the part:

deps =
    -r{toxinidir}/requirements_dev.txt

I had to export with poetry export -f requirements.txt --dev --without-hashes -o requirements_dev.txt, but I expect to have a simpler solution to read the pyproject.toml

Error message: 'collections.OrderedDict object' has no attribute 'use_pypi_deployment_with_travis'

Describe the bug

Trying to create a new package and the template crashes in the interactive creation.

To Reproduce

Run the command on my local.

Expected behavior

The command finishes without crashing.

Screenshots

The command crashes after Pycharm question

Unable to create file '.travis.yml'
Error message: 'collections.OrderedDict object' has no attribute 'use_pypi_deployment_with_travis'
Context: {
    "cookiecutter": {
        "_output_dir": "/Users/moo/code/ts",
        "_template": "https://github.com/johanvergeer/cookiecutter-poetry.git",
        "command_line_interface": "none",
        "create_author_file": "n",
        "create_docs": "y",
        "email": "[email protected]",
        "full_name": "Mikko Ohtamaa",
        "github_username": "miohtama",
        "module_name": "top",
        "open_source_license": "MIT license",
        "project_name": "Top Framework",
        "project_short_description": "Framwork for building UNIX top-like TUI applications easily",
        "project_slug": "top-framework",
        "pypi_username": "miohtama",
        "use_pycharm": "y",
        "version": "0.1.0"
    }
}

Desktop:

  • OS: macOS
  • Python 3.9

Please publish to pypi

this is an awesome repo, please publish to pypi with all relevant information wrt releases versions etc. so companies can pull into internal artifactory / package managers.

Enough said,

Ciao

Initial Update

The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.