Skip to main content

GM Scaffold

Project description

README

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.0.7.tar.gz (113.4 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.0.7-py3-none-any.whl (165.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for gmscaffold-1.0.7.tar.gz
Algorithm Hash digest
SHA256 5cdc8dfd528b314b7876c01c595f79b45614e8e6fd180be804142af76ab6ec27
MD5 f80a03b7bc02167d5ca300a089540263
BLAKE2b-256 8b34517417a76852abad68d738716eb0cf27b3709f365de79cf4793ae52a83a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gmscaffold-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 165.2 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.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 904b5d47b0f1f80d976827547f5f138f088501bd4cb0972ce12ed57421f8c597
MD5 c1402f1d911030c58b6118abf9da38c7
BLAKE2b-256 e9b7a9b190174157c82ccb6592356951895b56974311211ac749dd8d08496648

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