zenforge


Namezenforge JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA simple CLI tool for bootstrapping new projects fast
upload_time2025-01-16 22:25:16
maintainerRyan Partridge
docs_urlNone
authorRyan Partridge
requires_python<4.0,>=3.12
licenseApache-2.0
keywords python project-bootstrapping cli-tool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Zenforge

A simple CLI tool for bootstrapping new Python projects fast.

## Why It Exists

I often find myself building the same types of Python projects with the same dependencies over and over again. After a while, it gets tedious repeating the same CLI commands to create a simple project.

_Zenforge_ combats this by using static configuration settings to build projects based on a single `create` command. There are 7 types of projects available:

1) **basic**: a simple project with [Pydantic](https://docs.pydantic.dev/latest/).
2) **api**: a [FastAPI](https://fastapi.tiangolo.com/) project with [Logfire](https://logfire.pydantic.dev/docs/).
3) **agents**: an AI Agent project with [PydanticAI](https://ai.pydantic.dev/) and [Logfire](https://logfire.pydantic.dev/docs/).
4) **dl**: a Deep Learning project with [PyTorch](https://pytorch.org/).
5) **api-agents**: a [FastAPI](https://fastapi.tiangolo.com/) and [PydanticAI](https://ai.pydantic.dev/) project (API and AGENTS).
6) **api-dl**: a Deep Learning API project (API and DL).
7) **all**: a Deep Learning, API, AI Agent project (DL and API-AGENTS).

The packages are always updated to their latest versions with every newly created project and are bootstrapped as a `Poetry` project.

## Test Packages

They also come configured with a set of test dependencies:

