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://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

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


Release history Release notifications

This version
History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.dev0

History Node

0.0.1.dev0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
do_pack-0.1.4-py3-none-any.whl (77.5 kB) Copy SHA256 hash SHA256 Wheel py3 Mar 11, 2018
do-pack-0.1.4.tar.gz (57.8 kB) Copy SHA256 hash SHA256 Source None Mar 11, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page