alnoda-workspaces/workspaces/python-workspace/README.md

74 lines
3.7 KiB
Markdown
Raw Normal View History

2022-02-02 05:20:55 +13:00
<p align="center">
<img src="https://github.com/bluxmit/alnoda-workspaces/blob/main/img/Alnoda-white.svg" alt="Alnoda logo" width="150">
</p>
2021-09-13 22:30:50 +12:00
2022-02-02 05:20:55 +13:00
# Python workspace
2022-05-11 20:17:54 +12:00
Docker image for Python development environment. Includes Python, python tooling together with browser-based IDE, file browser,
static server, job scheduler.
2021-09-17 17:55:49 +12:00
<p align="center">
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/python-workspace/img/python-wid-collage-sm.jpg" alt="Collage" width="750">
2021-09-17 17:55:49 +12:00
</p>
2021-09-13 22:30:50 +12:00
## Why this images
1. If you need isolated dev environment where you can code and install packages and apps without affecting the base operating system.
2022-05-11 20:17:54 +12:00
2. If you need self-hosted remote development environment.
2022-05-12 10:42:51 +12:00
3. If you need to be just one command away from coding in Python.
2021-09-13 22:30:50 +12:00
## Start
2021-09-13 22:30:50 +12:00
```
2021-09-17 03:49:08 +12:00
docker run --name space-1 -d -p 8020-8035:8020-8035 alnoda/python-workspace
```
2021-09-13 22:30:50 +12:00
and open [localhost:8020](http://localhost:8020) in browser.
## Features
2021-09-17 03:49:08 +12:00
**Python tools:**
- [IPython and Notebooks](https://ipython.readthedocs.io/en/stable/)
- [Pdoc3](https://github.com/pdoc3/pdoc)
- [Pytest-html-reporter](https://github.com/prashanth-sams/pytest-html-reporter)
- [SnakeViz](https://jiffyclub.github.io/snakeviz/)
- [Vprof](https://github.com/nvdv/vprof)
- [Pyinstrument](https://pypi.org/project/pyinstrument/3.0.0b3/)
- [Flameprof](https://github.com/baverman/flameprof/)
- [Pylint-json2html](https://github.com/Exirel/pylint-json2html)
- [Pre-commit](https://pre-commit.com/)
- [Flake8](https://flake8.pycqa.org/en/latest/)
- [Poetry](https://python-poetry.org/)
- [Black](https://github.com/psf/black)
2021-09-13 22:30:50 +12:00
**Dev tools:**
2021-09-13 22:30:50 +12:00
- [**Eclipse Theia**](https://theia-ide.org/docs/) - open source version of popular Visual Studio Code IDE. Theia is trully open-source, has
2021-09-17 03:49:08 +12:00
VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time.
2021-09-13 22:30:50 +12:00
- [**Terminal**](https://github.com/tsl0922/ttyd) - secure browser-based terminal.
- [**FileBrowser**](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace
- [**Cronicle**](https://github.com/jhuckaby/Cronicle) - task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer.
- [**Static File Server**](https://github.com/vercel/serve) - view any static html sites as easy as if you do it on your local machine. Serve static websites easily.
- [**Ungit**](https://github.com/FredrikNoren/ungit) - rings user friendliness to git without sacrificing the versatility of it.
- [**MkDocs**](https://squidfunk.github.io/mkdocs-material/) - create awesome documentation for your project with only markdown.
2021-09-13 22:30:50 +12:00
- [**Midnight Commander**](https://midnight-commander.org/) - Feature rich visual file manager with internal text viewer and editor.
- [**Process Monitor**](https://htop.dev/) - Monitor running process and resource utilization.
- Quicklaunch UI with getting started tutorial
Image is built from **Ubuntu 20.4** with the additional CLI apps
2021-09-13 22:30:50 +12:00
- [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/)
- Python 3, Pip
- Node/nodeenv
- curl, wget, telnet, jq
- **Git:** git, git-flow, lazygit
- **File browsers:** mc, xplr
- **Text editors:** nano, vim, mcedit
- **System monitors:** ncdu, htop, glances, vizex
- **Process Control:** supervisord
- **Job scheduler:** cron
## Docs
See our guides on [**getting started**](docs/getting-started.md) and [**advanced features**](../ubuntu-workspace/docs/workspaces.md).