- [pytest](https://docs.pytest.org/en/stable/) - for unit tests.
- [pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) - for unit test line coverage.
- [black](https://black.readthedocs.io/en/stable/) - for code formatting.
- [flake8](https://flake8.pycqa.org/en/latest/) - for confirming Python style formatting.
- [isort](https://pycqa.github.io/isort/) - for automatic import sorting.
- [mypy](https://mypy.readthedocs.io/en/stable/) - for static type checking.

## Building a Project

1. Install the package using `pip`:

    ```bash
    pip install zenforge
    ```

2. Create a new project with `zenforge create`:

    ```bash
    zenforge create [PROJECT_NAME] [PROJECT_TYPE]
    ```

That's it!

The `project_type` must be one of the following options: `['basic', 'api', 'agents', 'dl', 'api-agents', 'api-dl', 'all']`. It defaults to `basic`.

There is also an optional flag for setting up a `ci` dependencies group that comes configured with `git-cliff`. You can add it with `--ci-deps` flag, like so:

```bash
zenforge create [PROJECT_NAME] api-dl --ci-deps
```


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "zenforge",
    "maintainer": "Ryan Partridge",
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": "rpartridge101@gmail.com",
    "keywords": "python, project-bootstrapping, cli-tool",
    "author": "Ryan Partridge",
    "author_email": "rpartridge101@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/dc/cc/0ab20a9d0844cddb06f8904893d052e479a5847cfd068732544ecc84e28e/zenforge-0.1.1.tar.gz",
    "platform": null,
    "description": "# Zenforge\n\nA simple CLI tool for bootstrapping new Python projects fast.\n\n## Why It Exists\n\nI often find myself building the same types of Python projects with the same dependencies over and over again. After a while, it gets tedious repeating the same CLI commands to create a simple project.\n\n_Zenforge_ combats this by using static configuration settings to build projects based on a single `create` command. There are 7 types of projects available:\n\n1) **basic**: a simple project with [Pydantic](https://docs.pydantic.dev/latest/).\n2) **api**: a [FastAPI](https://fastapi.tiangolo.com/) project with [Logfire](https://logfire.pydantic.dev/docs/).\n3) **agents**: an AI Agent project with [PydanticAI](https://ai.pydantic.dev/) and [Logfire](https://logfire.pydantic.dev/docs/).\n4) **dl**: a Deep Learning project with [PyTorch](https://pytorch.org/).\n5) **api-agents**: a [FastAPI](https://fastapi.tiangolo.com/) and [PydanticAI](https://ai.pydantic.dev/) project (API and AGENTS).\n6) **api-dl**: a Deep Learning API project (API and DL).\n7) **all**: a Deep Learning, API, AI Agent project (DL and API-AGENTS).\n\nThe packages are always updated to their latest versions with every newly created project and are bootstrapped as a `Poetry` project.\n\n## Test Packages\n\nThey also come configured with a set of test dependencies:\n\n- [pytest](https://docs.pytest.org/en/stable/) - for unit tests.\n- [pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) - for unit test line coverage.\n- [black](https://black.readthedocs.io/en/stable/) - for code formatting.\n- [flake8](https://flake8.pycqa.org/en/latest/) - for confirming Python style formatting.\n- [isort](https://pycqa.github.io/isort/) - for automatic import sorting.\n- [mypy](https://mypy.readthedocs.io/en/stable/) - for static type checking.\n\n## Building a Project\n\n1. Install the package using `pip`:\n\n    ```bash\n    pip install zenforge\n    ```\n\n2. Create a new project with `zenforge create`:\n\n    ```bash\n    zenforge create [PROJECT_NAME] [PROJECT_TYPE]\n    ```\n\nThat's it!\n\nThe `project_type` must be one of the following options: `['basic', 'api', 'agents', 'dl', 'api-agents', 'api-dl', 'all']`. It defaults to `basic`.\n\nThere is also an optional flag for setting up a `ci` dependencies group that comes configured with `git-cliff`. You can add it with `--ci-deps` flag, like so:\n\n```bash\nzenforge create [PROJECT_NAME] api-dl --ci-deps\n```\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A simple CLI tool for bootstrapping new projects fast",
    "version": "0.1.1",
    "project_urls": {
        "homepage": "https://github.com/Achronus/zenforge",
        "issues": "https://github.com/Achronus/zenforge/issues",
        "repository": "https://github.com/Achronus/zenforge"
    },
    "split_keywords": [
        "python",
        " project-bootstrapping",
        " cli-tool"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d25ae6727a7a6103ab9d00fc62b0e1d8e4c5ea87a0a9b2200640f5822b49080",
                "md5": "1cf62737a7a1f4430ece3db3b95d1d3e",
                "sha256": "e8897ac028460f33d4301603d0d9b5442877b40b8b7ffb4ee2dc3cfd8a572ef5"
            },
            "downloads": -1,
            "filename": "zenforge-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1cf62737a7a1f4430ece3db3b95d1d3e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 18024,
            "upload_time": "2025-01-16T22:25:13",
            "upload_time_iso_8601": "2025-01-16T22:25:13.932735Z",
            "url": "https://files.pythonhosted.org/packages/7d/25/ae6727a7a6103ab9d00fc62b0e1d8e4c5ea87a0a9b2200640f5822b49080/zenforge-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dccc0ab20a9d0844cddb06f8904893d052e479a5847cfd068732544ecc84e28e",
                "md5": "9a1e2fc1e2faf782953d4cd6416e5ba6",
                "sha256": "8c433e70120bea78fcf2c94e5adaf74f3939ec58cb36a2299e96cd60004ac3e8"
            },
            "downloads": -1,
            "filename": "zenforge-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "9a1e2fc1e2faf782953d4cd6416e5ba6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 14652,
            "upload_time": "2025-01-16T22:25:16",
            "upload_time_iso_8601": "2025-01-16T22:25:16.746347Z",
            "url": "https://files.pythonhosted.org/packages/dc/cc/0ab20a9d0844cddb06f8904893d052e479a5847cfd068732544ecc84e28e/zenforge-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-16 22:25:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Achronus",
    "github_project": "zenforge",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "zenforge"
}
        
Elapsed time: 1.45740s