Name | cookieplone JSON |
Version |
0.8.4
JSON |
| download |
home_page | None |
Summary | Create Plone projects, addons, documentation with ease! |
upload_time | 2025-02-22 19:26:52 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
plone
code generator
cookiecutter
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<p align="center">
<img alt="Plone Logo" width="200px" src="https://raw.githubusercontent.com/plone/.github/main/plone-logo.png">
</p>
<h1 align="center">
Cookieplone 🍪
</h1>
<div align="center">
[](https://pypi.org/project/cookieplone/)
[](https://pypi.org/project/cookieplone/)
[](https://pypi.org/project/cookieplone/)
[](https://pypi.org/project/cookieplone/)
[](https://pypi.org/project/cookieplone/)
[](https://github.com/plone/cookieplone/actions/workflows/main.yml)
[](https://github.com/plone/cookieplone)
[](https://github.com/plone/cookieplone)
</div>
Welcome to Cookieplone, a powerful wrapper around Cookiecutter designed to streamline the development of Plone codebases.
Whether you're building a backend add-on, a new Volto add-on, a full project with both backend and frontend, Cookieplone simplifies the process using robust Cookiecutter templates.
## Key features 🌟
Cookieplone offers the following key features for each audience.
### For users
- **One stop for all Plone templates**: Cookieplone helps you find the correct template to start your new Plone project.
- **Simplified usage**: Cookieplone provides an enhanced experience over standard Cookiecutter usage by offering predefined sane defaults and a unified approach to generating various Plone projects.
- **Batteries included**: No need to install lots of dependencies. Run `pipx run cookieplone`, and you will quickly generate your codebase.
### For template creators
- **Built-in validators**: Includes built-in validators to ensure user inputs are correct.
- **Jinja2 filters**: Includes Jinja2 filters for advanced template control.
- **Sub-templates**: Mechanism to easily instantiate "sub templates" within cookiecutter hooks -- i.e. post_gen_hook -- , facilitating greater code reuse.
## Installation 💾
First, ensure you have Python, pip, and pipx installed on your system.
See [how to install these and check Plone's prerequisites](https://6.docs.plone.org/install/create-project-cookieplone.html#prerequisites-for-installation).
Set up your system with [Plone's prerequisites](https://6.docs.plone.org/install/create-project-cookieplone.html#prerequisites-for-installation).
Then install Cookieplone using `pipx`:
```shell
# pipx is strongly recommended.
pipx install cookieplone
```
Or, if pipx is not an option, you can install Cookieplone in your Python user directory.
```shell
python -m pip install --user cookieplone
```
## Usage 🛠️
To see all available template options, run:
```shell
pipx run cookieplone
```
Cookieplone will walk you through the necessary steps, using sensible defaults and offering customization options where needed.
### Use options to avoid prompts
Cookieplone will ask a lot of questions.
You can use some of its options to avoid repeatedly entering the same values.
#### `--no-input`
You can use the [`--no-input`](https://cookiecutter.readthedocs.io/en/latest/cli_options.html#cmdoption-cookiecutter-no-input) option to make Cookieplone not prompt for parameters and only use `cookiecutter.json` file content.
#### `--replay` and `--replay-file`
You can use the options [`--replay`](https://cookiecutter.readthedocs.io/en/latest/cli_options.html#cmdoption-cookiecutter-replay) and [`--replay-file`](https://cookiecutter.readthedocs.io/en/latest/cli_options.html#cmdoption-cookiecutter-replay-file) to not prompt for parameters and only use information entered previously or from a specified file.
See [Replay Project Generation](https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html) in the cookiecutter documentation for more information.
### Specify a template
You can also specify other templates.
| Template | Description | Command |
| --- | --- | --- |
| **backend_addon** | Create a Plone add-on to be used with the backend. | `pipx run cookieplone backend_addon ` |
| **frontend_addon** | Create a Plone add-on to be used with the frontend. | `pipx run cookieplone frontend_addon ` |
The updated list of templates can be found at the [cookieplone-templates](https://github.com/plone/cookieplone-templates) repository.
### Configure Cookieplone
| Environment Variable | Description | Example |
| --- | --- | --- |
| **COOKIEPLONE_REPOSITORY** | Where to look for templates to be used. | `COOKIEPLONE_REPOSITORY=/home/plone/cookieplone-templates/ pipx run cookieplone` |
| **COOKIEPLONE_REPOSITORY_TAG** | Which tag/branch to use from a remote repository. | `COOKIEPLONE_REPOSITORY_TAG=experimental pipx run cookieplone` |
| **COOKIEPLONE_REPO_PASSWORD** | Password to use when using a remote repository that is password protected. | `COOKIEPLONE_REPO_PASSWORD=very-secure pipx run cookieplone` |
## Contribute 🤝
We welcome contributions to Cookieplone.
You can create an issue in the issue tracker, or contact a maintainer.
- [Issue Tracker](https://github.com/plone/cookieplone/issues)
- [Source Code](https://github.com/plone/cookieplone/)
### Development requirements
- Python 3.10 or later
- [Hatch](https://hatch.pypa.io/)
### Setup
Install all development dependencies, including Hatch, and create a local virtual environment with the following command.
```shell
make install
```
### Run the checked out branch of Cookieplone
```shell
hatch run cookieplone
```
### Check and format the codebase
```shell
make check
```
### Run tests
[`pytest`](https://docs.pytest.org/) is this package's test runner.
Run all tests with the following command.
```shell
make test
```
Run all tests, but stop on the first error and open a `pdb` session with the following command.
```shell
hatch run test -x --pdb
```
Run only tests that match `test_run_sanity_checks_fail` with the following command.
```shell
hatch run test -k test_run_sanity_checks_fail
```
Run only tests that match `test_run_sanity_checks_fail`, but stop on the first error and open a `pdb` session with the following command.
```shell
hatch run test -k test_run_sanity_checks_fail -x --pdb
```
## Support 📢
For support, questions, or more detailed documentation, visit the [official Cookieplone repository](https://github.com/plone/cookieplone).
Thank you for choosing Cookieplone for your Plone development needs!
## This project is supported by
<p align="left">
<a href="https://plone.org/foundation/">
<img alt="Plone Foundation Logo" width="200px" src="https://raw.githubusercontent.com/plone/.github/main/plone-foundation.png">
</a>
</p>
## License
The project is released under the [MIT License](./LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "cookieplone",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Plone, code generator, cookiecutter",
"author": null,
"author_email": "Plone Community <dev@plone.org>",
"download_url": "https://files.pythonhosted.org/packages/e2/e6/ac7ce36adb2507d7a4f5833ce5e8591c914605ac6af86c0940d87fe3dd25/cookieplone-0.8.4.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img alt=\"Plone Logo\" width=\"200px\" src=\"https://raw.githubusercontent.com/plone/.github/main/plone-logo.png\">\n</p>\n\n<h1 align=\"center\">\n Cookieplone \ud83c\udf6a\n</h1>\n\n\n<div align=\"center\">\n\n[](https://pypi.org/project/cookieplone/)\n[](https://pypi.org/project/cookieplone/)\n[](https://pypi.org/project/cookieplone/)\n[](https://pypi.org/project/cookieplone/)\n[](https://pypi.org/project/cookieplone/)\n\n[](https://github.com/plone/cookieplone/actions/workflows/main.yml)\n\n[](https://github.com/plone/cookieplone)\n[](https://github.com/plone/cookieplone)\n\n</div>\n\nWelcome to Cookieplone, a powerful wrapper around Cookiecutter designed to streamline the development of Plone codebases.\nWhether you're building a backend add-on, a new Volto add-on, a full project with both backend and frontend, Cookieplone simplifies the process using robust Cookiecutter templates.\n\n## Key features \ud83c\udf1f\n\nCookieplone offers the following key features for each audience.\n\n### For users\n\n- **One stop for all Plone templates**: Cookieplone helps you find the correct template to start your new Plone project.\n- **Simplified usage**: Cookieplone provides an enhanced experience over standard Cookiecutter usage by offering predefined sane defaults and a unified approach to generating various Plone projects.\n- **Batteries included**: No need to install lots of dependencies. Run `pipx run cookieplone`, and you will quickly generate your codebase.\n\n\n### For template creators\n\n- **Built-in validators**: Includes built-in validators to ensure user inputs are correct.\n- **Jinja2 filters**: Includes Jinja2 filters for advanced template control.\n- **Sub-templates**: Mechanism to easily instantiate \"sub templates\" within cookiecutter hooks -- i.e. post_gen_hook -- , facilitating greater code reuse.\n\n\n## Installation \ud83d\udcbe\n\nFirst, ensure you have Python, pip, and pipx installed on your system.\n\nSee [how to install these and check Plone's prerequisites](https://6.docs.plone.org/install/create-project-cookieplone.html#prerequisites-for-installation).\nSet up your system with [Plone's prerequisites](https://6.docs.plone.org/install/create-project-cookieplone.html#prerequisites-for-installation).\nThen install Cookieplone using `pipx`:\n\n```shell\n# pipx is strongly recommended.\npipx install cookieplone\n```\n\nOr, if pipx is not an option, you can install Cookieplone in your Python user directory.\n\n```shell\npython -m pip install --user cookieplone\n```\n\n## Usage \ud83d\udee0\ufe0f\n\nTo see all available template options, run:\n\n```shell\npipx run cookieplone\n```\n\nCookieplone will walk you through the necessary steps, using sensible defaults and offering customization options where needed.\n\n### Use options to avoid prompts\n\nCookieplone will ask a lot of questions.\nYou can use some of its options to avoid repeatedly entering the same values.\n\n#### `--no-input`\n\nYou can use the [`--no-input`](https://cookiecutter.readthedocs.io/en/latest/cli_options.html#cmdoption-cookiecutter-no-input) option to make Cookieplone not prompt for parameters and only use `cookiecutter.json` file content.\n\n#### `--replay` and `--replay-file`\n\nYou can use the options [`--replay`](https://cookiecutter.readthedocs.io/en/latest/cli_options.html#cmdoption-cookiecutter-replay) and [`--replay-file`](https://cookiecutter.readthedocs.io/en/latest/cli_options.html#cmdoption-cookiecutter-replay-file) to not prompt for parameters and only use information entered previously or from a specified file.\nSee [Replay Project Generation](https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html) in the cookiecutter documentation for more information.\n\n### Specify a template\n\nYou can also specify other templates.\n\n| Template | Description | Command |\n| --- | --- | --- |\n| **backend_addon** | Create a Plone add-on to be used with the backend. | `pipx run cookieplone backend_addon ` |\n| **frontend_addon** | Create a Plone add-on to be used with the frontend. | `pipx run cookieplone frontend_addon ` |\n\nThe updated list of templates can be found at the [cookieplone-templates](https://github.com/plone/cookieplone-templates) repository.\n\n### Configure Cookieplone\n\n| Environment Variable | Description | Example |\n| --- | --- | --- |\n| **COOKIEPLONE_REPOSITORY** | Where to look for templates to be used. | `COOKIEPLONE_REPOSITORY=/home/plone/cookieplone-templates/ pipx run cookieplone` |\n| **COOKIEPLONE_REPOSITORY_TAG** | Which tag/branch to use from a remote repository. | `COOKIEPLONE_REPOSITORY_TAG=experimental pipx run cookieplone` |\n| **COOKIEPLONE_REPO_PASSWORD** | Password to use when using a remote repository that is password protected. | `COOKIEPLONE_REPO_PASSWORD=very-secure pipx run cookieplone` |\n\n## Contribute \ud83e\udd1d\n\nWe welcome contributions to Cookieplone.\n\nYou can create an issue in the issue tracker, or contact a maintainer.\n\n- [Issue Tracker](https://github.com/plone/cookieplone/issues)\n- [Source Code](https://github.com/plone/cookieplone/)\n\n### Development requirements\n\n- Python 3.10 or later\n- [Hatch](https://hatch.pypa.io/)\n\n### Setup\n\nInstall all development dependencies, including Hatch, and create a local virtual environment with the following command.\n\n```shell\nmake install\n```\n\n### Run the checked out branch of Cookieplone\n\n```shell\nhatch run cookieplone\n```\n\n### Check and format the codebase\n\n```shell\nmake check\n```\n\n### Run tests\n\n[`pytest`](https://docs.pytest.org/) is this package's test runner.\n\nRun all tests with the following command.\n\n```shell\nmake test\n```\n\nRun all tests, but stop on the first error and open a `pdb` session with the following command.\n\n```shell\nhatch run test -x --pdb\n```\n\nRun only tests that match `test_run_sanity_checks_fail` with the following command.\n\n```shell\nhatch run test -k test_run_sanity_checks_fail\n```\n\nRun only tests that match `test_run_sanity_checks_fail`, but stop on the first error and open a `pdb` session with the following command.\n\n```shell\nhatch run test -k test_run_sanity_checks_fail -x --pdb\n```\n\n## Support \ud83d\udce2\n\nFor support, questions, or more detailed documentation, visit the [official Cookieplone repository](https://github.com/plone/cookieplone).\n\nThank you for choosing Cookieplone for your Plone development needs!\n\n\n## This project is supported by\n\n<p align=\"left\">\n <a href=\"https://plone.org/foundation/\">\n <img alt=\"Plone Foundation Logo\" width=\"200px\" src=\"https://raw.githubusercontent.com/plone/.github/main/plone-foundation.png\">\n </a>\n</p>\n\n## License\n\nThe project is released under the [MIT License](./LICENSE).\n",
"bugtrack_url": null,
"license": null,
"summary": "Create Plone projects, addons, documentation with ease!",
"version": "0.8.4",
"project_urls": {
"Documentation": "https://github.com/plone/cookieplone#readme",
"Issues": "https://github.com/plone/cookieplone/issues",
"Source": "https://github.com/plone/cookieplone"
},
"split_keywords": [
"plone",
" code generator",
" cookiecutter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "da283f37b5b229c2314f2899da43aec6c9f2002a3d38891e48d9c0ed33a2f44b",
"md5": "f2e51e500cfcea215376690b4dec7e7d",
"sha256": "c59847101289a22579363a3ecafc00c8a7ee70eb6cd792c6c5f53ce9afbf5777"
},
"downloads": -1,
"filename": "cookieplone-0.8.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f2e51e500cfcea215376690b4dec7e7d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 26651,
"upload_time": "2025-02-22T19:26:50",
"upload_time_iso_8601": "2025-02-22T19:26:50.297284Z",
"url": "https://files.pythonhosted.org/packages/da/28/3f37b5b229c2314f2899da43aec6c9f2002a3d38891e48d9c0ed33a2f44b/cookieplone-0.8.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e2e6ac7ce36adb2507d7a4f5833ce5e8591c914605ac6af86c0940d87fe3dd25",
"md5": "820fcefedcbd45ecef5616a2b8fd46d6",
"sha256": "7eb0c156d4164da4fe77baf0dc78f22dc36d6a01ead1fe1a78e6a95947043a9d"
},
"downloads": -1,
"filename": "cookieplone-0.8.4.tar.gz",
"has_sig": false,
"md5_digest": "820fcefedcbd45ecef5616a2b8fd46d6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 30425,
"upload_time": "2025-02-22T19:26:52",
"upload_time_iso_8601": "2025-02-22T19:26:52.291170Z",
"url": "https://files.pythonhosted.org/packages/e2/e6/ac7ce36adb2507d7a4f5833ce5e8591c914605ac6af86c0940d87fe3dd25/cookieplone-0.8.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-22 19:26:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "plone",
"github_project": "cookieplone#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "cookieplone"
}