This GitHub template repository can be used to create a new repository with the skeleton of a Python library, based on the python-lib cookiecutter.
Start here: https://github.com/simonw/python-lib-template-repository/generate
The name of your repository will be the name of the Python package that you publish to PyPI, so make sure that name is not taken already!
Add a one-line description of your repository, then click "Create repository from template".
Once created, your new repository will execute a GitHub Actions workflow that uses cookiecutter to rewrite the repository to the desired state. This make take 30 seconds or so.
You can see an example of a repository generated using this template here:
The test.yml
GitHub Actions workflow will run your tests automatically any time you push a change to the repo.
The publish.yml
Action runs when you create a new GitHub release. It can build and upload your package to PyPI.
For this to work you need to create an account on PyPI and configure your new GitHub repository as a "trusted publisher".
See Publishing your library as a package to PyPI for details.