Skip to content

[FEATURE] Add support to PIP/PyPI - Python #229

Closed
@guibranco

Description

@guibranco

Description

We need to create a Python package for this repository and publish it to PyPi to make it easier for developers to install and use it in their Python projects. Packaging the repository will also enhance the distribution, versioning, and accessibility of the code.

Why We Need This

  1. Easy Installation: Publishing the repository as a PyPi package allows users to install it via pip without needing to clone the repository or manage dependencies manually.
  2. Version Control: PyPi enables versioning, allowing developers to install specific versions of the package.
  3. Distribution: It makes it easier for other developers to discover and use the package in their own projects.

Steps to Proceed

Here are the steps to package and publish the repository to PyPi:

  1. Create setup.py: This file should include details like package name, version, description, dependencies, and more. Refer to this guide on setup.py for instructions.

  2. Generate the Distribution Package:

    • Ensure all required files like LICENSE and README.md are included.
    • Run the following commands to create the source distribution and wheel distribution:
      python setup.py sdist bdist_wheel
      Detailed instructions can be found here.
  3. Test the Package on TestPyPi:

    • Before publishing to the main PyPi, upload the package to TestPyPi to ensure everything works as expected:
      python -m twine upload --repository testpypi dist/*
      You can find more information about TestPyPi here.
  4. Publish to PyPi:

    • Once the package is verified on TestPyPi, upload it to the official PyPi repository:
      python -m twine upload dist/*
      Additional instructions on uploading to PyPi are available here.
  5. Add Badges: After publishing, update the repository's README with a PyPi badge to show the package status and ease future version management.

Tech notes

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    :octocat: github-actionsGitHub Actions for automation and CI/CDenhancementA enhancement to the projectgitautoGitAuto label to trigger the app in a issue.good first issueA issue for someone self assign and help me =DhacktoberfestParticipation in the Hacktoberfest eventhelp wantedFeel free to take this issue for you and help me!packagesPublishing packagespythonPyhton📝 documentationTasks related to writing or updating documentation📦 dependenciesDependencies

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions