GithubHelp home page GithubHelp logo

wemake-services / wemake-python-package Goto Github PK

View Code? Open in Web Editor NEW
401.0 401.0 45.0 1.17 MB

Bleeding edge cookiecutter template to create new python packages

Home Page: https://github.com/wemake-services/wemake-python-package

License: MIT License

Python 87.55% Shell 5.03% Makefile 7.42%
cookiecutter cookiecutter-python3 cookiecutter-template hacktoberfest project-template python python3 template

wemake-python-package's People

Contributors

anatoly-scherbakov avatar codewithemad avatar cruisen avatar dependabot-preview[bot] avatar dependabot[bot] avatar gpchelkin avatar irtimir avatar paveldroo avatar perchunpak avatar sobolevn avatar thelastofcats avatar vitkhab avatar wannli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wemake-python-package's Issues

Check that all deps are installed during `pre` hook

It is a really bad experience to have this exception:

» cookiecutter gh:wemake-services/wemake-python-package
You've downloaded /Users/sobolev/.cookiecutters/wemake-python-package before. Is it okay to delete and re-download it? [yes]: yes
project_name [my-awesome-project]: test
organization [wemake.services]: 
project_description [This is how python package should look like!]: test
license [MIT]: 
pyenv: lice: command not found

The `lice' command exists in these Python versions:
  3.8.9

Note: See 'pyenv help global' for tips on allowing both
      python2 and python3 to be found.
32512
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)

Incorrect error message

» cookiecutter gh:wemake-services/wemake-python-package      
project_name [my-awesome-project]: first_project
organization [wemake.services]: x5_school
project_description [This is how python package should look like!]: Test
license [MIT]:   
ERROR: The project slug first_project is not a valid Python module name. Start with a 
lowercase letter. Followed by any lowercase letters, numbers or underscores.
ERROR: Stopping generation because pre_gen_project hook script didn't exit successfull
y
Hook script failed (exit status: 1)

It should be: do not use _ in your project name

easy update process

"Easy update process, so your template will always be up-to-date" is listed as a feature. I interpret that as if you made a project with this template, you can update the project to the latest template? Is that true, if so it is not clear how one goes about doing that.

GitHub Action error: "bash: mypy: command not found"

I have stumbled upon this problem with my project https://github.com/python-platonic/documented.

Let me quote the piece of .github/workflows/test.yml, annotated with the printout.

    - name: Run checks
      run: |
        source "$HOME/.poetry/env"

        find "$HOME" -name "mypy" -print
        # /home/runner/work/documented/documented/.venv/lib/python3.8/site-packages/mypy
        # /home/runner/work/documented/documented/.venv/bin/mypy

        echo $PATH
        # /home/runner/.poetry/bin:/opt/hostedtoolcache/Python/3.8.5/x64/bin:/opt/hostedtoolcache/Python/3.8.5/x64:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/share/rust/.cargo/bin:/home/runner/.config/composer/vendor/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

        make test
        # mypy documented tests/*.py
        # bash: mypy: command not found
        # make: *** [lint] Error 127

mypy command is in /home/runner/work/documented/documented/.venv/bin/, which is not in PATH.

isort is indenting continuation lines with 2 spaces instead of 4

For example, this

from typing import Dict, Iterable, List, Mapping, MutableMapping, NewType, Sequence, Set,  TypeVar

is turned into this:

from typing import (
  Dict,
  Iterable,
  List,
  Mapping,
  MutableMapping,
  NewType,
  Sequence,
  Set,
  TypeVar,
)

If to keep the rule to always use a space count divisible by 4 for indentation, that is annoying.

Docker scaffold option

How about also add docker and docker compose file to project to be able to user docker interpreter and/or if your package is intend to run under docker?

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.