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.5.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

pegasus_cli-0.5-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pegasus_cli-0.5.tar.gz
  • Upload date:
  • Size: 10.7 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.5.tar.gz
Algorithm Hash digest
SHA256 4a27ae428f8bf684b94a29f92dce573fec397e187c19034e8d15014158bbe522
MD5 fb69b8e9eabde4787980759ec9729ada
BLAKE2b-256 752dc10d4ec473e647e43e24b491b5a1e7d99077979bce21e564f8c8359a49f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegasus_cli-0.5-py3-none-any.whl
  • Upload date:
  • Size: 12.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5cd03ad91f823a64be2b9c67bffb389ef640622f934d98c2f3c182591d30c0cf
MD5 542c95c697b0612f7dcaf78ac94e4eb7
BLAKE2b-256 d9f8474b6d411e55147a90cc61b72a61e23a79afd96c57aa75914b4a846945ee

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