Skip to main content

generate fat wheel similar to fat jar in java

Project description

https://static.pepy.tech/personalized-badge/fat-wheel?period=month&units=international_system&left_color=black&right_color=orange&left_text=Downloads

Fat Wheel are basically wheels which include dependencies inside whl/tar/egg distribution similar in java we build a fat jar and run app from jar which have deps in inside the jar Fat Wheel try to solve to problems.

  1. you just build the fat-wheel and install and run it

  2. as dist have same deps inside when built and same deps install on use site

  3. share code and install deps when have no internet connection(which is not a problem today ;-))

Install

pip install fat-wheel

Usage

  1. BUILD FAT WHEEL

  • project_root_dir_path : required

  • pkg_name : required for fat wheel generation

  • version: optional/ default use setup.py version

fat <project_root_dir_path> --pkg_name <pkg.name> --version 1.0.0
<OR Shortcut>
fat <project_root_dir_path> -pn <pkg.name> --v 1.0.0
  • installation of fat-wheel cmd
    • pip install your-fat-wheel

    • install-<name-in-setup>

    • above cmd will install deps from local deps dir in your pkg

  • behind the scene for debugging
    • read fat-wheel.yaml to specify to files/folder to include <will add files/folder to include from .gitignore>

    • it will create project copy in build dir with dir name <project-name>-v<version>-<timestamp>

    • find fat wheel in dist/<version>/ folder

    • find deps folder in which contain all dowloaded deps and runner.py which install these deps

    • take a look at updated setup.py

  1. Build Options available

-pn PKG_NAME,
--pkg_name PKG_NAME
                      project pkg name (example|my.utils|my)
-v VERSION,
--version VERSION
                      set build version
-fb, --fat-build      create fat  source dist with all dependencies
-fw, --fat-wheel      build fat wheel with all dependencies

< --pkg_name, --version only work for fat option>

-b, --build           build source dist without dependencies
-w, --wheel           build wheel file without dependencies
-e, --egg             build egg file without dependencies

fat-wheel.yaml

include:
  - fat_wheel
  - setup.py
  - requirements.txt
  - doc
<sub folder also included>
<not supported below options>
pkg_name: fat_wheel
version: 1.2.2
build: wheel

not supported yet

  1. currently only support flat-layout means root pkg in project root dir

project-root-dir
 |
 |--pkg
 |   |--__init__.py
 |   |....
 |....
  1. fat egg file able to build error in install

  2. *still in development may or may not support it*

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

fat_wheel-1.5.5b0-py3-none-any.whl (13.5 kB view hashes)

Uploaded Python 3

Supported by

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