https://github.com/drearondov/rocketlauncher
Very opinionated CLI to help jumpstart a project. Create new virtual environment, use Cookiecutter to create a file structure and upload to Github.
https://github.com/drearondov/rocketlauncher
cli cli-app cookiecutter poetry pyenv typer
Last synced: about 1 month ago
JSON representation
Very opinionated CLI to help jumpstart a project. Create new virtual environment, use Cookiecutter to create a file structure and upload to Github.
- Host: GitHub
- URL: https://github.com/drearondov/rocketlauncher
- Owner: drearondov
- License: gpl-3.0
- Created: 2021-02-19T17:25:03.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-03-10T20:23:56.000Z (over 5 years ago)
- Last Synced: 2025-02-25T20:20:17.018Z (over 1 year ago)
- Topics: cli, cli-app, cookiecutter, poetry, pyenv, typer
- Language: Python
- Homepage: https://rocketlauncher.readthedocs.io/en/latest/
- Size: 124 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
# Rocket Launcher
   
A **very** opinionated CLI to automate the start of a new project.
* Free software: GNU General Public License v3
* Documentation: https://rocket-launcher.readthedocs.io.
## Features
* Select environment manager (`pyenv`, `conda` supported)
* Create new virtual environment by default
* Create folder structure from cookiecutter
* Choose to create repository and upload project to Github
* Configure defaults values
* Quickstart a new project with default values
## Installation
Since the nature of this package is very opinionated (meaning, made with me in mind) I will not be publishing to `pypi`. But if you would like to use it, this are the installation steps.
### Prerequisites
For rocketLauncher to work the followinng packages need to be installed.
* [pyenv](https://github.com/pyenv/pyenv)
* [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)
* [conda](https://docs.conda.io/projects/conda/en/latest/index.html)
* [cookiecutter](https://github.com/audreyr/cookiecutter)
* [git](https://git-scm.com)
* [GithubCLI](https://cli.github.com)
Once installed you can use the following code to get the latest release.
```bash
repo='https://github.com/drearondov/rocketLauncher'
# Find the latest release.
latest=$(git ls-remote --tags --refs $repo | # Fetch remote tags.
sort -t '/' -k 3 -V | # Sort them by version.
tail -n 1 | # Take the latest one.
awk -F / '{print $3}') # Return only the tag.
# Craft the URL for the release asset.
version=$(echo $latest | tr -d 'v') # Remove the leading v.
wheel="rocket_launcher-${version}-py3-none-any.whl"
release="${repo}/releases/download/${latest}/${wheel}"
# Install the release.
pip install $release
```
## Usage
The available commands are:
* `rocketlauncher init`: Configures the projects directory and logs in to Github
* `rocketlauncher new`: Creates a new project and runs a cookiecutter inside
* `rocketlauncher push`: Creates local repository and pushes to Github
* `rocketlauncher config`: Allows the creation of a configuration file and edit/set defaults
* `rocketlauncher cookiecutters`: Add/ view available cookiecutters
## Credits
This package was created with Cookiecutter and the [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage) project template.