# Monoplane
Monoplane is a tiny tool designed to help you run multiple processes in your local development environment. It is like a very stripped down docker compose for local shell commands. Especially useful for monorepos. Obviously, not for production.
## Using Monoplane
```bash
pip install monoplane
```
Create a `monoplane.yml` file in your project root:
```yaml
color_stderr: "[91m"
services:
- name: api
cwd: resources/api
command: skaffold dev
build: npm run generate
color: "[0;33m"
notes: http://localhost:30005
env:
- name: PORT
value: 30005
- name: console
cwd: resources/web_console
command: npm run dev
build: npm run build
color: "[0;36m"
notes: http://localhost:30001
```
Then run `monoplane` or `mp` in your project root. It will start all services in parallel.
Some useful commands (just press key while running):
- `r` - restart all services
- `s` - print status of all services
- `b` - execute all build commands
- `c` - clear screen
Notes added in the config file will be printed when you press `s`. Useful for adding links to your service endpoints to avoid remembering ports and typing them over and over again.
Raw data
{
"_id": null,
"home_page": "https://github.com/yegortokmakov/monoplane",
"name": "monoplane",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "monorepo,development,local",
"author": "Yegor Tokmakov",
"author_email": "yegor@tokmakov.biz",
"download_url": "https://files.pythonhosted.org/packages/1d/89/26725ebce8e7ff98bfe9cb5321e9be9fc04b43f38e4d7bc35f727107ee6a/monoplane-0.1.1.tar.gz",
"platform": null,
"description": "# Monoplane\n\nMonoplane is a tiny tool designed to help you run multiple processes in your local development environment. It is like a very stripped down docker compose for local shell commands. Especially useful for monorepos. Obviously, not for production.\n\n## Using Monoplane\n\n```bash\npip install monoplane\n```\n\nCreate a `monoplane.yml` file in your project root:\n\n```yaml\ncolor_stderr: \"[91m\"\n\nservices:\n - name: api\n cwd: resources/api\n command: skaffold dev\n build: npm run generate\n color: \"[0;33m\"\n notes: http://localhost:30005\n env:\n - name: PORT\n value: 30005\n\n - name: console\n cwd: resources/web_console\n command: npm run dev\n build: npm run build\n color: \"[0;36m\"\n notes: http://localhost:30001\n```\n\nThen run `monoplane` or `mp` in your project root. It will start all services in parallel.\n\nSome useful commands (just press key while running):\n\n- `r` - restart all services\n- `s` - print status of all services\n- `b` - execute all build commands\n- `c` - clear screen\n\nNotes added in the config file will be printed when you press `s`. Useful for adding links to your service endpoints to avoid remembering ports and typing them over and over again.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Monoplane is a tiny tool designed to help you run multiple processes in your local development environment. Especially useful for monorepos.",
"version": "0.1.1",
"project_urls": {
"Bug Tracker": "https://github.com/yegortokmakov/monoplane/issues",
"Homepage": "https://github.com/yegortokmakov/monoplane",
"Repository": "https://github.com/yegortokmakov/monoplane"
},
"split_keywords": [
"monorepo",
"development",
"local"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2fc4dec238b442bf6c7ff41b2112592905964727847cd0e4b560e95d2c777956",
"md5": "723fd7c135ada6a18fffce773b75f1c5",
"sha256": "ab258b06e38e667477ce694fb7c7b412b556175331105aced04777505361aaf7"
},
"downloads": -1,
"filename": "monoplane-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "723fd7c135ada6a18fffce773b75f1c5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 4500,
"upload_time": "2024-01-27T02:41:14",
"upload_time_iso_8601": "2024-01-27T02:41:14.029065Z",
"url": "https://files.pythonhosted.org/packages/2f/c4/dec238b442bf6c7ff41b2112592905964727847cd0e4b560e95d2c777956/monoplane-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1d8926725ebce8e7ff98bfe9cb5321e9be9fc04b43f38e4d7bc35f727107ee6a",
"md5": "3d8ddec32aa43a2604e9b38a7ee5975c",
"sha256": "1592ec88e83cb19f89ce812b6b1f27e93f44632a6925305e20f029e6603ce7e1"
},
"downloads": -1,
"filename": "monoplane-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "3d8ddec32aa43a2604e9b38a7ee5975c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 3748,
"upload_time": "2024-01-27T02:41:15",
"upload_time_iso_8601": "2024-01-27T02:41:15.274592Z",
"url": "https://files.pythonhosted.org/packages/1d/89/26725ebce8e7ff98bfe9cb5321e9be9fc04b43f38e4d7bc35f727107ee6a/monoplane-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-27 02:41:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yegortokmakov",
"github_project": "monoplane",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "monoplane"
}