Skip to main content

EasyPack: Build, distribute and deploy modules easily.

A very simple and powerful single module packaging tool.

Create a new easy pack project

On the project folder run:

python -m easy_pack.scaffold my_package -module_name my_module -resources_file -mit_license

This will generate the following tree:

project_folder 
|-- module_info.txt    # module info file
|-- my_module          # module folder
|   |-- files          # additional files folder
|   |   |-- ..         # place any file here and it will be packed with the module
|   |-- __init__.py    # module file 
|   |-- resources.py   # helper class to access the additional files once the moude is installed 
|
|-- resources
    |-- license.txt    # license file (txt format)
    |-- readme.md      # readme (mark-down format)
   

The module_info.txt file

To customize your module, edit this file to match your code.

Module versioning:

Three integers (major, minor, build) uniquely identifying a specific build. The system will automatically increment the build number in each build. Minor and major values should be adjusted manually.

Module name:

String containing the name of the module

Author:

String containing the name of the author (your name)

Author email:

String containing the email of the author (your email)

Package description:

String containing a brief description of your package

Required packages:

List of strings with the packages your package is dependent on (ie. ['easy-pack', 'matplotlib', 'numpy']).

Package url:

String containing the url of your project, usually a github repository (ie. 'https://github.com/germanespinosa/easy-pack').

License type:

String containing a string with the license type (ie. "MIT").

License file:

String containing the relative path (from the module folder) to the license file.

Readme file:

String containing the relative path (from the module folder) to the readme file.

Package name:

String containing the name of your package

Module description:

String containing a brief description of your module

Building the package:

On the project folder run:

python -m easy_pack.build 

This will generate a folder python-build with the following tree:

python-build
|-- my_module-version                    # build folder
|   |-- dist
|   |   |-- my_package-version.tar.gz    # package
|   |-- my_module                        # unpacked files
|   |   |-- files                        # additional files folder 
|   |   |   |-- __init__.py              
|   |   |   |-- resources.py  
|   |-- my_module.egg-info               # supporting files
|   |   |-- dependency_links.txt  
|   |   |-- not-zip-safe
|   |   |-- PKG-INFO  
|   |   |-- requires.txt  
|   |   |-- SOURCES.txt  
|   |   |-- top_level.txt  
|-- MANIFEST.in                          # manifest file
|-- README.md                            # readme file
|-- setup.py                             # setup

Installing your package locally using pip

From the build folder run:

pip install .

Installing your package locally using Easy-Pack build tool

You can install a package after build using the install parameter:

python -m easy_pack.build -install 

Uploading your package to pypi using Twine

To upload your package to pypi you will need a (https://pypi.org/) account. from the build folder run:

python -m twine upload dist/*

you will be asked username and password, the password value is a token generated on the pypi website.

Uploading your package to pypi using Easy-Pack build tool

You can upload a package after build using the upload parameter:

python -m easy_pack.build -upload -user [USERNAME] -password [TOKEN] 

Testing your package

From any computer with pip installed run:

pip install [package_name]

Once the installation is finished, open python and try importing your module:

import [module_name] 

You are all done


Package created with Easy-pack

Metadata

Release files for easy-pack 1.0.137

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for easy-pack 1.0.137
File Size Uploaded Provenance Actions
easy-pack-1.0.137.tar.gz 17.7 kB Without provenance Details for easy-pack-1.0.137.tar.gz

Release files / easy-pack-1.0.137.tar.gz

Download URL easy-pack-1.0.137.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
355594c7e6045e6d2a545744516b727d6a21eb4eefb0c4655e280e8d9ac9302e
BLAKE2b-256 checksum
How to use checksums
f7c076d181fb6311c176b3d0aecc934221d4282f93c4aab374aed6ca5c6fe295
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Security for easy-pack 1.0.137

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page