propylen

Python project scaffolding generator


Keywords
project, template, generator, scaffolding
License
MIT
Install
pip install propylen==0.4.4

Documentation

Propylen

Propylen is a Python CLI tool for generating Python projects. In nature, it is a wrapper around pipenv and poetry with some added swag.

NOTE: Package is not yet fully tested

Installation

Propylen should be installed using pipx as:

pipx install propylen

Usage

Initialize project

Propylen generates project structure of type:

{project-name} 
 |- src/
     |- {project-name}
         |- __init__.py
         |- __main__.py
 |- test/
 |- Pipfile
 |- pyproject.toml
 |- README.md

You can generate a project structure interactively:

propylen init <project-name>

Alternatively, you can provide necessary infromation in form of command line options. To see available options:

propylen init -h

Package Management

pipenv is used as a backend for package management. Options are stripped down.

Propylen reconciles packages installed using pipenv (to Pipfile) to the pyproject.toml file. This behavior can be disabled temporarily by calling propylen install or propylen uninstall with --no-reconcile option or permanently by adding auto_reconcile_dependencies = false into [tool.propylen] section of pyproject.toml

By default propylen tries to proactively version packages in pyproject.toml if no version is provided in Pipfile. This behavior can be disabled by adding proactive_versioning = false into [tool.propylen] section of pyproject.toml.

You can also use propylen to install packages using

propylen install <package-name1> <package-name2> ...

Or without package name to install dependencies from Pipfile

propylen install

Additional options are also available, to see them:

propylen install -h

You can uninstall packages using

propylen uninstall <package-name1> <package-name2> ...

You can reconcile packages from Pipfile to pyproject.toml using

propylen reconcile

Unless it is unset as described above it happens automatically during installs and uninstalls.

Building

poetry is used as a backend for building. Options are stripped down.

You can build the project using

propylen build

Additional options are also available, to see them:

propylen build -h