René's URL Explorer Experiment


Title: What Are Python Wheels and Why Should You Care? – Real Python

Open Graph Title: What Are Python Wheels and Why Should You Care? – Real Python

Description: In this tutorial, you'll learn what Python wheels are and why you should care as both a developer and end user of Python packages. You'll see how the wheel format has gained momentum over the last decade and how it has made the package installation process faster and more stable.

Open Graph Description: In this tutorial, you'll learn what Python wheels are and why you should care as both a developer and end user of Python packages. You'll see how the wheel format has gained momentum over the last decade and how it has made the package installation process faster and more stable.

Mail addresses
?subject=Python article for you&body=What Are Python Wheels and Why Should You Care? on Real Python https://realpython.com/python-wheels/

Opengraph URL: https://realpython.com/python-wheels/

X: @realpython

direct link

Domain: realpython.com


Hey, it has json ld scripts:
{
  "@context": "http://schema.org",
  "@type": "Article",
  "headline": "What Are Python Wheels and Why Should You Care?",
  "image": {
    "@type": "ImageObject",
    "url": "https://files.realpython.com/media/What-are-Python-Wheels-and-Why-Should-You-Care_Watermarked.22246cad13be.jpg",
    "width": 1920,
    "height": 1080
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://realpython.com/python-wheels/",
    "lastReviewed": "2023-01-25",
    "author": {
      "@type": "Person",
      "name": "Brad Solomon",
      "image": "https://realpython.com/cdn-cgi/image/width=1188,height=1188,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Screen_Shot_2021-09-28_at_3.13.21_PM.3310c56e90bd.jpg",
      "url": "https://realpython.com/team/bsolomon/",
      "affiliation": {
        "@type": "Organization",
        "@id": "https://realpython.com/#organization",
        "name": "Real Python",
        "url": "https://realpython.com",
        "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
      }
    },
    "reviewedBy": [
      {
        "@type": "Person",
        "name": "Aldren Santos",
        "image": "https://realpython.com/cdn-cgi/image/width=500,height=500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Aldren_Santos_Real_Python.6b0861d8b841.png",
        "url": "https://realpython.com/team/asantos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Jon Fincher",
        "image": "https://realpython.com/cdn-cgi/image/width=336,height=336,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Running_headshot.b3e2d17c6828.jpg",
        "url": "https://realpython.com/team/jfincher/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Joanna Jablonski",
        "image": "https://realpython.com/cdn-cgi/image/width=800,height=800,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/jjablonksi-avatar.e37c4f83308e.jpg",
        "url": "https://realpython.com/team/jjablonski/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Jacob Schmitt",
        "image": "https://realpython.com/cdn-cgi/image/width=400,height=400,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/profile-small_js.2f4d0d8da1ca.jpg",
        "url": "https://realpython.com/team/jschmitt/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      }
    ]
  },
  "datePublished": "2020-08-05T14:00:00+00:00",
  "dateModified": "2023-01-25T10:44:56.546411+00:00",
  "publisher": {
    "@type": "Organization",
    "@id": "https://realpython.com/#organization",
    "name": "Real Python",
    "url": "https://realpython.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png",
      "width": 512,
      "height": 512
    },
    "description": "Real Python is a leading provider of online Python education and one of the largest language-specific online communities for software developers. It publishes high-quality learning resources, such as tutorials, books, and courses to an audience of millions of developers, data scientists, and machine learning engineers each month.",
    "slogan": "Become a Python Expert",
    "email": "info@realpython.com",
    "sameAs": [
      "https://github.com/realpython",
      "https://www.youtube.com/realpython",
      "https://twitter.com/realpython",
      "https://x.com/realpython",
      "https://www.linkedin.com/company/realpython-com/",
      "https://www.facebook.com/learnrealpython",
      "https://www.instagram.com/realpython",
      "https://www.tiktok.com/@realpython.com"
    ]
  },
  "author": {
    "@type": "Person",
    "name": "Brad Solomon",
    "image": "https://realpython.com/cdn-cgi/image/width=1188,height=1188,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Screen_Shot_2021-09-28_at_3.13.21_PM.3310c56e90bd.jpg",
    "url": "https://realpython.com/team/bsolomon/",
    "affiliation": {
      "@type": "Organization",
      "@id": "https://realpython.com/#organization",
      "name": "Real Python",
      "url": "https://realpython.com",
      "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
    }
  },
  "description": "In this tutorial, you'll learn what Python wheels are and why you should care as both a developer and end user of Python packages. You'll see how the wheel format has gained momentum over the last decade and how it has made the package installation process faster and more stable."
}

