Skip to main content

GM Scaffold

Project description

Latest Version Supported Python versions Downloads

gmscaffold

1. Preparing the Development Environment

1.1 Introduction

A scaffolding tool helps you quickly generate the basic structure of a project. With a simple command, it can automatically create project directories, configuration files, and initialization code, saving you the hassle of manual setup.

In this system, you can use the command-line tool gmcli to quickly create a standardized application project structure, enabling you to start development efficiently.


1.2 Environment Setup

Install Python Environment

  • Install Python 3.10 or later Visit the official Python website to download and install the appropriate version for your operating system.

    ⚠️ Currently, the scaffolding tool supports Python 3.10 and above only.

  • Install pip (Python package manager) Most systems come with pip pre-installed. If not, please refer to the official pip documentation for installation instructions.


1.3 Install the Scaffolding Tool

Install the CLI tool via pip:

pip3 install gmscaffold

Once installed, you can use the gmcli command to create your project.


2. Generate a Project with the Scaffold

2.1 Create a New Scaffolded Project

Run the following command to generate the project structure:

gmcli gm_app create_app

💡 Tip: The project will be created in the current working directory, so make sure you cd into the desired path first.


Example Output:

➜  ~ gmcli gm_app create_app

     _/_/_/  _/      _/    _/_/_/    _/_/_/  _/    _/
  _/        _/_/  _/_/  _/        _/        _/    _/
 _/  _/_/  _/  _/  _/    _/_/      _/_/    _/_/_/_/
_/    _/  _/      _/        _/        _/  _/    _/
 _/_/_/  _/      _/  _/_/_/    _/_/_/    _/    _/

Please enter the project name: example
Please enter the author name: xxx
Please enter contact email: xxx@163.com
Please enter the project version: 0.0.1
Please enter the project description: example
DEBUG:GmScaffold:[example] create_gm_app successfully

2.2 Command Parameters

Parameter Description
gm_app create_app Create a new scaffolded project

2.3 Project Structure

After execution, the following structure will be generated:

example/
├── app/
│   ├── consts/           # Constants (e.g., status codes, config keys)
│   ├── i18n/             # Internationalization (default: English & Chinese)
│   ├── middlewares/      # Middleware modules (e.g., auth, request handlers)
│   ├── schemas/          # Data validation schemas
│   ├── services/         # Business logic
│   ├── utils/            # Utility functions (e.g., logging, tools)
│   └── __init__.py
├── config.yaml           # Configuration file (logs, ports, etc.)
├── install.sh            # Optional install script (e.g., Redis, MySQL)
├── main.py               # Application entry point
├── makefile              # Build or packaging script
├── requirements.txt      # Python dependencies list
├── .gitignore            # Git ignore settings
├── ReadMe.md             # Project documentation

Key File Descriptions:

  • main.py: Entry point of the application
  • install.sh: Optional script to install external services (e.g., Redis, MySQL)
  • config.yaml: Centralized configuration management (port, logs, DB, etc.)
  • requirements.txt: Python dependencies list (can also use poetry)

2.4 Usage & Extension

The generated project serves as a general-purpose API service template and can be extended for various business scenarios:

  • ✅ Can be used with simplejrpc SDK to quickly build JSON-RPC services
  • ✅ Also supports standalone use with custom business logic and structure

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

gmscaffold-1.1.0.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gmscaffold-1.1.0-py3-none-any.whl (165.4 kB view details)

Uploaded Python 3

File details

Details for the file gmscaffold-1.1.0.tar.gz.

File metadata

  • Download URL: gmscaffold-1.1.0.tar.gz
  • Upload date:
  • Size: 113.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for gmscaffold-1.1.0.tar.gz
Algorithm Hash digest
SHA256 63d2d4f78c2334dee06c6fe76fcd26035c94dee4ee20c828fbde64a8a5fc0b26
MD5 dc9e43beee6fbceb7b13888a719a4094
BLAKE2b-256 1759b05bfee7297fd4c5c98eaa290ac3d8f1c538c38962717898aba79007b5e2

See more details on using hashes here.

File details

Details for the file gmscaffold-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: gmscaffold-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 165.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for gmscaffold-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 326aadb27d7139d6d776fdf980c043384343158a53bd369307025bd2ffd1915d
MD5 3213c15e67b70bee9ab7fdf16fcb2023
BLAKE2b-256 155677cd7f6a14d93b92f7c60f91ef2aa7ee9b1cce4e175fb06dc972baa7bcbe

See more details on using hashes here.

Supported by

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