Skip to main content

A command-line tool to create python packages

Project description

A simple and quick command line tool to create python packages.

https://badge.fury.io/py/do-pack.svg https://travis-ci.org/wilfredinni/do-pack.svg?branch=master https://requires.io/github/wilfredinni/do-pack/requirements.svg?branch=master https://api.codacy.com/project/badge/Grade/33ea81ba45c64d1199f8b9cd94f11131 https://bettercodehub.com/edge/badge/wilfredinni/do-pack?branch=master http://img.shields.io/badge/license-MIT-green.svg

Install

$ pip install do-pack

Usage

The config command

$ do config

Use it to fill common fields once (if executed twice it will overwrite the previous configuration).

Create a default python project

$ do create <project-name>

Create a project using one of the available templates

$ do create <project-name> -t <template>

-t is the short for –template.

Available templates:

  • flask
  • django
  • pymin (minimal python project)

To use your own template you need to store it in a .json file in your current directory, e.g.:

my_template.json

And use it by:

$ do create my_project -t my_template

A step by step setup for new projects

$ do assistant

This command help you fill:

  • setup.py
  • AUTHORS.rst
  • LICENSE
  • .gitignore with rules for Linux, MacOs, Windows, Python, Visual Studio, VS Code, Sublime Text and Pycharm (made with https://www.gitignore.io/).

Default Folder Structure and Templates

This is the folder structure created when using do create <my_project> and do assistant.

project_folder
├── project
│   ├── __init__.py
│   └── project.py
├── docs
│   └── index.rst
├── tests
│   ├── __init__.py
│   └── project_test.py
├── .gitignore
├── LICENSE
├── README.rst
├── AUTHORS.rst
├── setup.py
├── requirements.txt
└── test-requirements.txt
  • The template system use a .json file in wich the keys are folders and the values are files.
  • Every time a folder is created, the program will automatically enter it. If you need to exit that folder so the next one is placed in the same directory, place a <-- in the files (values) as many times needed.
  • Folders (keys) base and bin are replaced with the project name.
  • project.py is replaced with the project name (e.g. my_project.py).
  • In test_projet.py, project is replaced with the project name (e.g. test_my_project.py)

This is the template for the default folder structure:

{
    "base": [
        "LICENSE",
        "setup.py",
        "README.rst",
        "AUTHORS.rst",
        ".gitignore",
        "requirements.txt",
        "test-requirements.txt",
        "MANIFEST.in"
    ],
    "bin": [
        "project.py",
        "__init__.py",
        "<--"
    ],
    "docs": [
        "index.rst",
        "<--"
    ],
    "tests": [
        "__init__.py",
        "test_project.py",
        "<--"
    ]
}

TODOs

  • Implement --template for the assistant command (75%).
  • Add github username to the config command for the project url.
  • Generate the documentation (sphinx).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for do-pack, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size do_pack-0.1.4-py3-none-any.whl (77.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size do-pack-0.1.4.tar.gz (57.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page