🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

cookieplone

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cookieplone

Create Plone projects, add-ons, documentation with ease!

0.9.7
Source
PyPI
Maintainers
1

Plone Logo

Cookieplone 🍪

PyPI PyPI - Python Version PyPI - Wheel PyPI - License PyPI - Status

Tests

GitHub contributors GitHub Repo stars

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.
  • Subtemplates: Mechanism to easily instantiate subtemplates within cookiecutter hooks -- i.e. post_gen_hook -- , facilitating greater code reuse.

Installation 💾

Set up your system with Plone's Prerequisites for installation.

Usage 🛠️

Use uvx (command installed by uv) to run cookieplone and see all available template options:

uvx cookieplone

It is also possible to run a specific version of Cookieplone:

uvx cookieplone@0.9.3

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 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 and --replay-file to not prompt for parameters and only use information entered previously or from a specified file. See Replay Project Generation in the cookiecutter documentation for more information.

Specify a template

You can also specify other templates.

TemplateDescriptionCommand
backend_addonCreate a Plone add-on to be used with the backend.pipx run cookieplone backend_addon
frontend_addonCreate 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 repository.

Configure Cookieplone

Environment VariableDescriptionExample
COOKIEPLONE_REPOSITORYWhere to look for templates to be used.COOKIEPLONE_REPOSITORY=/home/plone/cookieplone-templates/ pipx run cookieplone
COOKIEPLONE_REPOSITORY_TAGWhich tag/branch to use from a remote repository.COOKIEPLONE_REPOSITORY_TAG=experimental pipx run cookieplone
COOKIEPLONE_REPO_PASSWORDPassword 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.

Development requirements

See Installation.

Setup

Create a local Python virtual environment with the following command.

make install

Run the checked out branch of Cookieplone

uv run cookieplone

Check and format the codebase

make check

Run tests

pytest is this package's test runner.

Run all tests with the following command.

make test

Run all tests, but stop on the first error and open a pdb session with the following command.

uv run pytest -x --pdb

Run only tests that match test_run_sanity_checks_fail with the following command.

uv run pytest -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.

uv run pytest -k test_run_sanity_checks_fail -x --pdb

Support 📢

For support, questions, or more detailed documentation, visit the official Cookieplone repository.

Thank you for choosing Cookieplone for your Plone development needs!

This project is supported by

Plone Foundation Logo

License

The project is released under the MIT License.

Keywords

Plone

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts