jyinit


Namejyinit JSON
Version 0.0.4 PyPI version JSON
download
home_pageNone
Summaryjyinit - scaffold Python projects (CLI)
upload_time2025-09-04 07:24:03
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseMIT
keywords scaffold cookiecutter cli python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # jyinit

๐Ÿš€ **Extended Python Project Scaffolder** โ€“ create production-ready Python projects (apps, services, libraries, ML projects, etc.) with one command.  
Includes templates, licenses, CI/CD workflows, Git setup, and interactive prompts.

---

## โœจ Features

- ๐Ÿ“ฆ **Multiple templates**: scaffold Flask, FastAPI, Django, Streamlit, ML, libraries, etc.
- โšก **Interactive mode** (`--interactive`): prompts you for missing options.
- ๐Ÿ”ง **Per-template GitHub Actions workflows** (via `--ci`).
- ๐Ÿ“ **Licenses included** (MIT, Apache-2.0, GPL-3.0, โ€ฆ).
- ๐Ÿ™ **Git integration**:  
  - `--git` โ†’ initializes git repo(s) without remote.  
  - `--gitrep [url]` โ†’ initializes repo(s) and optionally sets a remote + pushes initial commit.
- ๐Ÿงช **Tests scaffold**: creates a `tests/` folder with `__init__.py`.
- ๐Ÿ **Virtual environments** (`--venv`) per subproject.
- ๐Ÿ” **Dry-run mode** (`--dry-run`) โ€“ preview everything before creating files.

---

## ๐Ÿ“ฅ Installation

```bash
pip install jyinit
````

Or clone locally for development:

```bash
git clone https://github.com/yourname/jyinit.git
cd jyinit
pip install -e .
```

---

## ๐Ÿš€ Usage

### Show help

```bash
jyinit --help
```

### Interactive mode

Prompts for template, license, Python version, etc.

```bash
jyinit create myproj --interactive
```

### Non-interactive example

Create a Flask app with CI, initialize git, and push to GitHub:

```bash
jyinit create myrepo --types flask --ci --gitrep https://github.com/you/myrepo.git
```

### Multiple templates (monorepo style)

```bash
jyinit create combo --types streamlit mlops --venv --gitrep
```

### List available templates and licenses

```bash
jyinit list-templates
```

---

## โš™๏ธ CLI Options

| Option           | Description                                                        |
| ---------------- | ------------------------------------------------------------------ |
| `--type`         | Legacy: single template scaffold                                   |
| `--types`        | One or more templates (`library`, `flask`, `fastapi`, `django`, โ€ฆ) |
| `--dir`          | Base directory for project                                         |
| `--license`      | Choose license (default: MIT)                                      |
| `--author`       | Author name (defaults to system user)                              |
| `--py`           | Minimum Python version (default: 3.8)                              |
| `--git`          | Initialize git (no remote)                                         |
| `--gitrep [url]` | Init git + set optional remote & push                              |
| `--venv`         | Create `.venv` per subproject                                      |
| `--no-tests`     | Skip creating `tests/` folder                                      |
| `--ci`           | Add tailored GitHub Actions workflow                               |
| `--interactive`  | Prompt for missing values                                          |
| `--dry-run`      | Preview without writing files                                      |

---

## ๐Ÿ“‚ Example Generated Project Structure

For a **Flask** project:

```
myrepo/
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ myrepo/
โ”‚   โ””โ”€โ”€ __init__.py
โ”œโ”€โ”€ tests/
โ”‚   โ””โ”€โ”€ __init__.py
โ””โ”€โ”€ .github/
    โ””โ”€โ”€ workflows/
        โ””โ”€โ”€ python-package.yml
