Sign inSign up

lucascordova/dataeng

By lucascordova

•Updated 7 months ago

Image
0

1.8K

lucascordova/dataeng repository overview

⁠Data Engineering Toolbox

A ready-to-run Docker image with CLI tools for data engineering, ETL, and data science. Uses Ubuntu with zsh, and runs as user dataeng (password dataeng) in /home/dataeng.


⁠How to run

Interactive shell (default):

docker pull lucascordova/dataeng
docker run -it --rm lucascordova/dataeng

With a directory mounted (e.g. project or data folder):

docker run -it --rm -v /path/on/host:/home/dataeng/work lucascordova/dataeng

One-off command (e.g. run jq on a file):

docker run --rm -v /path/on/host:/data lucascordova/dataeng jq '.' /data/file.json

Use your own .zshrc by mounting a directory and pointing the container at it:

docker run -it --rm \
  -v /path/on/host:/mnt/data \
  -e HOST_ZSHRC=/mnt/data/.zshrc \
  lucascordova/dataeng

⁠Tools included

⁠JSON & structured data
ToolDescription
jqJSON processor for the shell: query, filter, and transform JSON.
gronFlatten JSON into discrete assignments so you can grep and reason line-by-line.
fxInteractive JSON viewer and processor (Node).
xml2json-commandConvert XML to JSON from the command line (Node).
json2csvConvert JSON (including nested) to CSV.
⁠CSV & tabular data
ToolDescription
xsvFast CSV toolkit: slice, split, select, stats, join, and more.
csvkitSuite of CSV tools: in2csv, csvlook, csvstat, csvsql, csvjoin, etc.
csvquoteWraps CSV so tools that don’t understand quoted fields (e.g. cut, sort) work correctly.
⁠XML & HTML
ToolDescription
xmlstarletQuery, transform, and edit XML/HTML from the shell.
pupParse HTML and extract content using CSS selectors in the shell.
⁠Shell & parallelism
ToolDescription
GNU parallelRun many jobs in parallel; great for looping over files or lines.
tldrShort, example-focused “man” pages for common commands.
batcat with syntax highlighting and optional paging.
⁠Languages & runtimes
ToolDescription
Python 3With pip, venv, and pipx. Default python points to python3.
pydata-venvPre-created venv with numpy and pandas; auto-activated via /etc/profile.d/pydata-venv.sh.
pybase-venvVenv with vowpalwabbit (fast online ML) and cssselect.
sample-streamReservoir sampling for streams (installed via pipx).
RR with tidyverse, janitor, docopt, remotes, and devout/ANSI packages.
Node.js & npmFor JS tooling; fx and xml2json-command installed globally.
Rustrustc and cargo for building Rust tools.
⁠Data science & ML
ToolDescription
vowpalwabbitFast online learning (in pybase-venv).
tapkeeDimensionality reduction (e.g. PCA, t-SNE, LLE).
numpy / pandasIn pydata-venv for quick analysis.
⁠AWS & DevOps
ToolDescription
AWS CLIOfficial AWS command-line interface (v2).
⁠Utilities
ToolDescription
dsutilsCollection of small data-science CLI utilities (from dsutils⁠).
curlTransfer data from or to a server (HTTP, HTTPS, FTP, etc.).
wgetDownload files from the web; supports HTTP, HTTPS, and FTP, including recursive downloads.
gitVersion control.
makeBuild automation.
htopInteractive process viewer.
treeDirectory listing as a tree.
nanoSimple editor.
pbcopy / pbpasteClipboard (backed by xclip) for copy/paste from the container.
cowsayASCII “cow” says your message.
⁠Build tools (for compiling things inside the image)

cmake, g++, build-essential, and common dev libraries (e.g. Boost, zlib, libcurl, libzip, Eigen) are installed so you can build C/C++ projects.


⁠Image details

  • Base: ubuntu:latest
  • User: dataeng (password dataeng), with passwordless sudo
  • Shell: zsh (with syntax highlighting)
  • Working directory: /home/dataeng
  • Platforms: linux/amd64, linux/arm64

For source and build instructions, see the GitHub repo⁠.

Tag summary

Content type

Image

Digest

sha256:d5971a8c7…

Size

804.4 MB

Last updated

7 months ago

docker pull lucascordova/dataeng