Package: orbit-client
OrbitA command-line utility that creates projects fromorbits(project templates), e.g. creating a Python package project
from a Python package project template.Table Of ContentsWhat is OrbitInstallationInstalling via pipInstalling from sourceUsageContributionsWhat is OrbitA command-line utility that creates projects from orbit (project templates), e.g. creating a Python package project from
a Python package project template.InstallationInstalling via pip$pipinstallorbit-clientUsageCross-platform: Windows, Mac, and Linux are officially supported.You don't have to know/write Python code to use Cookiecutter.Works with Python 3.7, 3.8, 3.9, 3.10, 3.11Project templates can be in any programming language or markup format:
Python, JavaScript, Ruby, CoffeeScript, RST, Markdown, CSS, HTML, you name it.
You can use multiple languages in the same project template.For users of existing templatesSimple command line usage:# Create project from the orbit-pypackage.git repo template# You'll be prompted to enter values.# Then it'll create your Python package in the current working directory,# based on those values.$orbit<repourl># For the sake of brevity, repos on GitHub can just use the 'gh' prefix$orbitgh:audreyfeldroy/orbit-pypackageUse it at the command line with a local template:# Create project in the current working directory, from the local# orbit-pypackage/ template$orbitorbit-pypackage/Or use it from Python:fromorbit.mainimportorbit# Create project from the orbit-pypackage/ templateorbit('orbit-pypackage/')# Create project from the orbit-pypackage.git repo templateorbit('<repo url>')Unless you suppress it with--no-input, you are prompted for input:Prompts are the keys inorbit.json.Default responses are the values inorbit.json.Prompts are shown in order.Cross-platform support for~/.orbitrcfiles:default_context:full_name:"haonv"email:"haonv@ftech.ai.com"github_username:"haonv"orbits_dir:"~/.orbits/"You can use local orbits, or remote orbits directly from Git repos or Mercurial repos on Bitbucket.Default context: specify key/value pairs that you want to be used as defaults whenever you generate a project.Inject extra context with command-line arguments:For template creatorsSupports unlimited levels of directory nesting.100% of templating is done with Jinja2.Both, directory names and filenames can be templated.
For example:{{orbit.repo_name}}/{{orbit.repo_name}}/{{orbit.repo_name}}.pySimply define your template variables in aorbit.jsonfile. You can also add human-readable questions and choices
that will be prompted to the user for each variable using the__prompts__key. Those human-readable questions
supportsrichmarkupsuch
as[bold yellow]this is bold and yellow[/]For example:{"full_name":"Audrey Roy Greenfeld","email":"audreyr@gmail.com","project_name":"Complexity","repo_name":"complexity","project_short_description":"Refreshingly simple static site generator.","release_date":"2013-07-10","year":"2013","version":"0.1.1","linting":["ruff","flake8","none"],"__prompts__":{"full_name":"Provide your [bold yellow]full name[/]","email":"Provide your [bold yellow]email[/]","linting":{"__prompt__":"Which [bold yellow]linting tool[/] do you want to use?","ruff":"Ruff","flake8":"Flake8","none":"No linting tool"}}}Pre- and post-generate hooks: Python or shell scripts to run before or after generating a project.Author