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 09:32:41 +12:00
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" >
2022-05-11 09:32:41 +12:00
< 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
2022-05-11 09:32:41 +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
2022-05-11 09:32:41 +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
2022-05-11 09:32:41 +12:00
```
2021-09-13 22:30:50 +12:00
and open [localhost:8020 ](http://localhost:8020 ) in browser.
2022-05-11 09:32:41 +12:00
## 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
2022-05-11 09:32:41 +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.
2022-05-11 09:32:41 +12:00
- [**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.
2022-05-11 09:32:41 +12:00
- 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
2022-05-11 09:32:41 +12:00
- 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 ).