-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.html
More file actions
128 lines (116 loc) · 7.91 KB
/
Copy pathindex.html
File metadata and controls
128 lines (116 loc) · 7.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!doctype html>
<html lang="en" ng-app="app">
<head>
<meta charset="utf-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body{margin-top:15px;}
object {margin: 0.5rem;}
a.btn, h1{text-align: center;}
a.btn:last-child, canvas, body{margin-bottom:15px;}
a.btn {border-bottom-width: 0; border-radius: 0; width: 100%}
a.btn:first-child{border-top-left-radius: 5px; border-top-right-radius: 5px;}
a.btn:last-child{border-bottom-width: 1px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px;}
pre {text-align: left;}
footer{text-align: center;}
.btn-pure-py {
--bs-btn-bg: #90EE90;
--bs-btn-border-color: #90EE90;
--bs-btn-color: #000000;
--bs-btn-hover-bg: #A7F1A7;
--bs-btn-hover-border-color: #A7F1A7;
--bs-btn-hover-color: #000000;
}
.btn.btn-success::after { content: "✓"; }
.btn.btn-pure-py::after { content: "🐍"; }
.btn.btn-warning::after { content: "✗"; }
.preview {
background-color: var(--bs-btn-bg);
color: var(--bs-btn-color);
padding: 0.1em;
}
@media (prefers-color-scheme: dark) {
body {
color: #ccc;
background: black;
}
code, pre {
color: #ccc;
background: #222;
}
a {
color: #5bf;
}
a:hover,
a:hover div {
color: black;
background-color: #5bf;
outline: 0.05em solid #5bf;
}
}
</style>
<title>Mobile Wheels</title>
</head>
<body ng-controller="wheelCtrl">
<div class="container">
<div class="row">
<div class="col"></div>
<div class="col-sm-8">
<h1 id="wheels">Mobile Wheels</h1>
<h2 id="about-list">What is this list?</h2>
<p>This site shows the <a href="https://docs.python.org/3/using/android.html">Android</a> and <a href="https://docs.python.org/3/using/ios.html">iOS</a> support of the top 360 most-downloaded <i>binary</i> packages on <a href="https://pypi.org/">PyPI</a>, i.e., packages that need to be compiled for each architecture and operating system:</p>
<ul>
<li><span class="preview btn-success">Dark green</span> packages with a ✓ icon offer wheels compiled for Android or iOS.</li>
<li><span class="preview btn-pure-py">Light green</span> packages with a 🐍 icon offer pure Python wheels, but no wheels compiled for Android or iOS (yet!). The pure Python wheels will probably work on mobile, but may have lower performance.</li>
<li><span class="preview btn-warning">Orange</span> packages with a ✗ icon are not available for Android or iOS (yet!).</li>
<li>Packages that <i>only</i> offer pure Python wheels are not listed. These packages will probably work on mobile already.</li>
</ul>
<p>Packages that are known to be deprecated are not included (for example, pycrypto). Packages that can't be compiled for mobile platforms (e.g., packages depending on multiprocessing, Nvidia's CUDA framework, Intel's MKL API, or non-POSIX system APIs) are also excluded from this list. If your package is incorrectly listed, or you see any other problem with this page, please create an <a href="https://github.com/beeware/mobile-wheels/issues/">issue</a> or a <a href="https://github.com/beeware/mobile-wheels/pulls/">pull request</a>.</p>
<h2 id="creating-wheels">My package is orange. What can I do?</h2>
<p>The recommended way to build mobile-compatible wheels is to use <a href="https://cibuildwheel.pypa.io/en/stable/">cibuildwheel</a>. Despite the name, this tool is not limited to CI environments; it can be run locally on macOS and Linux machines. For more details, see the Android and iOS sections of the <a href="https://cibuildwheel.pypa.io/en/stable/platforms/">cibuildwheel documentation</a>.</p>
<h2 id="thanks">Thanks</h2>
<p>This is a derivative work of <a href="https://hugovk.github.io/free-threaded-wheels/">Free-Threaded Wheels</a> and <a href="https://pythonwheels.com/">Python Wheels</a>.
The top 360 list comes from <a href="https://hugovk.github.io/top-pypi-packages/">Top PyPI Packages</a>.</p>
</div>
<div class="col"></div>
</div>
<hr/>
<div class="row">
<div class="col-sm">
<h1>Android</h1>
<object data="android.svg" type="image/svg+xml" width="380" height="380" class="d-block mx-auto"></object>
<div class="list">
<span ng-hide="packages">This page requires Javascript to be enabled to display the list of packages.</span>
<a ng-repeat="package in packages" ng-href="https://pypi.org/project/{{ package.name }}" class="btn btn-{{ package.android }}">
<span ng-bind="package.name"></span>
</a>
</div>
</div>
<div class="col-sm">
<h1>iOS</h1>
<object data="ios.svg" type="image/svg+xml" width="380" height="380" class="d-block mx-auto"></object>
<div class="list">
<span ng-hide="packages">This page requires Javascript to be enabled to display the list of packages.</span>
<a ng-repeat="package in packages" ng-href="https://pypi.org/project/{{ package.name }}" class="btn btn-{{ package.ios }}">
<span ng-bind="package.name"></span>
</a>
</div>
</div>
</div>
<footer>
<p>Last updated <span ng-bind="last_update"></span>. (Updated daily.)</p>
</footer>
</div>
<a href="https://github.com/beeware/mobile-wheels" class="github-corner" aria-label="View source on GitHub"><svg width="80" class="github-icon" height="80" viewBox="0 0 250 250" fill="#fff" color="#151513" style="position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.3/angular.min.js"></script>
<script>
var app = angular.module('app', [])
.controller('wheelCtrl', function ($scope, $http){
$http.get('results.json').then(function(res){
$scope.last_update = res.data.last_update;
$scope.packages = res.data.data;
});
});
</script>
</body>
</html>