How to create a distribution file for your python scripts?

Here is the process to create a distribution file for your python scripts so that users can install the script on their machines. Just like the python modules that you install using pip3.

We will do that using the setup tools

Install setuptools

pipenv install -d setuptools

Note

We use -d since we only need the setuptool for development

Create a setup.py file, it contains many tools. Here I list some of the common ones.

from setuptools import setup,
setup(
    name="HelloWorld", # Name of your package
    version="0.1",
    author="Dariush Azimi", # your name in this case
    author_email="your email addr",
    licese="GPLv3+",
    packages=['packagename'],
    url="to your project repo at github", # an example
    install_requires =[ #tell setup tools what packages are required
        'click', # or what ever the packages your script needs
        'boto3'
    ],
    entry_points='''
    [console_scripts] # here we say we have a console script
    awsarmy=awsarmy.awsarmy:cli # here it is called awsarmy, will look inside the directory called awsarmy,and next will look for the module called .awsrmy and then will look for a function called
    cli
    ''',
)
  • Next do the following pipenv run python setup.py bdist_wheel this will create an output file in the dist folder that you can use to install with pip3 command

  • to install it pip3 install https://github.com/dariushazimi/aws-snapshot-analyzer/blob/master/awsbutler/awsbutler_2018-2018_11_01_0.1-py3-none-any.whl

You can use the url to point to the location of the wheel file to install it.