#abstract_modules
Python Module Upload to PyPI
This utility script allows you to easily upload your Python module to the Python Package Index (PyPI) using Twine. It automates several steps of the packaging and distribution process, making it easier to share your module with the Python community.
Prerequisites
Before using this script, ensure you have the following prerequisites:
-
Python 3.x installed on your system
-
twine
, build
,abstract_utilities
,abstract_gui
and pexpect
packages installed. You can install them using pip
:
pip install twine build pexpect
Getting Started
-
Clone the repository or download the script file (upload_to_pypi.py
) to your local machine.
-
Navigate to the directory where your Python module is located using the command line.
-
Optional: If you use a virtual environment, activate it before proceeding.
Usage
Run the script upload_to_pypi.py
with Python 3:
python3 upload_to_pypi.py
The script will guide you through the following steps:
-
Selecting Module Directory: You will be prompted to pick the module directory using a GUI window. This directory should contain the necessary files, including the setup.py
file.
-
Updating Version Number: If the version number in the setup.py
file matches an existing version in the dist
directory, you will be asked to enter a new version number.
-
Building the Module: The script will build your module using the setup.py
script. The distribution files (wheels) will be placed in the dist
directory.
-
Uploading to PyPI: The script will prompt you to enter your PyPI username and password securely. It will then upload the module to PyPI using Twine.
-
Installing the Module: After successful upload, you will have the option to install the module using pip for testing purposes.
Example
$ python3 upload_to_pypi.py
Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to create an issue or submit a pull request.
License
This utility script is open-source and distributed under the MIT License.
Acknowledgments
This script utilizes the following packages and resources:
- pexpect - For automating interactive command-line applications.
- Twine - For securely uploading Python packages to PyPI.
- Python - The Python programming language.
Disclaimer
This script is provided "as is" without warranty of any kind. Use it at your own risk.
Support
If you encounter any issues or need assistance, please create an issue or seek support in the Python community forums.
Thank you for using our utility script! If you have any feedback or questions, don't hesitate to contact us. Happy packaging and distributing!