Package: pixegami-hello
Example PyPI Package ProjectThis is a example project to demonstrate how to create a Python package and publish it to PyPI.Publishing your own Python package allows you to share your code with others and make it easily installable. In this tutorial, we will walk through the process of creating, distributing, and publishing a basic Python package.Setting UpTo set up your Python environment for publishing your own package, you will need to installsetuptools,wheel, andtwine.You can install these tools using pip:pipinstallsetuptoolswheeltwineNext, you will need to create the project structure for your package. Here is an example structure:pixegami-hello/
├── pixegami-hello/
│   ├── __init__.py
│   └── main.py
├── setup.py
└── README.mdIn the project directory, create a file calledmain.pywith the following content:# main.pydefhello():print("Hello from Pixegami!")In the same directory, create a file called__init__.pywith the following content:# __init__.pyfrom.mainimporthelloThe__init__.pyfile in a Python package serves two main roles: it tells Python that the directory should be treated as a package, and it controls what's made available when that package is imported.By importing thehellofunction into__init__.py, you're allowing users to directly access the function from the package without needing to specify the underlying module.This provides a cleaner and more straightforward way for users to interact with your package, as they can simply usefrom pixegami_hello import helloinstead of navigating through deeper module structures.frompixegami_helloimporthelloConfigure Setup.pyTo write the setup.py file, you will need to include information about your package such as its name, version, and dependencies. Here is an example of how to structure your setup.py file:fromsetuptoolsimportsetup,find_packagessetup(name='pixegami-hello',version='0.1',packages=find_packages(),install_requires=[# Add dependencies here.# e.g. 'numpy>=1.11.1'],)In this example, replace'your-package-name'with the actual name of your package. Theversionfield should be set to the desired version number of your package.Additionally, you can specify any dependencies your package requires in theinstall_requireslist. For example, if your package requires NumPy version 1.11.1 or higher, you can add'numpy>=1.11.1'to the list.It is also recommended to create a README.md file where you can describe your package. This file should be written in Markdown format and can provide information about the purpose of your package, how to install it, and any other relevant details.Build Your PackageTo build your package, you will need to use the setuptools and wheel libraries. These libraries allow you to generate distribution archives that can be installed using pip. You have already installed these from the first step of this tutorial.You can build your package by running the following command:pythonsetup.pysdistbdist_wheelThis command will generate two distribution archives: a source distribution (sdist) and a wheel distribution (bdist_wheel). These archives contain all the necessary files for installing your package.Local TestingBefore publishing your Python package, it's crucial to test it locally to ensure it functions correctly. Follow these steps to install and test your package using pip:Open your terminal or command prompt.Navigate to the directory where your package is located.Run the following command to install your package locally.pipinstalldist/pixegami_hello-0.1-py3-none-any.whlReplace the package name with the actual name and version of your package. Once the installation is complete, you can now test your package by importing it in a Python script or interactive session and using its functionality.# In a different file...frompixegami_helloimporthellohello()# Hello from Pixegami!By testing your package locally, you can identify and fix any issues before publishing it to PyPI.Add a CLI CommandIf you want to turn this package into a command line interface (or CLI application), you can also do that.In thesetup.pyfile, you can specify entry points for your package, which lets you a command name to any function inside your package. And running that command will run that function.setup(...entry_points={"console_scripts":["pixegami-hello = pixegami_hello:hello",],},)Publish to PyPITo publish your Python package to PyPI, you can use the twine tool.twineuploaddist/*You will be prompted for your PyPI credentials. Once uploaded, anyone can install your package using.pipinstallpixegami-helloUseful LinksPython Packaging User Guidesetuptools documentationwheel documentationtwine documentationPyPI