My Python Project: a command-line tool to create a Python project
Project description
My Python Project
Description
A simple tool to create a project with Python, an executable and an installer.
For now, it's only for Windows, but future versions will make it independent of the operating system.
Installation
mpp can be installed using the pip package manager:
$ pip install mpp
Usage
Let's create a project together.
$ mkdir mpp_tuto
$ cd mpp_tuto
Setup your project easily
Just answer the questions, where the default value is between square brackets.
$ mpp setup
What is your project name? [mpp_tuto] MPP Tuto
What is your author name? [username] Name
Do you want to display the console (y/n)? [y]
The project's version is 0.0.0.
The project's icon can be found here: resources/images/icon.ico.
The `main.py` file can now be edited.
Use `mpp --help` to display all possible commands.
Use `mpp <command> -h` to display the help for a command.
Use `mpp config --list` to show your project settings.
Environment
After setuping your environment, some folders and files are created:
mpp_tuto/
installer/
resources/
images/
icon.ico
src/
target/
.mpp_config
main.py
- installer/: contains the files needed to freeze and create an installer;
- resources/: contains your project's files;
- src/: contains the sources of your project;
- target/: contains the created executable and installer;
- .mpp_config: stores yout project's settings;
- main.py: main python file.
Show your configuration
$ mpp config --list
-→ name = MPP Tuto
-→ author = Name
-→ version = 0.0.0
-→ console = True
-→ icon = resources/images/icon.ico
-→ hidden-imports = []
Edit your configuration
$ mpp config author version
What is your author name? [Name] John
What is the new version? [0.0.0] 0.0.1
Are you sure of your modifications (y/n)? y
Process your project version
Show your project version.
$ mpp version
Project 0.0.0
Increment the version
$ mpp version +
Project 0.0.1
$ mpp version ++
Project 0.1.0
$ mpp version +
Project 0.1.1
$ mpp version +++
Project 1.0.0
Freeze your project with PyInstaller
If PyInstaller is not installed, mpp asks if it can do it for you.
$ mpp freeze
It seems that PyInstaller is not installed.
Please, consider using `pip install PyInstaller`.
Current pip is path/to/pip.
Do you want to install it now (y/n)? [y]
[pip output]
[PyInstaller outpout]
Executable can be found here: target/Project/Project.exe
Create an installer for your project with NSIS
If ShellExecAsUSer.dll is not in the installer folder, mpp asks if it can download it for you
$ mpp installer
NSIS needs "ShellExecAsUser" in order to create the installer.
Do you want to download it (y/n)? [y]
Downloading... Done
[NSIS output]
Installer can be found here: target/Project_setup.exe
Credits
This project was originally inspired from fbs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mpp-0.1.3.tar.gz.
File metadata
- Download URL: mpp-0.1.3.tar.gz
- Upload date:
- Size: 55.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81c658292767e9f5c554336d9e62a05ab48ae4a2c9e08333d8a2ff93d96aac1c
|
|
| MD5 |
a888c71581ea5ac0c9beb07e82b97757
|
|
| BLAKE2b-256 |
f6192e80ee67b4a6aed3defb8ad52c551519c8c961de4cd0d7ac53f2f995572f
|
File details
Details for the file mpp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mpp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 65.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcaced003bef2b77174c2b836efe6574d0ac7f8aeefeb3bbf05ca060440b5a22
|
|
| MD5 |
49ea10a246b837af283d259f7859e748
|
|
| BLAKE2b-256 |
f4c39128eef585fb13c52f5968a9ec451e4b520d851760261681b1c2fcd83b8f
|