Python Starters#

PyPI Status Python Version License

Read the documentation at https://python-starters.readthedocs.io/ Tests Codecov

pre-commit Black

🚀 Python Starters Documentation#

Welcome to the Python Starters documentation! Python Starters is a tool designed to streamline the process of initializing, managing, and updating project starters based on cookiecutter templates. This tool simplifies Git operations, specifically working with subtrees and submodules, and provides a user-friendly interface for project scaffolding.

📦 Installation#

To install Python Starters via pip from PyPI, run the following command:

pip install python-starters

This will install Python Starters

Ensure you have Git installed on your system, as Python Starters relies on Git for version control of starters.

🛠️ Quick Start#

To quickly start using Python Starters, follow these steps:

  1. Initialize your project:

python-starters init
  1. Add a starter to your project:

python-starters add <starter_git_url>
  1. Customize your starter as needed and enjoy streamlined project setup!

🌟 Basic Usage#

Python Starters simplifies the process of working with project starters. Below are the basic commands:

  • Initializing Python Starters:

    python-starters init
    
  • Adding a Starter:

    python-starters add <starter_git_url>
    
  • Updating a Starter:

    python-starters update <starter_name>
    
  • Removing a Starter:

    python-starters remove <starter_name>
    

⚙️ Advanced Usage#

For advanced usage of Python Starters, consider the following commands:

  • Resolving Merge Conflicts:

    python-starters resolve <starter_name>
    
  • Listing All Starters:

    python-starters list
    
  • Customizing Starters:

    Customize your starter by editing the generated configuration files. Python Starters will respect these customizations during updates.

Please see the Command-line Reference for details.

📘 API Reference#

Python Starters also provides an API for programmatic access to its functionalities. Below is the reference for the API:

  • initialize_project(): Initializes Python Starters in the current project.

  • add_new_starter(starter_git_url: str): Adds a new starter to the project from the given Git URL.

  • update_existing_starter(starter_name: str): Updates the specified starter to its latest version.

  • remove_starter(starter_name: str): Removes the specified starter from the project.

  • resolve_starter_conflicts(starter_name: str): Assists in resolving merge conflicts for the specified starter.

  • list_all_starters(): Lists all starters added to the current project.

Each function is designed to be intuitive and easy to use, mirroring the simplicity of the CLI commands.

Requirements#

  • Python >=3.11

Contributing#

Contributions are very welcome. To learn more, see the Contributor Guide.

License#

Distributed under the terms of the MIT license, Python Starters is free and open source software.

Issues#

If you encounter any problems, please file an issue along with a detailed description.

Credits#

This project was generated from @cjolowicz’s Hypermodern Python Cookiecutter template.