projects-tools


Nameprojects-tools JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummaryProjects Tools: A tool for managing projects
upload_time2025-01-18 06:29:39
maintainerNone
docs_urlNone
authorallwefantasy
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Projects Tools - 项目创建工具

一个用于快速创建Python前后端项目的命令行工具,支持创建Python后端项目和Vue/React前端项目。

## 安装

```bash
pip install projects-tools
```

## 使用

### 创建新项目

```bash
projects-tools create <project_name> [options]
```

#### 选项

- `--backend`: 创建Python后端项目
- `--frontend`: 创建前端项目
- `--frontend_type`: 前端类型,可选 `vue` 或 `reactjs`(默认:reactjs)
- `--enable_proxy`: 启用前端代理服务器

#### 示例

1. 创建包含Python后端和React前端的项目:
```bash
projects-tools create my-project --backend --frontend
```

2. 创建仅包含Vue前端的项目:
```bash
projects-tools create vue-project --frontend --frontend_type=vue
```

3. 创建包含Python后端、Vue前端并启用代理的项目:
```bash
projects-tools create full-project --backend --frontend --frontend_type=vue --enable_proxy
```

### 项目结构

创建的项目将包含以下文件和目录:

```
project_name/
├── src/
│   └── project_name/  # Python包
│       ├── __init__.py
│       ├── version.py
│       └── proxy.py   # 如果启用了代理
├── frontend/          # 前端项目(如果创建了前端)
├── setup.py           # Python项目配置
├── Makefile           # 构建脚本
├── deploy.sh          # 部署脚本
├── README.md          # 项目说明
└── .gitignore         # Git忽略文件
```

### 功能特性

- 自动创建Python项目结构
- 支持Vue和React前端项目创建
- 自动生成setup.py配置文件
- 自动生成Makefile用于构建
- 自动生成部署脚本
- 可选的前端代理服务器支持
- 丰富的命令行提示和进度显示

### 依赖管理

- Python后端项目使用setuptools进行依赖管理
- 前端项目使用npm/yarn进行依赖管理

### 构建与发布

项目创建后,可以使用以下命令进行构建和发布:

1. 发布项目:
```bash
make release
```

### 注意事项

- 确保系统中已安装Node.js和npm/yarn
- 创建前端项目时可能需要较长时间
- 使用代理功能时,请确保端口未被占用

### 开发

要贡献或修改本项目,请克隆仓库并安装开发依赖:

```bash
git clone https://github.com/yourusername/projects-tools.git
cd projects-tools
pip install -e .
```

### 许可证

MIT License

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "projects-tools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "allwefantasy",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f3/d9/52d4605451b125ffb55e6d86db39d00b8675d8a99262b492f8a51677443d/projects_tools-0.0.3.tar.gz",
    "platform": null,
    "description": "# Projects Tools - \u9879\u76ee\u521b\u5efa\u5de5\u5177\n\n\u4e00\u4e2a\u7528\u4e8e\u5feb\u901f\u521b\u5efaPython\u524d\u540e\u7aef\u9879\u76ee\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u652f\u6301\u521b\u5efaPython\u540e\u7aef\u9879\u76ee\u548cVue/React\u524d\u7aef\u9879\u76ee\u3002\n\n## \u5b89\u88c5\n\n```bash\npip install projects-tools\n```\n\n## \u4f7f\u7528\n\n### \u521b\u5efa\u65b0\u9879\u76ee\n\n```bash\nprojects-tools create <project_name> [options]\n```\n\n#### \u9009\u9879\n\n- `--backend`: \u521b\u5efaPython\u540e\u7aef\u9879\u76ee\n- `--frontend`: \u521b\u5efa\u524d\u7aef\u9879\u76ee\n- `--frontend_type`: \u524d\u7aef\u7c7b\u578b\uff0c\u53ef\u9009 `vue` \u6216 `reactjs`\uff08\u9ed8\u8ba4\uff1areactjs\uff09\n- `--enable_proxy`: \u542f\u7528\u524d\u7aef\u4ee3\u7406\u670d\u52a1\u5668\n\n#### \u793a\u4f8b\n\n1. \u521b\u5efa\u5305\u542bPython\u540e\u7aef\u548cReact\u524d\u7aef\u7684\u9879\u76ee\uff1a\n```bash\nprojects-tools create my-project --backend --frontend\n```\n\n2. \u521b\u5efa\u4ec5\u5305\u542bVue\u524d\u7aef\u7684\u9879\u76ee\uff1a\n```bash\nprojects-tools create vue-project --frontend --frontend_type=vue\n```\n\n3. \u521b\u5efa\u5305\u542bPython\u540e\u7aef\u3001Vue\u524d\u7aef\u5e76\u542f\u7528\u4ee3\u7406\u7684\u9879\u76ee\uff1a\n```bash\nprojects-tools create full-project --backend --frontend --frontend_type=vue --enable_proxy\n```\n\n### \u9879\u76ee\u7ed3\u6784\n\n\u521b\u5efa\u7684\u9879\u76ee\u5c06\u5305\u542b\u4ee5\u4e0b\u6587\u4ef6\u548c\u76ee\u5f55\uff1a\n\n```\nproject_name/\n\u251c\u2500\u2500 src/\n\u2502   \u2514\u2500\u2500 project_name/  # Python\u5305\n\u2502       \u251c\u2500\u2500 __init__.py\n\u2502       \u251c\u2500\u2500 version.py\n\u2502       \u2514\u2500\u2500 proxy.py   # \u5982\u679c\u542f\u7528\u4e86\u4ee3\u7406\n\u251c\u2500\u2500 frontend/          # \u524d\u7aef\u9879\u76ee\uff08\u5982\u679c\u521b\u5efa\u4e86\u524d\u7aef\uff09\n\u251c\u2500\u2500 setup.py           # Python\u9879\u76ee\u914d\u7f6e\n\u251c\u2500\u2500 Makefile           # \u6784\u5efa\u811a\u672c\n\u251c\u2500\u2500 deploy.sh          # \u90e8\u7f72\u811a\u672c\n\u251c\u2500\u2500 README.md          # \u9879\u76ee\u8bf4\u660e\n\u2514\u2500\u2500 .gitignore         # Git\u5ffd\u7565\u6587\u4ef6\n```\n\n### \u529f\u80fd\u7279\u6027\n\n- \u81ea\u52a8\u521b\u5efaPython\u9879\u76ee\u7ed3\u6784\n- \u652f\u6301Vue\u548cReact\u524d\u7aef\u9879\u76ee\u521b\u5efa\n- \u81ea\u52a8\u751f\u6210setup.py\u914d\u7f6e\u6587\u4ef6\n- \u81ea\u52a8\u751f\u6210Makefile\u7528\u4e8e\u6784\u5efa\n- \u81ea\u52a8\u751f\u6210\u90e8\u7f72\u811a\u672c\n- \u53ef\u9009\u7684\u524d\u7aef\u4ee3\u7406\u670d\u52a1\u5668\u652f\u6301\n- \u4e30\u5bcc\u7684\u547d\u4ee4\u884c\u63d0\u793a\u548c\u8fdb\u5ea6\u663e\u793a\n\n### \u4f9d\u8d56\u7ba1\u7406\n\n- Python\u540e\u7aef\u9879\u76ee\u4f7f\u7528setuptools\u8fdb\u884c\u4f9d\u8d56\u7ba1\u7406\n- \u524d\u7aef\u9879\u76ee\u4f7f\u7528npm/yarn\u8fdb\u884c\u4f9d\u8d56\u7ba1\u7406\n\n### \u6784\u5efa\u4e0e\u53d1\u5e03\n\n\u9879\u76ee\u521b\u5efa\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u6784\u5efa\u548c\u53d1\u5e03\uff1a\n\n1. \u53d1\u5e03\u9879\u76ee\uff1a\n```bash\nmake release\n```\n\n### \u6ce8\u610f\u4e8b\u9879\n\n- \u786e\u4fdd\u7cfb\u7edf\u4e2d\u5df2\u5b89\u88c5Node.js\u548cnpm/yarn\n- \u521b\u5efa\u524d\u7aef\u9879\u76ee\u65f6\u53ef\u80fd\u9700\u8981\u8f83\u957f\u65f6\u95f4\n- \u4f7f\u7528\u4ee3\u7406\u529f\u80fd\u65f6\uff0c\u8bf7\u786e\u4fdd\u7aef\u53e3\u672a\u88ab\u5360\u7528\n\n### \u5f00\u53d1\n\n\u8981\u8d21\u732e\u6216\u4fee\u6539\u672c\u9879\u76ee\uff0c\u8bf7\u514b\u9686\u4ed3\u5e93\u5e76\u5b89\u88c5\u5f00\u53d1\u4f9d\u8d56\uff1a\n\n```bash\ngit clone https://github.com/yourusername/projects-tools.git\ncd projects-tools\npip install -e .\n```\n\n### \u8bb8\u53ef\u8bc1\n\nMIT License\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Projects Tools: A tool for managing projects",
    "version": "0.0.3",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe51263a9e186dbac777ae1b1f81bc54d37d5f121d7b66fbf00156b27af41eff",
                "md5": "28d53c8c976bc306bf55c223d761af45",
                "sha256": "4d3c64b9e382c16734a3398ed675b72877765cc51fb86db9b541b0261d9e2985"
            },
            "downloads": -1,
            "filename": "projects_tools-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "28d53c8c976bc306bf55c223d761af45",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 11722,
            "upload_time": "2025-01-18T06:29:37",
            "upload_time_iso_8601": "2025-01-18T06:29:37.269867Z",
            "url": "https://files.pythonhosted.org/packages/fe/51/263a9e186dbac777ae1b1f81bc54d37d5f121d7b66fbf00156b27af41eff/projects_tools-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f3d952d4605451b125ffb55e6d86db39d00b8675d8a99262b492f8a51677443d",
                "md5": "9d81782433155c30842d93c4acdd4af0",
                "sha256": "679246371e6437b9ccff0070417f62c0cfc7d882492c6fb1ce03f6fb6f502573"
            },
            "downloads": -1,
            "filename": "projects_tools-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "9d81782433155c30842d93c4acdd4af0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10160,
            "upload_time": "2025-01-18T06:29:39",
            "upload_time_iso_8601": "2025-01-18T06:29:39.505392Z",
            "url": "https://files.pythonhosted.org/packages/f3/d9/52d4605451b125ffb55e6d86db39d00b8675d8a99262b492f8a51677443d/projects_tools-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-18 06:29:39",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "projects-tools"
}
        
Elapsed time: 2.43928s