Name | jyinit JSON |
Version |
0.0.4
JSON |
| download |
home_page | None |
Summary | jyinit - scaffold Python projects (CLI) |
upload_time | 2025-09-04 07:24:03 |
maintainer | None |
docs_url | None |
author | None |
requires_python | None |
license | MIT |
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"
}