Skip to main content

ppm Package

ppm is a Python Project Manager CLI tool that simplifies project setup, dependency management, environment configuration, and running project commands. This tool is ideal for developers looking for a structured and efficient way to manage project dependencies, execute scripts, and configure environment variables directly from the command line. This is all in one cli tools for long pip commands.

Overview

The ppm tool provides a convenient set of commands for Python project management, enabling you to:

  • Initialize Projects: Set up a new project structure with a default or custom configuration.
  • Install and Uninstall Packages: Add or remove Python packages as needed for your project.
  • Manage Environment Variables: Easily configure environment variables for your project.
  • Run Project Scripts: Execute project-specific scripts or commands from a customizable list.

The ppm CLI is designed to streamline project management, reducing setup time and effort so that you can focus on coding.

Installation

To install ppm:

pip install ppm3

Usage

Use the ppm command followed by any of the subcommands listed below to manage various aspects of your project.

ppm <command> [options]

Commands

1. help

Displays the help message for ppm and its subcommands.

Usage:

ppm help

2. version

Displays the version of the ppm CLI.

Usage:

ppm version

3. init

Initializes a new project configuration with an optional default setting.

Usage:

ppm init

Options:

  • -y: Enable default configuration.

Example:

ppm init -y

This command initializes the project using default configuration settings.

On installation, you'll see the following prompts:

If you have not given the flag -d then you have to answer:

project name (system)
version (1.0.0)
description ()
entry point (main.py)
author ()
license (ISC)

You can initiate git at the begining of the project. You will be asked

[?] Do you want to add github configuration:
 > Yes
   No

github repository name () https://github.com/rahulcodepython/New_Repo.git

This is for generating .env file.

[?] Are you sure you want to add .env file?:
   Yes
 > No

But if you have already .env file in your project, then you will encounter

[?] .env file already exists.:
   Overwrite
 > Keep as it is

.env file is untouched.

PPM will create a src folder in your root directory and inside it, it will generate a main.py file. If you have already this folder structure, you will be asked:

[?] Do you want to override main.py file?:
 > Yes
   No

4. install

Installs specified packages in the project.

Usage:

ppm install <package1> <package2> ...

Example:

ppm install requests flask

This command installs the requests and flask packages in your project.

If you want to install a package from a specific version, you can use the == operator:

ppm install requests==2.28.2

This command installs the requests package with version 2.28.2.

If you want to install all the packages listed in ppm.yml file in your currect project, You can use :

ppm install

5. uninstall

Uninstalls specified packages from the project.

Usage:

ppm uninstall <package1> <package2> ...

6. run

Runs the project’s default or specified command.

Usage:

ppm run [command_name]
  • If you specify a command name (e.g., ppm run hello), it will execute the corresponding command defined in the configuration file.
  • If no command name is provided (i.e., ppm run), the default command will run.

Examples:

  1. Setting Up Custom Commands:

    Suppose you define a command in your configuration file:

     commands:
         ...
         hello: "echo 'Hello, World!'"
    

    You can run this command with:

    ppm run hello
    
  2. Running the Default Command:

    If you want to run the default command specified in your configuration file, simply use:

    ppm run
    

7. list

List all packages in terminal.

Usage:

ppm list

8. freeze

Generate requirements.txt file for your project packages.

Usage:

ppm freeze

9. outdated

List all outdated packages in terminal.

Usage:

ppm outdated

10. update

Update specified packages from the project.

Usage:

ppm update <package1> <package2> ...

Release files for ppm3 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ppm3 1.3.1
File Size Uploaded
ppm3-1.3.1.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ppm3 1.3.1
File Interpreter ABI Platform
ppm3-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 31.3 kB

Release files / ppm3-1.3.1.tar.gz

Download URL ppm3-1.3.1.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c6529f80cfc955058b32f6796154aa5ade5026eebdb6254c10df7a1070ace2c7
BLAKE2b-256 checksum
How to use checksums
27f1b61e07cc351b7c34d0960f5d9b2fc46f45baace6e21ca39f610cc6056f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / ppm3-1.3.1-py3-none-any.whl

Download URL ppm3-1.3.1-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8cca442509fe5abc48eb65ce1c78eb5caa51252d3c5885d9be50504fcc74f225
BLAKE2b-256 checksum
How to use checksums
2fc75260e3013a0055a91679bdf24e26fc7cb34eeec6ec6f9fd8536a6ccce821
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page