Skip to main content

Streamline your web dev experience with stella.

Project description

stella

stella is a command line utility made for streamlining web development experience. It is able to reload server as well as browser on every file change.


📝 Table of Contents


⚡️ Installation

On Windows:

pip install stellapy

On Linux/MacOS:

pip3 install stellapy

Or if you're using pipx:

pipx install stellapy

💫 Motivation

I wanted a CLI that could reload the browser for static content as well as restart the server for the dynamic content. I tried to find such a tool, but didn't find one. So I made stella - that could reload backend as well as frontend code.


⚙️ How does stella work?

stella continuously watches for file changes in the project (html, css, js, py, rb, go, rs, php, java) and whenever a change is made, it kills the existing process and spawns a new process using subprocess. What about browser reload? It uses selenium to accomplish browser reload.


💡 Usage

This section briefly describes how to use the stella CLI.

config

stella config {options}

The config command is used to configure stella. The only option for v0.1.0 is browser. When stella is ran for the first time, it automcatically configures chrome as the browser to start and perform reload actions on. However, if you want stella to use firefox, execute:

stella config --browser=firefox

run

stella run COMMAND URL

The run command is used to start stella. It expects two arguments:

  1. command --> The shell command to execute on every file reload. Example: python3 app.py.

  2. url --> The URL to listen at the browser. Whenever a file is changed, stella will execute the shell command provided and then reload the browser. Example: localhost:5000.

Example:

stella run "python3 app.py" localhost:5000

While stella is running, you can input rs to restart the server and reload the browser again.

To stop stella, input ex. It will close the browser as well as kill the running process gracefully.

It is strongly recommended to not to stop stella abruptly by pressing Ctrl+C. This will keep the process running in the background, which might create problems for you.


⏪ Changelog

The changes made in the latest version of stella, v0.1.0 are:

  • Initial release

View CHANGELOG.md for more information.


🔖 Versioning

stella releases follow semantic versioning, every release is in the x.y.z form, where:

  • x is the MAJOR version and is incremented when a backwards incompatible change to stella is made.
  • y is the MINOR version and is incremented when a backwards compatible change to stella is made, like changing dependencies or adding a new function, method, or features.
  • z is the PATCH version and is incremented after making minor changes that don't affect stella's public API or dependencies, like fixing a bug.

📄 Licensing

License © 2021-Present Shravan Asati

This repository is licensed under the MIT license. See LICENSE for details.


👥 Contribution

Contribution is more than welcome. For more guidelines on contributing to stella, refer CONTRIBUTING.md.

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

stellapy-0.1.0.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

stellapy-0.1.0-py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 3

Supported by

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