Skip to main content

A cli to provision and manage local developer environments.

Project description

Actions Status Actions Status Actions Status Quality Gate Status CodeQL Codacy Badge PyPI version PyPI download month Linux macOS

Freshenv

freshenv is a command line application to provision and manage local developer environments. Build and develop your projects in completely isolated environments. Save, switch and restart your environments.

The Story

This is a solution to a problem I have always had. I like my system to be clean, minimal and structured. It gets quite tricky to manage multiple projects on my on machine, projects tend to gather and are placed everywhere. Overtime managing system wide dependencies becomes a problem. It is quite easy to mess up a system setting or to keep track of a package I wont need tomorrow. This is why I built freshenv. It is a command line application which helps developers in running and managing completely isolated developer environments locally. It fetches and lets you run environment flavours in the form of docker containers which are preconfigured with tools and packages developer needs everyday. Read about the usage below. I imagine it would help developers like me. I hope you like it.

Installation Linux

Install the freshenv python package from pypi. You must have docker and python3.6+ installed.

  pip install freshenv

I would recoomend using pipx instead of pip to install cli applications on you machine.

Installation MacOS

Install the freshenv python package from a self hosted homebrew tap. You must have docker and python3.6+ installed.

  brew tap raiyanyahya/freshenv
  brew install freshenv

I am trying to get freshenv on homebrew-core but I need more stars on the repository for them to accept my pull request. The self hosted tap is available on the repo raiyanyahya/homebrew-freshenv.

Usage

Usage: freshenv [OPTIONS] COMMAND [ARGS]...

  A cli to provision and manage local developer environments.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  check      Check system compatibility for running freshenv.
  provision  Provision a developer environment.
  remove     Remove a freshenv environment.
  start      Resume working in an environment.
  view       View local freshenv managed environments.

Commands and Options

provision

Usage: freshenv provision [OPTIONS]

  Provision a developer environment.

Options:
  -f, --flavour TEXT   The flavour of the environment.  [default: base]
  -c, --command TEXT   The command to execute at startup of environment.[default: zsh]
  -p, --ports INTEGER  List of ports to forward.  [default: 3000]
  -n, --name TEXT      Name of your environment.
  --help               Show this message and exit.

start

Usage: freshenv start [OPTIONS] NAME

  Resume working in an environment.

Options:
  --help  Show this message and exit.

remove

Usage: freshenv remove [OPTIONS] NAME

  Remove a freshenv environment.

Options:
  -f, --force      Force remove an environment.
  --help           Show this message and exit.

view

Usage: freshenv view [OPTIONS]

  View local freshenv managed environments.

Options:
  --help  Show this message and exit.

check

Usage: freshenv check [OPTIONS]

  Check system compatibility for running freshenv.

Options:
  --help  Show this message and exit.

License

MIT

Contributing

Contributions are always welcome!

See contributing.md for ways to get started. Please adhere to this project's code of conduct.

Contact

Contact me through email at raiyanyahyadeveloper@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freshenv-0.1.6.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

freshenv-0.1.6-py2.py3-none-any.whl (10.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file freshenv-0.1.6.tar.gz.

File metadata

  • Download URL: freshenv-0.1.6.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for freshenv-0.1.6.tar.gz
Algorithm Hash digest
SHA256 2f6ae0078a090ec2b109668bfdf00feae6527c47af01c2d8644c676f906cf6e5
MD5 92af0cb093bcc5e392641a3d98b4fce6
BLAKE2b-256 faa0c384564a6c8773c5aea6e574ba4ea650bff4d28f30a3c891c37f6d19d6db

See more details on using hashes here.

File details

Details for the file freshenv-0.1.6-py2.py3-none-any.whl.

File metadata

  • Download URL: freshenv-0.1.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for freshenv-0.1.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e56e8a4388cbdf30098d1f63288685012a1a757c1a036bdd4c5890df718d1362
MD5 7a8593f94afc3f39fc2b7b708bd24d4a
BLAKE2b-256 e8283d28f1b27be8f7bca53ce15ea86f9eadfe7377ad248d22d9d3bab8e40442

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page