Introduction
carefree-portable 📦️ aims to help you create portable (Python 🐍) projects of your codes / repo!
AI PC
AI PC is a 'new' concept that Intel proposed (see here). Since AI PC users often have zero knowledge about programming, it is important to provide them with a portable version of the AI project. This is where carefree-portable 📦️ comes in handy!
Highlights
- Portable: The generated portable project can be used directly without any extra requirements.
- For example, you can run a portable Python project even without Python installed!
 
 - Extensible: You can easily extend the functionality of 
carefree-portable📦️ by editing existing configurations, or adding brand newBlock/presetswithout much effort.- See the Stable Diffusion Web UI example on how we hijack the famous SD webui repo with a custom 
Blockand make it portable out-of-the-box. 
 - See the Stable Diffusion Web UI example on how we hijack the famous SD webui repo with a custom 
 - Integrable: You can integrate 
carefree-portable📦️ with (GitHub) CI to automatically generate a portable version of your project. 
Installation
carefree-portable 📦️ requires Python 3.8 or higher.
pip install carefree-portable
or
git clone https://github.com/carefree0910/carefree-portable.git
cd carefree-portable
pip install -e .
Usages
Detailed usages can be found in the CLI section.
Go to the root directory of your project first:
cd <path/to/your/project>
Generate Config
To generate a default config, run:
cfport config
This command will genearte a cfport.json file in the current directory. To make it work properly, you may need to edit the python_requirements field, which is a list of Python packages that your project depends on.
- Don't forget to add your own project to this field as well!
 
Packaging
After generating the config, you can package your project by running:
cfport package
PyTorch
Since nowadays many fancy projects are built on top of pytorch, we provided a preset config for pytorch projects, which can be generated by:
cfport config --preset torch-2.1.0-cu118
# or
cfport config --preset torch-2.1.0-cpu
This will generate a cfport.json with a pre-defined requirement in the python_requirements field.
You may notice that the pre-defined
requirementstarts with$pipinstead ofpip. This is important because it can tellcarefree-portable📦️ to use the correctpipexecutable when packaging your project.
Portable carefree-portable 📦️
You may also download the carefree-portable-*.zip from the assets of the latest Releases. The zip files contain the portable versions of carefree-portable 📦️ that can be used directly:
- On Linux / MacOS, you still need to have Python installed (to activate the 
venv), but no extra packages are required. - On Windows, you can even run it without Python installed!
 
If you are using this portable version, just make sure to:
cdinto the unzippedcarefree-portable-*folder.- Replace 
cfportwith.\run.bat(Windows) /bash run.sh(Linux / MacOS) in the following commands. - Replace 
pythonwith<path\to\portable\python>in other python commands. The portablepythonlocates at:- Windows: 
.\carefree-portable-*\python_embeddables\python-3.10.11-embed-amd64\python. - Linux / MacOS: 
./carefree-portable-*/python_venv/bin/python3. 
 - Windows: 
 
Here's a step by step guide on how to use the portable carefree-portable 📦️ to run the Stable Diffusion Web UI example:
- Download the 
carefree-portable-*.zipfrom the assets of the latest Releases. - Unzip the 
carefree-portable-*.zipto a folder (let's say,./carefree-portable-*), andcdinto it. - Download the 
run.pyfrom here, and put it into the unzipped folder (./carefree-portable-*). - Run the following command, and wait until the webui pops up:
 
.\python_embeddables\python-3.10.11-embed-amd64\python run.py
- After these steps, you'll obtain a portable version of the SD webui (locates at 
./carefree-portable-*/sd_webui_cfport), which can be used directly without any extra requirements!