Skip to content

Add a basic set of docs. #303

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ tests/testbed/iOS
*.log
*.gz
*.DS_Store

_build
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
11 changes: 11 additions & 0 deletions docs/about/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _about:

==========================
About Python Apple Support
==========================

.. toctree::
:maxdepth: 1

versions
workings
55 changes: 55 additions & 0 deletions docs/about/versions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
==================
Supported Versions
==================

Python Versions
---------------

Python Apple Support currently supports Python versions 3.9 to 3.14, inclusive.

Operating Systems
-----------------

The binaries support x86_64 and arm64 for macOS; arm64 for iOS and appleTV devices; arm64_32 for watchOS devices; and arm64 for visionOS devices. It also supports device simulators on both x86_64 and M1 hardware, except for visionOS, for which x86_64 simulators are officially unsupported. This should enable the code to run on:

- macOS 11 (Big Sur) or later, on:

- MacBook (including MacBooks using Apple Silicon)
- iMac (including iMacs using Apple Silicon)
- Mac Mini (including Apple Silicon Mac minis)
- Mac Studio (all models)
- Mac Pro (all models)

- iOS 13.0 or later, on:

- iPhone (6s or later)
- iPad (5th gen or later)
- iPad Air (all models)
- iPad Mini (2 or later)
- iPad Pro (all models)
- iPod Touch (7th gen or later)

- tvOS 12.0 or later, on:

- Apple TV (4th gen or later)

- watchOS 4.0 or later, on:

- Apple Watch (4th gen or later)

- visionOS 2.0 or later, on:

- Apple Vision Pro

Historical support
------------------

The following Python versions were supported in the past, but are no longer
maintained:

* Python 2.7 (EOL January 2020)
* Python 3.4 (EOL March 2019)
* Python 3.5 (EOL February 2021)
* Python 3.6 (EOL December 2021)
* Python 3.7 (EOL September 2022)
* Python 3.8 (EOL October 2024)
18 changes: 18 additions & 0 deletions docs/about/workings.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
======================
How This Project Works
======================

Python Apple Support works by downloading, patching, and building a fat binary
of Python and selected pre-requisites, and packaging them as frameworks that can be
incorporated into an Xcode project. The binary modules in the Python standard
library are distributed as binaries that can be dynamically loaded at runtime.

The macOS package is a re-bundling of the official macOS binary, modified so that
it is relocatable, with the IDLE, Tkinter and turtle packages removed, and the
App Store compliance patch applied.

The iOS, tvOS, watchOS, and visionOS packages compiled by this project use the
official `PEP 730 <https://peps.python.org/pep-0730/>`__ code that is part of
Python 3.13 to provide iOS support; the relevant patches have been backported
to 3.9-3.12. Additional patches have been applied to add tvOS, watchOS, and
visionOS support.
Loading