```

For a **monorepo** with `streamlit` + `mlops`, youโ€™ll get:

```
combo/
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ streamlit/
โ”‚   โ”œโ”€โ”€ ...
โ”‚   โ””โ”€โ”€ tests/
โ”œโ”€โ”€ mlops/
โ”‚   โ”œโ”€โ”€ ...
โ”‚   โ””โ”€โ”€ tests/
```

---

## ๐Ÿ›  Development

Clone the repo and install dev dependencies:

```bash
pip install -r requirements-dev.txt
```

Run tests (if you scaffolded pytest):

```bash
pytest
```

---

## ๐Ÿ“œ License

jyinit is licensed under the **MIT License**.
See [LICENSE](./LICENSE) for details.

---

## ๐Ÿ™Œ Acknowledgments

Inspired by Python project cookiecutters, but with **interactive scaffolding, monorepo support, and built-in CI**.

```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "jyinit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "scaffold, cookiecutter, cli, python",
    "author": null,
    "author_email": "Jeevan N <njeevan2216@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/26/62/1805a5c8000a903c770fd1c5c178217494366f744f14e9e15ad9a4ac8a3b/jyinit-0.0.4.tar.gz",
    "platform": null,
    "description": "# jyinit\n\n\ud83d\ude80 **Extended Python Project Scaffolder** \u2013 create production-ready Python projects (apps, services, libraries, ML projects, etc.) with one command.  \nIncludes templates, licenses, CI/CD workflows, Git setup, and interactive prompts.\n\n---\n\n## \u2728 Features\n\n- \ud83d\udce6 **Multiple templates**: scaffold Flask, FastAPI, Django, Streamlit, ML, libraries, etc.\n- \u26a1 **Interactive mode** (`--interactive`): prompts you for missing options.\n- \ud83d\udd27 **Per-template GitHub Actions workflows** (via `--ci`).\n- \ud83d\udcdd **Licenses included** (MIT, Apache-2.0, GPL-3.0, \u2026).\n- \ud83d\udc19 **Git integration**:  \n  - `--git` \u2192 initializes git repo(s) without remote.  \n  - `--gitrep [url]` \u2192 initializes repo(s) and optionally sets a remote + pushes initial commit.\n- \ud83e\uddea **Tests scaffold**: creates a `tests/` folder with `__init__.py`.\n- \ud83d\udc0d **Virtual environments** (`--venv`) per subproject.\n- \ud83d\udd0d **Dry-run mode** (`--dry-run`) \u2013 preview everything before creating files.\n\n---\n\n## \ud83d\udce5 Installation\n\n```bash\npip install jyinit\n````\n\nOr clone locally for development:\n\n```bash\ngit clone https://github.com/yourname/jyinit.git\ncd jyinit\npip install -e .\n```\n\n---\n\n## \ud83d\ude80 Usage\n\n### Show help\n\n```bash\njyinit --help\n```\n\n### Interactive mode\n\nPrompts for template, license, Python version, etc.\n\n```bash\njyinit create myproj --interactive\n```\n\n### Non-interactive example\n\nCreate a Flask app with CI, initialize git, and push to GitHub:\n\n```bash\njyinit create myrepo --types flask --ci --gitrep https://github.com/you/myrepo.git\n```\n\n### Multiple templates (monorepo style)\n\n```bash\njyinit create combo --types streamlit mlops --venv --gitrep\n```\n\n### List available templates and licenses\n\n```bash\njyinit list-templates\n```\n\n---\n\n## \u2699\ufe0f CLI Options\n\n| Option           | Description                                                        |\n| ---------------- | ------------------------------------------------------------------ |\n| `--type`         | Legacy: single template scaffold                                   |\n| `--types`        | One or more templates (`library`, `flask`, `fastapi`, `django`, \u2026) |\n| `--dir`          | Base directory for project                                         |\n| `--license`      | Choose license (default: MIT)                                      |\n| `--author`       | Author name (defaults to system user)                              |\n| `--py`           | Minimum Python version (default: 3.8)                              |\n| `--git`          | Initialize git (no remote)                                         |\n| `--gitrep [url]` | Init git + set optional remote & push                              |\n| `--venv`         | Create `.venv` per subproject                                      |\n| `--no-tests`     | Skip creating `tests/` folder                                      |\n| `--ci`           | Add tailored GitHub Actions workflow                               |\n| `--interactive`  | Prompt for missing values                                          |\n| `--dry-run`      | Preview without writing files                                      |\n\n---\n\n## \ud83d\udcc2 Example Generated Project Structure\n\nFor a **Flask** project:\n\n```\nmyrepo/\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 requirements.txt\n\u251c\u2500\u2500 myrepo/\n\u2502   \u2514\u2500\u2500 __init__.py\n\u251c\u2500\u2500 tests/\n\u2502   \u2514\u2500\u2500 __init__.py\n\u2514\u2500\u2500 .github/\n    \u2514\u2500\u2500 workflows/\n        \u2514\u2500\u2500 python-package.yml\n```\n\nFor a **monorepo** with `streamlit` + `mlops`, you\u2019ll get:\n\n```\ncombo/\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 streamlit/\n\u2502   \u251c\u2500\u2500 ...\n\u2502   \u2514\u2500\u2500 tests/\n\u251c\u2500\u2500 mlops/\n\u2502   \u251c\u2500\u2500 ...\n\u2502   \u2514\u2500\u2500 tests/\n```\n\n---\n\n## \ud83d\udee0 Development\n\nClone the repo and install dev dependencies:\n\n```bash\npip install -r requirements-dev.txt\n```\n\nRun tests (if you scaffolded pytest):\n\n```bash\npytest\n```\n\n---\n\n## \ud83d\udcdc License\n\njyinit is licensed under the **MIT License**.\nSee [LICENSE](./LICENSE) for details.\n\n---\n\n## \ud83d\ude4c Acknowledgments\n\nInspired by Python project cookiecutters, but with **interactive scaffolding, monorepo support, and built-in CI**.\n\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "jyinit - scaffold Python projects (CLI)",
    "version": "0.0.4",
    "project_urls": {
        "Documentation": "https://njeevan.vercel.app/jyinit-docs",
        "Homepage": "https://njeevan.vercel.app/jyinit",
        "Issues": "https://github.com/nj2216/jyinit/issues",
        "Source": "https://github.com/nj2216/jyinit"
    },
    "split_keywords": [
        "scaffold",
        " cookiecutter",
        " cli",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7801d6653d9e23fc53a39485811d2025b964ae25e27b678d801646f4029d3218",
                "md5": "234945a90397aa2dec6e386ba9eee9c5",
                "sha256": "8530bda870b81ce56513573abae9a4a696bac50b37f10922a351909e22b763d2"
            },
            "downloads": -1,
            "filename": "jyinit-0.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "234945a90397aa2dec6e386ba9eee9c5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 37200,
            "upload_time": "2025-09-04T07:24:02",
            "upload_time_iso_8601": "2025-09-04T07:24:02.104502Z",
            "url": "https://files.pythonhosted.org/packages/78/01/d6653d9e23fc53a39485811d2025b964ae25e27b678d801646f4029d3218/jyinit-0.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "26621805a5c8000a903c770fd1c5c178217494366f744f14e9e15ad9a4ac8a3b",
                "md5": "96bf3f30d319f4e6cc06b838489317c4",
                "sha256": "a9de6506477975d853e98b2da4b05e0217ff350bd8739dfe1906ca7172e8e87d"
            },
            "downloads": -1,
            "filename": "jyinit-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "96bf3f30d319f4e6cc06b838489317c4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 38471,
            "upload_time": "2025-09-04T07:24:03",
            "upload_time_iso_8601": "2025-09-04T07:24:03.169405Z",
            "url": "https://files.pythonhosted.org/packages/26/62/1805a5c8000a903c770fd1c5c178217494366f744f14e9e15ad9a4ac8a3b/jyinit-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-04 07:24:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nj2216",
    "github_project": "jyinit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "jyinit"
}
        
Elapsed time: 0.57229s