All Projects β†’ alexkey β†’ Cookiecutter Lux Python

alexkey / Cookiecutter Lux Python

Licence: bsd-3-clause
Cookiecutter template for an idiomatic Python project driven by Makefile

Programming Languages

python3
1442 projects

Projects that are alternatives of or similar to Cookiecutter Lux Python

Zeus
An Electrifying Build System
Stars: ✭ 176 (+72.55%)
Mutual labels:  makefile, make
Python Package Template
πŸš€ Your next Python package needs a bleeding-edge project structure.
Stars: ✭ 356 (+249.02%)
Mutual labels:  makefile, cookiecutter
Mach
A remake of make (in ClojureScript)
Stars: ✭ 240 (+135.29%)
Mutual labels:  makefile, make
Terraform Makefile
Helps me actually use terraform for multiple environments
Stars: ✭ 143 (+40.2%)
Mutual labels:  makefile, make
Bake
Bake β€”Β the strangely familiar workflow utility.
Stars: ✭ 599 (+487.25%)
Mutual labels:  makefile, make
Teachingmaterial
Various teaching material
Stars: ✭ 159 (+55.88%)
Mutual labels:  makefile, make
Ios Project Env Setup
Setup your iOS project environment with a Shellscript, Makefile or Rakefile
Stars: ✭ 320 (+213.73%)
Mutual labels:  makefile, make
Task
A task runner / simpler Make alternative written in Go
Stars: ✭ 4,282 (+4098.04%)
Mutual labels:  makefile, make
Mask
🎭 A CLI task runner defined by a simple markdown file
Stars: ✭ 495 (+385.29%)
Mutual labels:  makefile, make
Template Python
A template for new Python libraries.
Stars: ✭ 479 (+369.61%)
Mutual labels:  makefile, cookiecutter
Gomk
An opinionated Makefile for Go projects.
Stars: ✭ 96 (-5.88%)
Mutual labels:  makefile, make
Make Docker Command
Seamlessly execute commands (composer, bower, compass) in isolation using docker and make.
Stars: ✭ 82 (-19.61%)
Mutual labels:  makefile, make
Reggae
Build system in D, Python, Ruby, Javascript or Lua
Stars: ✭ 141 (+38.24%)
Mutual labels:  makefile, make
Intellij Makefile
Makefile support for IntelliJ-based IDEs
Stars: ✭ 164 (+60.78%)
Mutual labels:  makefile, make
Mmake
Mmake is a small program which wraps make to provide additional functionality, such as user-friendly help output, remote includes, and eventually more. It otherwise acts as a pass-through to standard make.
Stars: ✭ 1,593 (+1461.76%)
Mutual labels:  makefile, make
Checkmake
experimental linter/analyzer for Makefiles
Stars: ✭ 420 (+311.76%)
Mutual labels:  makefile, make
Wordpress Starter
πŸ“¦ A starter template for WordPress websites
Stars: ✭ 26 (-74.51%)
Mutual labels:  makefile, make
Make Handbook
Handbook about modern make usage
Stars: ✭ 85 (-16.67%)
Mutual labels:  makefile, make
Moztt
Fonts used on FirefoxOS
Stars: ✭ 98 (-3.92%)
Mutual labels:  makefile
Pytest Cookies
The pytest plugin for your Cookiecutter templates. πŸͺ
Stars: ✭ 96 (-5.88%)
Mutual labels:  cookiecutter

======================= cookiecutter-lux-python

Cookiecutter_ template for a Python package.

The boilerplate Python project that aims to create facility for maintaining of the package easily. It considering tools for building, testing and distribution.

Get Started

This template provides a basic structure for an idiomatic Python package with a convenient Makefile-facility and additional helpers.

Template can be configured using Cookiecutter_'s CLI or by altering parameters directly in <cookiecutter.json>_.

Requirements

There are a couple of tools for building, packaging, documentation and so on, that must be installed.

  • GNU sed (brew install gnu-sed for macOS),

  • ripgrep (optionally),

  • awk,

  • Docker,

  • Virtualenv,

  • Sphinx (for sphinx-build and sphinx-apidoc).

To check availability of main tools just type make or make doc.

Features

  • To get help about available Makefile targets type::

    make help

Creating the virtual environment


1. Compile Pip requirements from ``requirements.in`` to ``requirements.txt`` using *pip-tools*
   (via Docker)::

    make requirements

2. Create the new virtual environment based on ``requirements.txt`` and
   ``requirements-test.txt``::

    make venv

3. Install the package into a virtual environment in so-called "development mode"::

    source .venv/bin/activate
    make install

    # ...hard working here...

    make uninstall
    deactivate

Testing the package
~~~~~~~~~~~~~~~~~~~

Pytest_ is used as a test tool by default.

* To run tests type (within a virtual environment)::

    make check

Building the package from scratch
  • Create a source distribution (tarball with sources)::

    make sdist ls -al dist/*.tar.gz

  • Create a binary (wheel) distribution::

    make dist ls -al dist/*.whl

Dealing with containers


* Display system-wide information::

    make docker-info

* Show all images, containers and volumes::

    make docker-stats

* Build the image according to ``Dockerfile``::

    make docker-build

* Run temporary container in an interactive mode::

    make docker-run

* Remove all unused images, built containers and volumes::

    make docker-clean

Documenting the project using Sphinx_
  1. Build an API documentation::

    make apidoc

  2. Build the documentation as a standalone HTML files::

    make html open doc/_build/html/index.html

GNU-style cleaners_


* Clean the project's directory (precompiled and temporary files)::

    make clean

* Clean the project's build output (eggs, distributions, builds)::

    make distclean

* Delete almost everything (including virtual environment)::

    make mostlyclean


.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _Pytest: https://docs.pytest.org/en/latest
.. _Sphinx: http://www.sphinx-doc.org
.. _`GNU-style cleaners`: https://www.gnu.org/prep/standards/html_node/Standard-Targets.html#Standard-Targets
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].