Skip to main content

CLI for Django and SaaS Pegasus

Project description

cli

PyPI Changelog Tests License

Demo

A demo is worth 1,000 words. Click the image below to see the Pegasus CLI in action:

Pegasus CLI Demo

Overview

The Pegasus CLI is a command-line tool that streamlines the process of working in a Django project. It is currently designed to work with the SaaS Pegasus Django boilerplate, but can be used more generally for any Django project (and will be updated to work with generic Django projects in the future).

It is currently geared around the startapp command. This will create a new app in your Django project, and (optionally) spin up an entire Create / Update / Delete (CRUD) interface for it, built with Django forms and HTMX.

Example usage:

pegasus startapp todos Project Todo

This will create a todos app in your Django project with models, URLs, views and templates to work with a Project and Todo model.

Installation

Install this tool using pip:

pip install pegasus-cli

Usage

For help, run:

pegasus --help

You can also use:

python -m pegasus --help

Configuration

You can run pegasus startapp --help for configuration options. In addition to the command-line options, you can also set default values for configuration options by creating a pegasus-config.yaml file in your project directory. The format of the file is:

cli:
  app_directory: apps
  module_path: apps
  template_directory: templates
  base_model: apps.teams.models.BaseTeamModel
  use_teams: true

The above configuration is the recommended configuration for SaaS Pegasus projects (with teams turned on, else set use_teams: false and base_model: apps.utils.models.BaseModel).

A recommended default configuration for your project will be included in your project's pegasus-config.yaml file if you are on Pegasus version 2024.9 or later.

The Pegasus config will create your apps in the apps directory, and will use the templates directory for your templates.

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd cli
python -m venv venv
source venv/bin/activate

Now install the dependencies and dev dependencies:

pip install -e '.[dev]'

To run the tests:

pytest

Setup pre-commit hooks:

pre-commit install

Project details


Download files

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

Source Distribution

pegasus_cli-0.4.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

pegasus_cli-0.4-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file pegasus_cli-0.4.tar.gz.

File metadata

  • Download URL: pegasus_cli-0.4.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pegasus_cli-0.4.tar.gz
Algorithm Hash digest
SHA256 53931f7e665f843464b9ea485c539baaa1ff8d039a06ee46b2d30c9945200b58
MD5 aa09f3e60c863c37a69cd5e0451dc86b
BLAKE2b-256 9166dba2652125d0f33ea48ae36fe487a00dee118ee813f83895e4fe5b83105b

See more details on using hashes here.

File details

Details for the file pegasus_cli-0.4-py3-none-any.whl.

File metadata

  • Download URL: pegasus_cli-0.4-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pegasus_cli-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f718031dd8ac04b6648d74dd18a1e7b013fd5d7fe48b2dee82a721cb0398d5f9
MD5 f3d3310af63a4332348fc8b14de817f6
BLAKE2b-256 9fe5c7f5ee63e3f47628aca795703a123d645033ac19b092f49274d262cdb99a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page