authorReal Python
twitter:cardsummary_large_image
twitter:imagehttps://files.realpython.com/media/What-are-Python-Wheels-and-Why-Should-You-Care_Watermarked.22246cad13be.jpg
og:imagehttps://files.realpython.com/media/What-are-Python-Wheels-and-Why-Should-You-Care_Watermarked.22246cad13be.jpg
twitter:creator@realpython
og:typearticle

Links:

https://realpython.com/
Start Herehttps://realpython.com/start-here/
Learn Python https://realpython.com/python-wheels/
Python Tutorials →In-depth articles and video courseshttps://realpython.com/search?kind=article&kind=course&order=newest
Learning Paths →Guided study plans for accelerated learninghttps://realpython.com/learning-paths/
Quizzes & Exercises →Check your learning progresshttps://realpython.com/quizzes/
Browse Topics →Focus on a specific area or skill levelhttps://realpython.com/tutorials/all/
Community Chat →Learn with other Pythonistashttps://realpython.com/community/
Office Hours →Live Q&A calls with Python expertshttps://realpython.com/office-hours/
Podcast →Hear what’s new in the world of Pythonhttps://realpython.com/podcasts/rpp/
Books →Round out your knowledge and learn offlinehttps://realpython.com/products/books/
Reference →Concise definitions for common Python termshttps://realpython.com/ref/
Code Mentor →BetaPersonalized code assistance & learning toolshttps://realpython.com/mentor/
Unlock All Content →https://realpython.com/account/join/
More https://realpython.com/python-wheels/
Learner Storieshttps://realpython.com/learner-stories/
Python Newsletterhttps://realpython.com/newsletter/
Python Job Boardhttps://www.pythonjobshq.com
Meet the Teamhttps://realpython.com/team/
Become a Tutorial Writerhttps://realpython.com/write-for-us/
Become a Video Instructorhttps://realpython.com/become-an-instructor/
Searchhttps://realpython.com/search
https://realpython.com/search
Joinhttps://realpython.com/account/join/
Sign‑Inhttps://realpython.com/account/login/?next=%2Fpython-wheels%2F
Browse Topicshttps://realpython.com/tutorials/all/
Guided Learning Pathshttps://realpython.com/learning-paths/
Basicshttps://realpython.com/search?level=basics
Intermediatehttps://realpython.com/search?level=intermediate
Advancedhttps://realpython.com/search?level=advanced
aihttps://realpython.com/tutorials/ai/
algorithmshttps://realpython.com/tutorials/algorithms/
apihttps://realpython.com/tutorials/api/
best-practiceshttps://realpython.com/tutorials/best-practices/
careerhttps://realpython.com/tutorials/career/
communityhttps://realpython.com/tutorials/community/
databaseshttps://realpython.com/tutorials/databases/
data-sciencehttps://realpython.com/tutorials/data-science/
data-structureshttps://realpython.com/tutorials/data-structures/
data-vizhttps://realpython.com/tutorials/data-viz/
devopshttps://realpython.com/tutorials/devops/
djangohttps://realpython.com/tutorials/django/
dockerhttps://realpython.com/tutorials/docker/
editorshttps://realpython.com/tutorials/editors/
flaskhttps://realpython.com/tutorials/flask/
front-endhttps://realpython.com/tutorials/front-end/
gamedevhttps://realpython.com/tutorials/gamedev/
guihttps://realpython.com/tutorials/gui/
machine-learninghttps://realpython.com/tutorials/machine-learning/
newshttps://realpython.com/tutorials/news/
numpyhttps://realpython.com/tutorials/numpy/
projectshttps://realpython.com/tutorials/projects/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
testinghttps://realpython.com/tutorials/testing/
toolshttps://realpython.com/tutorials/tools/
web-devhttps://realpython.com/tutorials/web-dev/
web-scrapinghttps://realpython.com/tutorials/web-scraping/
Table of Contentshttps://realpython.com/python-wheels/#toc
Setuphttps://realpython.com/python-wheels/#setup
Python Packaging Made Better: An Intro to Python Wheelshttps://realpython.com/python-wheels/#python-packaging-made-better-an-intro-to-python-wheels
Wheels Make Things Go Fasthttps://realpython.com/python-wheels/#wheels-make-things-go-fast
What Is a Python Wheel?https://realpython.com/python-wheels/#what-is-a-python-wheel
Advantages of Python Wheelshttps://realpython.com/python-wheels/#advantages-of-python-wheels
Telling pip What to Downloadhttps://realpython.com/python-wheels/#telling-pip-what-to-download
The manylinux Wheel Taghttps://realpython.com/python-wheels/#the-manylinux-wheel-tag
Security Considerations With Platform Wheelshttps://realpython.com/python-wheels/#security-considerations-with-platform-wheels
Calling All Developers: Build Your Wheelshttps://realpython.com/python-wheels/#calling-all-developers-build-your-wheels
Different Types of Wheelshttps://realpython.com/python-wheels/#different-types-of-wheels
Building a Pure-Python Wheelhttps://realpython.com/python-wheels/#building-a-pure-python-wheel
Specifying a Universal Wheelhttps://realpython.com/python-wheels/#specifying-a-universal-wheel
Building a Platform Wheel (macOS and Windows)https://realpython.com/python-wheels/#building-a-platform-wheel-macos-and-windows
Linux: Building manylinux Wheelshttps://realpython.com/python-wheels/#linux-building-manylinux-wheels
Bundling Shared Librarieshttps://realpython.com/python-wheels/#bundling-shared-libraries
Building Wheels in Continuous Integrationhttps://realpython.com/python-wheels/#building-wheels-in-continuous-integration
Making Sure Your Wheels Spin Righthttps://realpython.com/python-wheels/#making-sure-your-wheels-spin-right
Uploading Python Wheels to PyPIhttps://realpython.com/python-wheels/#uploading-python-wheels-to-pypi
Conclusionhttps://realpython.com/python-wheels/#conclusion
Resourceshttps://realpython.com/python-wheels/#resources
https://realpython.com/feedback/survey/article/python-wheels/liked/?from=article-sidebar
https://realpython.com/feedback/survey/article/python-wheels/disliked/?from=article-sidebar
Brad Solomonhttps://realpython.com/python-wheels/#author
https://realpython.com/python-wheels/#reader-comments
intermediatehttps://realpython.com/tutorials/intermediate/
devopshttps://realpython.com/tutorials/devops/
Setuphttps://realpython.com/python-wheels/#setup
Python Packaging Made Better: An Intro to Python Wheelshttps://realpython.com/python-wheels/#python-packaging-made-better-an-intro-to-python-wheels
Wheels Make Things Go Fasthttps://realpython.com/python-wheels/#wheels-make-things-go-fast
What Is a Python Wheel?https://realpython.com/python-wheels/#what-is-a-python-wheel
Advantages of Python Wheelshttps://realpython.com/python-wheels/#advantages-of-python-wheels
Telling pip What to Downloadhttps://realpython.com/python-wheels/#telling-pip-what-to-download
The manylinux Wheel Taghttps://realpython.com/python-wheels/#the-manylinux-wheel-tag
Security Considerations With Platform Wheelshttps://realpython.com/python-wheels/#security-considerations-with-platform-wheels
Calling All Developers: Build Your Wheelshttps://realpython.com/python-wheels/#calling-all-developers-build-your-wheels
Different Types of Wheelshttps://realpython.com/python-wheels/#different-types-of-wheels
Building a Pure-Python Wheelhttps://realpython.com/python-wheels/#building-a-pure-python-wheel
Specifying a Universal Wheelhttps://realpython.com/python-wheels/#specifying-a-universal-wheel
Building a Platform Wheel (macOS and Windows)https://realpython.com/python-wheels/#building-a-platform-wheel-macos-and-windows
Linux: Building manylinux Wheelshttps://realpython.com/python-wheels/#linux-building-manylinux-wheels
Bundling Shared Librarieshttps://realpython.com/python-wheels/#bundling-shared-libraries
Building Wheels in Continuous Integrationhttps://realpython.com/python-wheels/#building-wheels-in-continuous-integration
Making Sure Your Wheels Spin Righthttps://realpython.com/python-wheels/#making-sure-your-wheels-spin-right
Uploading Python Wheels to PyPIhttps://realpython.com/python-wheels/#uploading-python-wheels-to-pypi
Conclusionhttps://realpython.com/python-wheels/#conclusion
Resourceshttps://realpython.com/python-wheels/#resources
Remove adshttps://realpython.com/account/join/
wheelshttps://packaging.python.org/glossary/#term-wheel
Python packageshttps://realpython.com/python-modules-packages/
piphttps://realpython.com/what-is-pip/
Click here to get a Python Cheat Sheethttps://realpython.com/bonus/python-cheat-sheet-shortened/
https://realpython.com/python-wheels/#setup
virtual environmenthttps://realpython.com/python-virtual-environments-a-primer/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#python-packaging-made-better-an-intro-to-python-wheels
uWSGIhttps://github.com/unbit/uwsgi
gziphttps://www.gnu.org/software/gzip/manual/gzip.html
install the Python development headershttps://uwsgi-docs.readthedocs.io/en/latest/Install.html#installing-from-source
source distributionhttps://packaging.python.org/glossary/#term-source-distribution-or-sdist
Chttps://realpython.com/build-python-c-extension-module/
C++https://realpython.com/python-vs-cpp/
.egg-infohttps://setuptools.readthedocs.io/en/latest/formats.html
chardethttps://github.com/chardet/chardet/blob/master/docs/index.rst
provides only a source distributionhttps://pypi.org/project/uWSGI/2.0.18/#files
provides both a wheel and a source distributionhttps://pypi.org/project/chardet/3.0.4/#files
psycopg2https://pypi.org/project/psycopg2/2.8.5/#files
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#wheels-make-things-go-fast
cryptographyhttps://pypi.org/project/cryptography/
dependencieshttps://realpython.com/courses/managing-python-dependencies/
installation sectionhttps://cryptography.io/en/latest/installation/#building-cryptography-on-linux
https://realpython.com/python-wheels/#what-is-a-python-wheel
built distributionhttps://packaging.python.org/glossary/#term-built-distribution
cryptographyhttps://github.com/pyca/cryptography
PEP 440https://www.python.org/dev/peps/pep-0440/
Python taghttps://www.python.org/dev/peps/pep-0425/#python-tag
CPythonhttps://realpython.com/cpython-source-code-guide/
3.5https://docs.python.org/3/whatsnew/3.5.html
Jythonhttps://www.jython.org/
application binary interfacehttps://docs.python.org/3/c-api/stable.html
macOShttps://en.wikipedia.org/wiki/MacOS
ABIhttps://stackoverflow.com/a/2456882/7954504
downloads pagehttps://pypi.org/project/Jinja2/3.0.0a1/#files
dropping support for Python 2https://www.python.org/doc/sunset-python-2/
dropped Python 2 supporthttps://github.com/pallets/jinja/pull/1136
PyYAMLhttps://pypi.org/project/PyYAML/5.3.1/#files
NumPyhttps://pypi.org/project/numpy/1.18.4/#files
SciPyhttps://pypi.org/project/scipy/1.4.1/#files
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#advantages-of-python-wheels
Python Packaging Authorityhttps://www.pypa.io/en/latest/
Sourcehttps://packaging.python.org/overview/#python-binary-distributions
benefit both users and maintainershttps://pythonwheels.com/#advantages
extension moduleshttps://realpython.com/build-python-c-extension-module/
sixhttps://pypi.org/project/six/#files
one-third the sizehttps://pypi.org/project/six/#files
PEP 427https://www.python.org/dev/peps/pep-0427/#rationale
pandashttps://pypi.org/project/pandas/#files
https://realpython.com/python-wheels/#telling-pip-what-to-download
sixhttps://github.com/benjaminp/six
patch filehttps://en.wikipedia.org/wiki/Patch_%28Unix%29
version control systemhttps://realpython.com/python-git-github-intro/#version-control
yarlhttps://github.com/aio-libs/yarl/
multidicthttps://github.com/aio-libs/multidict
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#the-manylinux-wheel-tag
PEP 513https://www.python.org/dev/peps/pep-0513/
PEP 571https://www.python.org/dev/peps/pep-0571/
PEP 599https://www.python.org/dev/peps/pep-0599/
pandashttps://realpython.com/pandas-python-explore-dataset/
pandas downloads from PyPIhttps://pypi.org/project/pandas/1.0.3/#files
i686https://en.wikipedia.org/wiki/P6_(microarchitecture)
Docker imagehttps://www.python.org/dev/peps/pep-0513/#docker-image
assumed to be present by defaulthttps://www.python.org/dev/peps/pep-0513/#rationale
limited to more recent versionshttps://pip.pypa.io/en/stable/news/
PyPI wheels don’t work on Alpine Linuxhttps://pythonspeed.com/articles/alpine-docker-python/
BusyBoxhttps://hub.docker.com/_/busybox/
muslhttps://wiki.musl-libc.org/
glibchttps://www.gnu.org/software/libc/libc.html
https://realpython.com/python-wheels/#security-considerations-with-platform-wheels
potentially subject to version rothttps://github.com/asottile/no-manylinux#what-why
libfortranhttps://gcc.gnu.org/fortran/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#calling-all-developers-build-your-wheels
GitHubhttps://realpython.com/python-git-github-intro/
https://realpython.com/python-wheels/#different-types-of-wheels
variations of wheelshttps://packaging.python.org/guides/distributing-packages-using-setuptools/#wheels
Python Wheelshttps://pythonwheels.com/
https://realpython.com/python-wheels/#building-a-pure-python-wheel
project using setuptoolshttps://realpython.com/pypi-publish-python-package/
HTTPiehttps://github.com/jakubroztocil/httpie
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#specifying-a-universal-wheel
setup.cfghttps://docs.python.org/3/distutils/configfile.html
chardet setup configurationhttps://github.com/chardet/chardet/blob/master/setup.cfg
https://realpython.com/python-wheels/#building-a-platform-wheel-macos-and-windows
Binary distributionshttps://packaging.python.org/glossary/#term-binary-distribution
Rusthttps://github.com/ijl/orjson
xcodehttps://www.unix.com/man-page/OSX/1/xcode-select/
Microsoft Visual C++https://docs.microsoft.com/en-us/cpp/?view=vs-2019
Visual Studio downloads pagehttps://visualstudio.microsoft.com/downloads/
gcchttps://linux.die.net/man/1/gcc
JSONhttps://realpython.com/python-json/
bindingshttps://realpython.com/python-bindings-overview/
ujsonhttps://github.com/ultrajson/ultrajson/blob/master/python/ujson.c
Clanghttps://clang.llvm.org/
Python development header fileshttps://github.com/python/cpython/tree/master/Include
setup.pyhttps://github.com/ultrajson/ultrajson/blob/master/setup.py
fine-grained control over how the compiling and linking occurshttps://pythonextensionpatterns.readthedocs.io/en/latest/compiler_flags.html#setting-flags-automatically-in-setup-py
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#linux-building-manylinux-wheels
the manylinux wheel taghttps://realpython.com/python-wheels/#the-manylinux-wheel-tag
PEP 513https://www.python.org/dev/peps/pep-0513/
provides a set of Docker imageshttps://github.com/pypa/manylinux
CI/CDhttps://en.wikipedia.org/wiki/CI/CD
quay.io/pypa/manylinux1_x86_64https://quay.io/pypa/manylinux1_x86_64
quay.io/pypa/manylinux1_i686https://quay.io/pypa/manylinux1_i686
quay.io/pypa/manylinux2010_x86_64https://quay.io/pypa/manylinux2010_x86_64
quay.io/pypa/manylinux2010_i686https://quay.io/pypa/manylinux2010_i686
quay.io/pypa/manylinux2014_x86_64https://quay.io/pypa/manylinux2014_x86_64
quay.io/pypa/manylinux2014_i686https://quay.io/pypa/manylinux2014_i686
quay.io/pypa/manylinux2014_aarch64https://quay.io/pypa/manylinux2014_aarch64
quay.io/pypa/manylinux2014_ppc64lehttps://quay.io/pypa/manylinux2014_ppc64le
quay.io/pypa/manylinux2014_s390xhttps://quay.io/pypa/manylinux2014_s390x
python-manylinux-demohttps://github.com/pypa/python-manylinux-demo
Travis-CIhttps://travis-ci.org/
Dockerhttps://www.docker.com/get-started
Quay.iohttps://quay.io/
bind-mount a volumehttps://docs.docker.com/engine/reference/commandline/service_create/#add-bind-mounts-volumes-or-memory-filesystems
Python Wheelshttps://pythonwheels.com/
lxmlhttps://github.com/lxml/lxml/blob/master/tools/manylinux/build-wheels.sh
ultrajsonhttps://github.com/ultrajson/ultrajson/blob/master/.github/workflows/deploy-wheels.yml
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#bundling-shared-libraries
ATLAShttp://math-atlas.sourceforge.net/
GFortranhttps://gcc.gnu.org/fortran/
auditwheelhttps://github.com/pypa/auditwheel
delocatehttps://github.com/matthew-brett/delocate
pycld3https://github.com/bsolomon1124/pycld3
libprotobufhttps://github.com/protocolbuffers/protobuf
pycld3 macOS wheelhttps://pypi.org/project/pycld3/#files
setup.py tells them tohttps://docs.python.org/3/distutils/setupscript.html#describing-extension-modules
https://realpython.com/python-wheels/#building-wheels-in-continuous-integration
CI pipelinehttps://realpython.com/python-continuous-integration/
Appveyorhttps://www.appveyor.com/
Azure DevOpshttps://azure.microsoft.com/en-us/services/devops/
BitBucket Pipelineshttps://bitbucket.org/product/features/pipelines
Circle CIhttps://circleci.com/
GitLabhttps://about.gitlab.com/stages-devops-lifecycle/continuous-integration/
GitHub Actionshttps://github.com/features/actions
Jenkinshttps://www.jenkins.io/
Travis CIhttps://travis-ci.org/
YAML filehttps://realpython.com/python-yaml/
GitHub Actionshttps://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions
checkouthttps://github.com/actions/checkout
yarlhttps://github.com/aio-libs/yarl
msgpackhttps://github.com/msgpack/msgpack-python
markupsafehttps://github.com/pallets/markupsafe
cryptographyhttps://github.com/pyca/cryptography
cibuildwheelhttps://github.com/joerick/cibuildwheel
multibuildhttps://github.com/matthew-brett/multibuild
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#making-sure-your-wheels-spin-right
src layouthttps://blog.ionelmc.ro/2014/05/25/python-packaging/#the-structure
specify that properly in setup.pyhttps://github.com/jwodder/check-wheel-contents#w005--wheel-contains-common-toplevel-name-in-library
check-wheel-contentshttps://github.com/jwodder/check-wheel-contents
TestPyPIhttps://packaging.python.org/guides/using-testpypi/
https://realpython.com/python-wheels/#uploading-python-wheels-to-pypi
upload your Python packagehttps://realpython.com/pypi-publish-python-package/
twinehttps://pypi.org/project/twine/
https://realpython.com/python-wheels/#conclusion
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-wheels/#resources
Python Wheelshttps://pythonwheels.com/
PEP 425 - Compatibility Tags for Built Distributionshttps://www.python.org/dev/peps/pep-0425/
PEP 427 - The Wheel Binary Package Format 1.0https://www.python.org/dev/peps/pep-0427/
PEP 491 - The Wheel Binary Package Format 1.9https://www.python.org/dev/peps/pep-0491/
PEP 513 - A Platform Tag for Portable Linux Built Distributionshttps://www.python.org/dev/peps/pep-0513/
PEP 571 - The manylinux2010 Platform Taghttps://www.python.org/dev/peps/pep-0571/
PEP 599 - The manylinux2014 Platform Taghttps://www.python.org/dev/peps/pep-0599/
pypa/wheelhttps://github.com/pypa/wheel
pypa/auditwheelhttps://github.com/pypa/auditwheel
pypa/manylinuxhttps://github.com/pypa/manylinux
pypa/python-manylinux-demohttps://github.com/pypa/python-manylinux-demo
jwodder/check-wheel-contentshttps://github.com/jwodder/check-wheel-contents
matthew-brett/delocatehttps://github.com/matthew-brett/delocate
matthew-brett/multibuildhttps://github.com/matthew-brett/multibuild
joerick/cibuildwheelhttps://github.com/joerick/cibuildwheel
Generating Distribution Archiveshttps://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives
Creating a Source Distributionhttps://docs.python.org/3/distutils/sourcedist.html
Packaging your Projecthttps://packaging.python.org/guides/distributing-packages-using-setuptools/#packaging-your-project
An Overview of Packaging for Pythonhttps://packaging.python.org/overview/
https://realpython.com/feedback/survey/article/python-wheels/liked/?from=article-footer
https://realpython.com/feedback/survey/article/python-wheels/disliked/?from=article-footer
https://realpython.com/team/bsolomon/
» More about Bradhttps://realpython.com/team/bsolomon/
https://realpython.com/team/asantos/
Aldrenhttps://realpython.com/team/asantos/
https://realpython.com/team/jfincher/
Jonhttps://realpython.com/team/jfincher/
https://realpython.com/team/jjablonski/
Joannahttps://realpython.com/team/jjablonski/
https://realpython.com/team/jschmitt/
Jacobhttps://realpython.com/team/jschmitt/
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=python-wheels
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=python-wheels
https://realpython.com/feedback/survey/article/python-wheels/liked/?from=article-comments
https://realpython.com/feedback/survey/article/python-wheels/disliked/?from=article-comments
LinkedInhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Frealpython.com%2Fpython-wheels%2F
Twitterhttps://twitter.com/intent/tweet/?text=Interesting%20Python%20article%20on%20%40realpython%3A%20What%20Are%20Python%20Wheels%20and%20Why%20Should%20You%20Care%3F&url=https%3A%2F%2Frealpython.com%2Fpython-wheels%2F
Blueskyhttps://bsky.app/intent/compose?text=Interesting%20Python%20article%20on%20%40realpython.com%3A%20What%20Are%20Python%20Wheels%20and%20Why%20Should%20You%20Care%3F%20https%3A%2F%2Frealpython.com%2Fpython-wheels%2F
Facebookhttps://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frealpython.com%2Fpython-wheels%2F
Get tips for asking good questionshttps://realpython.com/python-beginner-tips/#tip-9-ask-good-questions
get answers to common questions in our support portalhttps://support.realpython.com
Real Python Community Chathttps://realpython.com/community/
“Office Hours” Live Q&A Sessionhttps://realpython.com/office-hours/
intermediatehttps://realpython.com/tutorials/intermediate/
devopshttps://realpython.com/tutorials/devops/
Managing Python Projects With uv: An All-in-One Solutionhttps://realpython.com/python-uv/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-wheels
How to Publish an Open-Source Python Package to PyPIhttps://realpython.com/pypi-publish-python-package/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-wheels
How to Manage Python Projects With pyproject.tomlhttps://realpython.com/python-pyproject-toml/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-wheels
Python Virtual Environments: A Primerhttps://realpython.com/python-virtual-environments-a-primer/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-wheels
Lazy Imports Land in Python and Other Python News for December 2025https://realpython.com/python-news-december-2025/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-wheels
https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-wheels%2F
Continue »https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-wheels%2F
Sign-Inhttps://realpython.com/account/login/?next=/python-wheels/
Start Herehttps://realpython.com/start-here/
Learning Resourceshttps://realpython.com/search
Code Mentorhttps://realpython.com/mentor/
Python Referencehttps://realpython.com/ref/
Python Cheat Sheethttps://realpython.com/cheatsheets/python/
Support Centerhttps://support.realpython.com/
Learning Pathshttps://realpython.com/learning-paths/
Quizzes & Exerciseshttps://realpython.com/quizzes/
Browse Topicshttps://realpython.com/tutorials/all/
Live Courseshttps://realpython.com/live/
Bookshttps://realpython.com/books/
Podcasthttps://realpython.com/podcasts/rpp/
Newsletterhttps://realpython.com/newsletter/
Community Chathttps://realpython.com/community/
Office Hourshttps://realpython.com/office-hours/
Learner Storieshttps://realpython.com/learner-stories/
Plans & Pricinghttps://realpython.com/account/join/
Team Planshttps://realpython.com/account/join-team/
For Businesshttps://realpython.com/account/join-team/inquiry/
For Schoolshttps://realpython.com/account/join-team/education-inquiry/
Reviewshttps://realpython.com/learner-stories/
About Ushttps://realpython.com/about/
Teamhttps://realpython.com/team/
Mission & Valueshttps://realpython.com/mission/
Editorial Guidelineshttps://realpython.com/editorial-guidelines/
Sponsorshipshttps://realpython.com/sponsorships/
Careershttps://realpython.workable.com
Press Kithttps://realpython.com/media-kit/
Merchhttps://realpython.com/merch
https://www.youtube.com/realpython
https://x.com/realpython
https://www.linkedin.com/company/realpython-com
https://www.facebook.com/LearnRealPython
https://github.com/realpython/
Privacy Policyhttps://realpython.com/privacy-policy/
Terms of Usehttps://realpython.com/terms/
Securityhttps://realpython.com/security/
Contacthttps://realpython.com/contact/
https://realpython.com/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover

Robots: max-image-preview:large


URLs of crawlers that visited me.