Skip to main content

No project description provided

Project description

Dockipy

PyPI - Version PyPI - Python Version

Table of Contents


Installation

pip install dockipy

What is dockipy?

dockipy is your ticket to productivity paradise, a simple yet mighty wrapper around the Docker command line interface. It's the friend who says, "Don't worry about the nitty-gritty, I got you!" Just lean back and let dockipy work its magic, it will mount you project in a container seamlessly. If it doesn't break then everything should be fine.

And here's the cherry on top: with dockipy, you can dive into a Python virtual environment inside your container. It's like a containerception—codeception—whatever you want to call it! Run your code with the ease, all thanks to dockipy.

But wait, there's a catch! Before you sail into the dockipy, make sure you have Docker installed. And if you're planning to use NVIDIA GPUs, brace yourself! Docker GPU driver installation is a mess, dockipy won't hold your hand through that chaos—consider yourself warned!

How to Use dockipy

Ready to embark on your container adventure? Here's how dockipy can make your coding dreams come true:

Run Your Code: Use dockipy to run your code in a container inside a Python virtual environment within another container. It's like Inception, but for coding!

dockipy my_script.py

How to Use dockishell

Need to run an arbitrary command in a container? No problem! Just fire up dockishell and let the container magic begin.

dockishell nvidia-smi

How to Use dockibook

Want to unleash the power of Jupyter Notebooks in a container? Say no more! Use dockibook and open the link in your browser, colab or visual studio code.

dockibook .

Don't want to use Docker but still would like to use the configuration? No problem! Use envipy and envibook to run your code and notebooks in a virtual environment.

Since Windows is such a messy work with rawdogging your environment is totally okay.

envipy my_script.py
envibook .

Configure environment

Tired of Docker feeling like a high-maintenance diva? Set up your environment like a pro with docki.yaml. No more Docker dramas, just smooth sailing.

docki --init

docki.yaml

This file is used to specify the base image, system dependencies, and python dependencies for the Docker container. If the file does not exist, a template will be created in the project root using docki --init.

base_image: The base image for the Docker container. You can find images on Docker Hub.

system_dep: A list of system dependencies to install in the Docker container. Install with apt-get.

python_dep: A list of python dependencies to install in the Docker container or a path to a requirements.txt file.

base_image: nvidia/cuda:11.8.0-devel-ubuntu22.04
shm_size: 16G # shared memory size
tag: docki_image
system_dep:
    - python3
    - python3-pip
    - python3-dev
    - python3-venv
python_dep:
    - jupyter
notebook_token: docki
notebook_password: docki

or

base_image: ubuntu:latest
shm_size: 16G # shared memory size
tag: docki_image
system_dep:
    - python3
    - python3-pip
    - python3-dev
    - python3-venv
python_dep:
    file: ./requirements.txt
notebook_token: docki
notebook_password: docki

Is something went wrong?

You can stop or kill the container with the following commands. It will use the tag from the docki.yaml file to stop or kill the container.

dockikill
dockistop

But this is not happening often, right? 🤞

TODO

  • Add support Windows Notebooks
  • Add support for Docker GPU driver installation on WLS2
  • Add support for Mac. I don't have a Mac! Pls send donations to my onlyfans so that i can afford one!

License

dockipy is like that cool friend who always lets you borrow their stuff without any fuss. It's distributed under the terms of the apache-2.0 license. So go ahead, have some fun with it! 🎉

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dockipy-0.0.47.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dockipy-0.0.47-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file dockipy-0.0.47.tar.gz.

File metadata

  • Download URL: dockipy-0.0.47.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for dockipy-0.0.47.tar.gz
Algorithm Hash digest
SHA256 afb4a42f7469b5495204c02b0b1e44b4cae7d300cae08e14e6a184a6ffe691f6
MD5 c896d7b1863893d53d165dc289e7237b
BLAKE2b-256 40bd0dbb045fabf34c3f270217e979f1828676f1fce82de143e2f9f0e0a9f2e5

See more details on using hashes here.

File details

Details for the file dockipy-0.0.47-py3-none-any.whl.

File metadata

  • Download URL: dockipy-0.0.47-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for dockipy-0.0.47-py3-none-any.whl
Algorithm Hash digest
SHA256 94c07c83fb10c6a6f0bfc2b35582dc312b0f1987b13d59cbc7fa9f3afc8d0991
MD5 de9cab93cf559a926548e459e9f20730
BLAKE2b-256 52614950f7b8e8eab05f2a2f4a935abb842e443e1cd0983a0387680a2b724df1

See more details on using hashes here.

Supported by

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