No project description provided
Project description
My PyPI Package Project
A sample project to create a Python package and publish it to PyPI. https://pypi.tw.martin98.com/project/hanbin-hello/
Credit to https://www.youtube.com/watch?v=Kz6IlDCyOUY
Setting Up
To set up your Python environment for publishing your own package, you will need to install setuptools, wheel, and twine.
You can install these tools using pip:
pip install -r requirements.txt
This provides a cleaner and more straightforward way for users to interact with your package, as they can simply use from hanbin_hello import hello instead of navigating through deeper module structures.
from hanbin_hello import hello
In this example, replace 'your-package-name' with the actual name of your package. The version field should be set to the desired version number of your package.
Additionally, you can specify any dependencies your package requires in the install_requires list. 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 Package
To 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:
python setup.py sdist bdist_wheel
This 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 Testing
Before 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.
pip install dist/xxx.whl
Replace 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...
from hanbin_hello import hello
hello()
By testing your package locally, you can identify and fix any issues before publishing it to PyPI.
Publish to PyPI
To publish your Python package to PyPI, you can use the twine tool.
twine upload dist/*
You will be prompted for your PyPI credentials. Once uploaded, anyone can install your package using.
pip install hanbin_hello
Useful Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hanbin_hello-0.2.0.tar.gz.
File metadata
- Download URL: hanbin_hello-0.2.0.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89798a6ce57f6e94f995e41cd668ff7df464bdf8bc7a78c684f40af8d237059e
|
|
| MD5 |
10b1f5377c6430893098c7e22eb03c70
|
|
| BLAKE2b-256 |
9472f82169d82065aa60ad2d515932ed2cfa4bc6751afabf0ed6c76d8e03bf54
|
File details
Details for the file hanbin_hello-0.2.0-py3-none-any.whl.
File metadata
- Download URL: hanbin_hello-0.2.0-py3-none-any.whl
- Upload date:
- Size: 3.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
535711dcee8c2695cfef93b411eb8608ebf2bd257abe1478983b4589d450bb7c
|
|
| MD5 |
994b89e58e3a8b5a2aee9909d0ceafa7
|
|
| BLAKE2b-256 |
3145c3ad8bb7c2afdd77db40358671538cce75fd7d8eede0444289d6584ce1e7
|