Change bin/projects.py to only write the first 10 projects to the readme
This commit is contained in:
@@ -129,8 +129,6 @@ These options can be specified in a pyproject.toml file, as well; see [configura
|
|||||||
Working examples
|
Working examples
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
<!--working-examples-start-->
|
|
||||||
|
|
||||||
Here are some repos that use cibuildwheel.
|
Here are some repos that use cibuildwheel.
|
||||||
|
|
||||||
<!-- START bin/projects.py -->
|
<!-- START bin/projects.py -->
|
||||||
@@ -149,56 +147,6 @@ Here are some repos that use cibuildwheel.
|
|||||||
| [websockets][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Library for building WebSocket servers and clients. Mostly written in Python, with a small C 'speedups' extension module. |
|
| [websockets][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Library for building WebSocket servers and clients. Mostly written in Python, with a small C 'speedups' extension module. |
|
||||||
| [pyzmq][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython and CFFI. |
|
| [pyzmq][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython and CFFI. |
|
||||||
| [aiortc][] | ![github icon][] | ![apple icon][] ![linux icon][] | WebRTC and ORTC implementation for Python using asyncio. |
|
| [aiortc][] | ![github icon][] | ![apple icon][] ![linux icon][] | WebRTC and ORTC implementation for Python using asyncio. |
|
||||||
| [River][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | 🌊 Online machine learning in Python |
|
|
||||||
| [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python |
|
|
||||||
| [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more |
|
|
||||||
| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. |
|
|
||||||
| [Dependency Injector][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Dependency injection framework for Python, uses Windows TravisCI |
|
|
||||||
| [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. |
|
|
||||||
| [PyTables][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python package to manage extremely large amounts of data |
|
|
||||||
| [ruptures][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Extensive Cython + NumPy [pyproject.toml](https://github.com/deepcharles/ruptures/blob/master/pyproject.toml) example. |
|
|
||||||
| [aioquic][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | QUIC and HTTP/3 implementation in Python |
|
|
||||||
| [pikepdf][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by qpdf |
|
|
||||||
| [google neuroglancer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | WebGL-based viewer for volumetric data |
|
|
||||||
| [DeepForest][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | An Efficient, Scalable and Optimized Python Framework for Deep Forest (2021.2.1) |
|
|
||||||
| [AutoPy][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
|
||||||
| [Parselmouth][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python interface to the Praat software package, using pybind11, C++17 and CMake, with the core Praat static library built only once and shared between wheels. |
|
|
||||||
| [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] ![appveyor icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson |
|
|
||||||
| [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS ¶ |
|
|
||||||
| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library |
|
|
||||||
| [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. |
|
|
||||||
| [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system |
|
|
||||||
| [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system |
|
|
||||||
| [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python |
|
|
||||||
| [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing |
|
|
||||||
| [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system |
|
|
||||||
| [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub |
|
|
||||||
| [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. |
|
|
||||||
| [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. |
|
|
||||||
| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 |
|
|
||||||
| [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. |
|
|
||||||
| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. |
|
|
||||||
| [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq |
|
|
||||||
| [Tokenizer][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support |
|
|
||||||
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
|
|
||||||
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
|
||||||
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
|
||||||
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
|
||||||
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
|
||||||
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
|
||||||
| [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. |
|
|
||||||
| [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms |
|
|
||||||
| [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy |
|
|
||||||
| [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy |
|
|
||||||
| [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. |
|
|
||||||
| [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. |
|
|
||||||
| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. |
|
|
||||||
| [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 |
|
|
||||||
| [Imagecodecs (fork)][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] | Over 20 external dependencies in compiled libraries, custom docker image, `libomp`, `openblas` and `install_name_tool` for macOS. |
|
|
||||||
| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies |
|
|
||||||
| [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. |
|
|
||||||
| [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. |
|
|
||||||
| [SiPM][] | ![github icon][] | ![apple icon][] ![linux icon][] | High performance library for SiPM detectors simulation using C++17, OpenMP and AVX2 intrinsics. |
|
|
||||||
|
|
||||||
[scikit-learn]: https://github.com/scikit-learn/scikit-learn
|
[scikit-learn]: https://github.com/scikit-learn/scikit-learn
|
||||||
[Matplotlib]: https://github.com/matplotlib/matplotlib
|
[Matplotlib]: https://github.com/matplotlib/matplotlib
|
||||||
@@ -210,56 +158,6 @@ Here are some repos that use cibuildwheel.
|
|||||||
[websockets]: https://github.com/aaugustin/websockets
|
[websockets]: https://github.com/aaugustin/websockets
|
||||||
[pyzmq]: https://github.com/zeromq/pyzmq
|
[pyzmq]: https://github.com/zeromq/pyzmq
|
||||||
[aiortc]: https://github.com/aiortc/aiortc
|
[aiortc]: https://github.com/aiortc/aiortc
|
||||||
[River]: https://github.com/online-ml/river
|
|
||||||
[coverage.py]: https://github.com/nedbat/coveragepy
|
|
||||||
[numexpr]: https://github.com/pydata/numexpr
|
|
||||||
[h5py]: https://github.com/h5py/h5py
|
|
||||||
[Dependency Injector]: https://github.com/ets-labs/python-dependency-injector
|
|
||||||
[PyAV]: https://github.com/PyAV-Org/PyAV
|
|
||||||
[PyTables]: https://github.com/PyTables/PyTables
|
|
||||||
[ruptures]: https://github.com/deepcharles/ruptures
|
|
||||||
[aioquic]: https://github.com/aiortc/aioquic
|
|
||||||
[pikepdf]: https://github.com/pikepdf/pikepdf
|
|
||||||
[google neuroglancer]: https://github.com/google/neuroglancer
|
|
||||||
[DeepForest]: https://github.com/LAMDA-NJU/Deep-Forest
|
|
||||||
[AutoPy]: https://github.com/autopilot-rs/autopy
|
|
||||||
[Parselmouth]: https://github.com/YannickJadoul/Parselmouth
|
|
||||||
[python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson
|
|
||||||
[Rtree]: https://github.com/Toblerity/rtree
|
|
||||||
[python-snappy]: https://github.com/andrix/python-snappy
|
|
||||||
[markupsafe]: https://github.com/pallets/markupsafe
|
|
||||||
[H3-py]: https://github.com/uber/h3-py
|
|
||||||
[pybind11 cmake_example]: https://github.com/pybind/cmake_example
|
|
||||||
[KDEpy]: https://github.com/tommyod/KDEpy
|
|
||||||
[cyvcf2]: https://github.com/brentp/cyvcf2
|
|
||||||
[pybind11 python_example]: https://github.com/pybind/python_example
|
|
||||||
[dd-trace-py]: https://github.com/DataDog/dd-trace-py
|
|
||||||
[sourmash]: https://github.com/dib-lab/sourmash
|
|
||||||
[time-machine]: https://github.com/adamchainz/time-machine
|
|
||||||
[iminuit]: https://github.com/scikit-hep/iminuit
|
|
||||||
[CTranslate2]: https://github.com/OpenNMT/CTranslate2
|
|
||||||
[matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile
|
|
||||||
[jq.py]: https://github.com/mwilliamson/jq.py
|
|
||||||
[Tokenizer]: https://github.com/OpenNMT/Tokenizer
|
|
||||||
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
|
|
||||||
[bx-python]: https://github.com/bxlab/bx-python
|
|
||||||
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
|
||||||
[iDynTree]: https://github.com/robotology/idyntree
|
|
||||||
[pybase64]: https://github.com/mayeut/pybase64
|
|
||||||
[TgCrypto]: https://github.com/pyrogram/tgcrypto
|
|
||||||
[etebase-py]: https://github.com/etesync/etebase-py
|
|
||||||
[fathon]: https://github.com/stfbnc/fathon
|
|
||||||
[pyjet]: https://github.com/scikit-hep/pyjet
|
|
||||||
[numpythia]: https://github.com/scikit-hep/numpythia
|
|
||||||
[polaroid]: https://github.com/daggy1234/polaroid
|
|
||||||
[ninja]: https://github.com/scikit-build/ninja-python-distributions
|
|
||||||
[GSD]: https://github.com/glotzerlab/gsd
|
|
||||||
[pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example
|
|
||||||
[Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build
|
|
||||||
[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext
|
|
||||||
[xmlstarlet]: https://github.com/dimitern/xmlstarlet
|
|
||||||
[CorrectionLib]: https://github.com/cms-nanoAOD/correctionlib
|
|
||||||
[SiPM]: https://github.com/EdoPro98/SimSiPM
|
|
||||||
|
|
||||||
[appveyor icon]: docs/data/readme_icons/appveyor.svg
|
[appveyor icon]: docs/data/readme_icons/appveyor.svg
|
||||||
[github icon]: docs/data/readme_icons/github.svg
|
[github icon]: docs/data/readme_icons/github.svg
|
||||||
@@ -271,74 +169,9 @@ Here are some repos that use cibuildwheel.
|
|||||||
[apple icon]: docs/data/readme_icons/apple.svg
|
[apple icon]: docs/data/readme_icons/apple.svg
|
||||||
[linux icon]: docs/data/readme_icons/linux.svg
|
[linux icon]: docs/data/readme_icons/linux.svg
|
||||||
|
|
||||||
<!-- scikit-learn: 46430, last pushed 0 days ago -->
|
|
||||||
<!-- Matplotlib: 13903, last pushed 0 days ago -->
|
|
||||||
<!-- MyPy: 11014, last pushed 0 days ago -->
|
|
||||||
<!-- psutil: 7484, last pushed 15 days ago -->
|
|
||||||
<!-- scikit-image: 4419, last pushed 0 days ago -->
|
|
||||||
<!-- twisted-iocpsupport: 4296, last pushed 0 days ago -->
|
|
||||||
<!-- cmake: 4013, last pushed 0 days ago -->
|
|
||||||
<!-- websockets: 3457, last pushed 19 days ago -->
|
|
||||||
<!-- pyzmq: 2848, last pushed 6 days ago -->
|
|
||||||
<!-- aiortc: 2470, last pushed 4 days ago -->
|
|
||||||
<!-- River: 1749, last pushed 3 days ago -->
|
|
||||||
<!-- coverage.py: 1646, last pushed 0 days ago -->
|
|
||||||
<!-- numexpr: 1605, last pushed 8 days ago -->
|
|
||||||
<!-- h5py: 1540, last pushed 3 days ago -->
|
|
||||||
<!-- Dependency Injector: 1447, last pushed 21 days ago -->
|
|
||||||
<!-- PyAV: 1295, last pushed 39 days ago -->
|
|
||||||
<!-- PyTables: 1042, last pushed 112 days ago -->
|
|
||||||
<!-- ruptures: 757, last pushed 9 days ago -->
|
|
||||||
<!-- aioquic: 708, last pushed 1 days ago -->
|
|
||||||
<!-- pikepdf: 683, last pushed 2 days ago -->
|
|
||||||
<!-- google neuroglancer: 661, last pushed 0 days ago -->
|
|
||||||
<!-- DeepForest: 629, last pushed 0 days ago -->
|
|
||||||
<!-- AutoPy: 550, last pushed 28 days ago -->
|
|
||||||
<!-- Parselmouth: 524, last pushed 22 days ago -->
|
|
||||||
<!-- python-rapidjson: 425, last pushed 20 days ago -->
|
|
||||||
<!-- Rtree: 413, last pushed 117 days ago -->
|
|
||||||
<!-- python-snappy: 405, last pushed 140 days ago -->
|
|
||||||
<!-- markupsafe: 404, last pushed 9 days ago -->
|
|
||||||
<!-- H3-py: 402, last pushed 33 days ago -->
|
|
||||||
<!-- pybind11 cmake_example: 289, last pushed 6 days ago -->
|
|
||||||
<!-- KDEpy: 285, last pushed 42 days ago -->
|
|
||||||
<!-- cyvcf2: 264, last pushed 77 days ago -->
|
|
||||||
<!-- pybind11 python_example: 258, last pushed 1 days ago -->
|
|
||||||
<!-- dd-trace-py: 256, last pushed 0 days ago -->
|
|
||||||
<!-- sourmash: 253, last pushed 0 days ago -->
|
|
||||||
<!-- time-machine: 187, last pushed 2 days ago -->
|
|
||||||
<!-- iminuit: 180, last pushed 11 days ago -->
|
|
||||||
<!-- CTranslate2: 177, last pushed 0 days ago -->
|
|
||||||
<!-- matrixprofile: 170, last pushed 20 days ago -->
|
|
||||||
<!-- jq.py: 162, last pushed 23 days ago -->
|
|
||||||
<!-- Tokenizer: 148, last pushed 20 days ago -->
|
|
||||||
<!-- PyGLM: 106, last pushed 65 days ago -->
|
|
||||||
<!-- bx-python: 103, last pushed 6 days ago -->
|
|
||||||
<!-- boost-histogram: 82, last pushed 3 days ago -->
|
|
||||||
<!-- iDynTree: 82, last pushed 0 days ago -->
|
|
||||||
<!-- pybase64: 68, last pushed 0 days ago -->
|
|
||||||
<!-- TgCrypto: 67, last pushed 46 days ago -->
|
|
||||||
<!-- etebase-py: 51, last pushed 192 days ago -->
|
|
||||||
<!-- fathon: 32, last pushed 43 days ago -->
|
|
||||||
<!-- pyjet: 29, last pushed 57 days ago -->
|
|
||||||
<!-- numpythia: 29, last pushed 6 days ago -->
|
|
||||||
<!-- polaroid: 19, last pushed 17 days ago -->
|
|
||||||
<!-- ninja: 19, last pushed 0 days ago -->
|
|
||||||
<!-- GSD: 16, last pushed 14 days ago -->
|
|
||||||
<!-- pybind11 scikit_build_example: 14, last pushed 6 days ago -->
|
|
||||||
<!-- Imagecodecs (fork): 11, last pushed 20 days ago -->
|
|
||||||
<!-- pyinstrument_cext: 10, last pushed 15 days ago -->
|
|
||||||
<!-- xmlstarlet: 7, last pushed 3 days ago -->
|
|
||||||
<!-- CorrectionLib: 6, last pushed 23 days ago -->
|
|
||||||
<!-- SiPM: 4, last pushed 6 days ago -->
|
|
||||||
|
|
||||||
<!-- END bin/projects.py -->
|
<!-- END bin/projects.py -->
|
||||||
|
|
||||||
> Add your repo here! Let us know on [GitHub Discussions](https://github.com/pypa/cibuildwheel/discussions/485), or send a PR, adding your information to `docs/data/projects.yml`.
|
> ℹ️ That's just a handful, there are many more! Check out the [Working Examples](https://cibuildwheel.readthedocs.io/en/stable/working-examples) page in the docs.
|
||||||
>
|
|
||||||
> <sup>I'd like to include notes here to indicate why an example might be interesting to cibuildwheel users - the styles/technologies/techniques used in each. Please include that in future additions!</sup>
|
|
||||||
|
|
||||||
<!--working-examples-end-->
|
|
||||||
|
|
||||||
Legal note
|
Legal note
|
||||||
----------
|
----------
|
||||||
|
|||||||
+69
-28
@@ -5,7 +5,7 @@ Convert a yaml project list into a nice table.
|
|||||||
|
|
||||||
Suggested usage:
|
Suggested usage:
|
||||||
|
|
||||||
./bin/projects.py docs/data/projects.yml --online --auth $GITHUB_API_TOKEN --readme README.md
|
./bin/projects.py docs/data/projects.yml --online --auth $GITHUB_API_TOKEN
|
||||||
git diff
|
git diff
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -139,28 +139,38 @@ def fetch_icon(icon_name: str) -> None:
|
|||||||
f.write(svgElement.toxml())
|
f.write(svgElement.toxml())
|
||||||
|
|
||||||
|
|
||||||
def path_for_icon(icon_name: str) -> Path:
|
def path_for_icon(icon_name: str, relative_to: Path | None = None) -> Path:
|
||||||
return Path(".") / "docs" / "data" / "readme_icons" / f"{icon_name}.svg"
|
if relative_to is None:
|
||||||
|
from_path = Path.cwd()
|
||||||
|
else:
|
||||||
|
from_path = relative_to.parent
|
||||||
|
|
||||||
|
absolute_path = PROJECT_ROOT / "docs" / "data" / "readme_icons" / f"{icon_name}.svg"
|
||||||
|
|
||||||
|
return absolute_path.resolve().relative_to(from_path.resolve())
|
||||||
|
|
||||||
|
|
||||||
def str_projects(
|
def get_projects(
|
||||||
config: list[dict[str, Any]],
|
config: list[dict[str, Any]],
|
||||||
*,
|
*,
|
||||||
online: bool = True,
|
online: bool = True,
|
||||||
auth: str | None = None,
|
auth: str | None = None,
|
||||||
) -> str:
|
) -> list[Project]:
|
||||||
io = StringIO()
|
|
||||||
print = functools.partial(builtins.print, file=io)
|
|
||||||
|
|
||||||
if online:
|
if online:
|
||||||
for icon in ICONS:
|
for icon in ICONS:
|
||||||
fetch_icon(icon)
|
fetch_icon(icon)
|
||||||
|
|
||||||
github = Github(auth) if online else None
|
github = Github(auth) if online else None
|
||||||
|
|
||||||
projects = sorted((Project(item, github) for item in config), reverse=online)
|
return sorted((Project(item, github) for item in config), reverse=online)
|
||||||
|
|
||||||
|
|
||||||
|
def render_projects(projects: list[Project], *, include_info: bool = True, dest_path: Path):
|
||||||
|
io = StringIO()
|
||||||
|
print = functools.partial(builtins.print, file=io)
|
||||||
|
|
||||||
print(Project.header())
|
print(Project.header())
|
||||||
|
|
||||||
for project in projects:
|
for project in projects:
|
||||||
print(project.table_row())
|
print(project.table_row())
|
||||||
|
|
||||||
@@ -170,42 +180,73 @@ def str_projects(
|
|||||||
|
|
||||||
print()
|
print()
|
||||||
for icon in ICONS:
|
for icon in ICONS:
|
||||||
print(f"[{icon} icon]: {path_for_icon(icon).as_posix()}")
|
print(f"[{icon} icon]: {path_for_icon(icon, relative_to=dest_path).as_posix()}")
|
||||||
|
|
||||||
print()
|
if include_info:
|
||||||
for project in projects:
|
print()
|
||||||
print(project.info())
|
for project in projects:
|
||||||
|
print(project.info())
|
||||||
|
|
||||||
return io.getvalue()
|
return io.getvalue()
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Try ./bin/projects.py docs/data/projects.yml --readme README.md")
|
def insert_projects_table(
|
||||||
|
file: Path,
|
||||||
|
*,
|
||||||
|
projects: list[Project],
|
||||||
|
input_filename: str,
|
||||||
|
include_info: bool = True,
|
||||||
|
):
|
||||||
|
text = file.read_text()
|
||||||
|
projects_table = render_projects(projects, include_info=include_info, dest_path=file)
|
||||||
|
|
||||||
|
start_str = "<!-- START bin/projects.py -->\n"
|
||||||
|
|
||||||
|
start = text.find(start_str)
|
||||||
|
assert start != -1
|
||||||
|
|
||||||
|
end = text.find("<!-- END bin/projects.py -->\n")
|
||||||
|
assert end != -1
|
||||||
|
|
||||||
|
generated_note = f"<!-- this section is generated by bin/projects.py. Don't edit it directly, instead, edit {input_filename} -->"
|
||||||
|
new_text = (
|
||||||
|
f"{text[:start + len(start_str)]}\n{generated_note}\n\n{projects_table}\n{text[end:]}"
|
||||||
|
)
|
||||||
|
|
||||||
|
file.write_text(new_text)
|
||||||
|
|
||||||
|
|
||||||
|
PROJECT_ROOT = Path(__file__).parent / ".."
|
||||||
|
README_FILE = PROJECT_ROOT / "README.md"
|
||||||
|
DOCS_PAGE = PROJECT_ROOT / "docs" / "working-examples.md"
|
||||||
|
|
||||||
|
|
||||||
|
@click.command(help="Try ./bin/projects.py docs/data/projects.yml")
|
||||||
@click.argument("input", type=click.File("r"))
|
@click.argument("input", type=click.File("r"))
|
||||||
@click.option("--online/--no-online", default=True, help="Get info from GitHub")
|
@click.option("--online/--no-online", default=True, help="Get info from GitHub")
|
||||||
@click.option("--auth", help="GitHub authentication token")
|
@click.option("--auth", help="GitHub authentication token")
|
||||||
@click.option("--readme", type=click.File("r+"), help="Modify a readme file if given")
|
@click.option(
|
||||||
|
"--dry-run", default=False, help="Print the output, rather than writing it to files in the repo"
|
||||||
|
)
|
||||||
def projects(
|
def projects(
|
||||||
input: TextIO,
|
input: TextIO,
|
||||||
online: bool,
|
online: bool,
|
||||||
auth: str | None,
|
auth: str | None,
|
||||||
readme: TextIO | None,
|
dry_run: bool,
|
||||||
) -> None:
|
) -> None:
|
||||||
config = yaml.safe_load(input)
|
config = yaml.safe_load(input)
|
||||||
output = str_projects(config, online=online, auth=auth)
|
projects = get_projects(config, online=online, auth=auth)
|
||||||
|
|
||||||
if readme is None:
|
if dry_run:
|
||||||
|
output = render_projects(projects, dest_path=README_FILE)
|
||||||
print(output)
|
print(output)
|
||||||
else:
|
else:
|
||||||
text = readme.read()
|
insert_projects_table(
|
||||||
start_str = "<!-- START bin/projects.py -->\n"
|
README_FILE, projects=projects[:10], input_filename=input.name, include_info=False
|
||||||
start = text.find(start_str)
|
)
|
||||||
end = text.find("<!-- END bin/projects.py -->\n")
|
insert_projects_table(
|
||||||
generated_note = f"<!-- this section is generated by bin/projects.py. Don't edit it directly, instead, edit {input.name} -->"
|
DOCS_PAGE, projects=projects, input_filename=input.name, include_info=True
|
||||||
new_text = f"{text[:start + len(start_str)]}\n{generated_note}\n\n{output}\n{text[end:]}"
|
)
|
||||||
|
|
||||||
readme.seek(0)
|
|
||||||
readme.write(new_text)
|
|
||||||
readme.truncate()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
+204
-5
@@ -2,11 +2,210 @@
|
|||||||
title: Working examples
|
title: Working examples
|
||||||
---
|
---
|
||||||
|
|
||||||
{%
|
<!-- START bin/projects.py -->
|
||||||
include-markdown "../README.md"
|
|
||||||
start="<!--working-examples-start-->"
|
<!-- this section is generated by bin/projects.py. Don't edit it directly, instead, edit docs/data/projects.yml -->
|
||||||
end="<!--working-examples-end-->"
|
|
||||||
%}
|
| Name | CI | OS | Notes |
|
||||||
|
|-----------------------------------|----|----|:------|
|
||||||
|
| [scikit-learn][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The machine learning library. A complex but clean config using many of cibuildwheel's features to build a large project with Cython and C++ extensions. |
|
||||||
|
| [Matplotlib][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The venerable Matplotlib, a Python library with C++ portions |
|
||||||
|
| [MyPy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | MyPyC, the compiled component of MyPy. |
|
||||||
|
| [psutil][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Cross-platform lib for process and system monitoring in Python |
|
||||||
|
| [scikit-image][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Image processing library. Uses cibuildwheel to build and test a project that uses Cython with platform-native code. |
|
||||||
|
| [twisted-iocpsupport][] | ![github icon][] | ![windows icon][] | A submodule of Twisted that hooks into native C APIs using Cython. |
|
||||||
|
| [cmake][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. |
|
||||||
|
| [websockets][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Library for building WebSocket servers and clients. Mostly written in Python, with a small C 'speedups' extension module. |
|
||||||
|
| [pyzmq][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython and CFFI. |
|
||||||
|
| [aiortc][] | ![github icon][] | ![apple icon][] ![linux icon][] | WebRTC and ORTC implementation for Python using asyncio. |
|
||||||
|
| [River][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | 🌊 Online machine learning in Python |
|
||||||
|
| [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python |
|
||||||
|
| [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more |
|
||||||
|
| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. |
|
||||||
|
| [Dependency Injector][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Dependency injection framework for Python, uses Windows TravisCI |
|
||||||
|
| [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. |
|
||||||
|
| [PyTables][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python package to manage extremely large amounts of data |
|
||||||
|
| [ruptures][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Extensive Cython + NumPy [pyproject.toml](https://github.com/deepcharles/ruptures/blob/master/pyproject.toml) example. |
|
||||||
|
| [aioquic][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | QUIC and HTTP/3 implementation in Python |
|
||||||
|
| [pikepdf][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by qpdf |
|
||||||
|
| [google neuroglancer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | WebGL-based viewer for volumetric data |
|
||||||
|
| [DeepForest][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | An Efficient, Scalable and Optimized Python Framework for Deep Forest (2021.2.1) |
|
||||||
|
| [AutoPy][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
||||||
|
| [Parselmouth][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python interface to the Praat software package, using pybind11, C++17 and CMake, with the core Praat static library built only once and shared between wheels. |
|
||||||
|
| [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] ![appveyor icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson |
|
||||||
|
| [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS ¶ |
|
||||||
|
| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library |
|
||||||
|
| [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. |
|
||||||
|
| [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system |
|
||||||
|
| [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system |
|
||||||
|
| [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python |
|
||||||
|
| [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing |
|
||||||
|
| [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system |
|
||||||
|
| [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub |
|
||||||
|
| [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. |
|
||||||
|
| [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. |
|
||||||
|
| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 |
|
||||||
|
| [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. |
|
||||||
|
| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. |
|
||||||
|
| [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq |
|
||||||
|
| [Tokenizer][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support |
|
||||||
|
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
|
||||||
|
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
|
||||||
|
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
|
||||||
|
| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. |
|
||||||
|
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
|
||||||
|
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
|
||||||
|
| [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. |
|
||||||
|
| [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms |
|
||||||
|
| [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy |
|
||||||
|
| [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy |
|
||||||
|
| [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. |
|
||||||
|
| [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. |
|
||||||
|
| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. |
|
||||||
|
| [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 |
|
||||||
|
| [Imagecodecs (fork)][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] | Over 20 external dependencies in compiled libraries, custom docker image, `libomp`, `openblas` and `install_name_tool` for macOS. |
|
||||||
|
| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies |
|
||||||
|
| [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. |
|
||||||
|
| [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. |
|
||||||
|
| [SiPM][] | ![github icon][] | ![apple icon][] ![linux icon][] | High performance library for SiPM detectors simulation using C++17, OpenMP and AVX2 intrinsics. |
|
||||||
|
|
||||||
|
[scikit-learn]: https://github.com/scikit-learn/scikit-learn
|
||||||
|
[Matplotlib]: https://github.com/matplotlib/matplotlib
|
||||||
|
[MyPy]: https://github.com/mypyc/mypy_mypyc-wheels
|
||||||
|
[psutil]: https://github.com/giampaolo/psutil
|
||||||
|
[scikit-image]: https://github.com/scikit-image/scikit-image
|
||||||
|
[twisted-iocpsupport]: https://github.com/twisted/twisted-iocpsupport
|
||||||
|
[cmake]: https://github.com/scikit-build/cmake-python-distributions
|
||||||
|
[websockets]: https://github.com/aaugustin/websockets
|
||||||
|
[pyzmq]: https://github.com/zeromq/pyzmq
|
||||||
|
[aiortc]: https://github.com/aiortc/aiortc
|
||||||
|
[River]: https://github.com/online-ml/river
|
||||||
|
[coverage.py]: https://github.com/nedbat/coveragepy
|
||||||
|
[numexpr]: https://github.com/pydata/numexpr
|
||||||
|
[h5py]: https://github.com/h5py/h5py
|
||||||
|
[Dependency Injector]: https://github.com/ets-labs/python-dependency-injector
|
||||||
|
[PyAV]: https://github.com/PyAV-Org/PyAV
|
||||||
|
[PyTables]: https://github.com/PyTables/PyTables
|
||||||
|
[ruptures]: https://github.com/deepcharles/ruptures
|
||||||
|
[aioquic]: https://github.com/aiortc/aioquic
|
||||||
|
[pikepdf]: https://github.com/pikepdf/pikepdf
|
||||||
|
[google neuroglancer]: https://github.com/google/neuroglancer
|
||||||
|
[DeepForest]: https://github.com/LAMDA-NJU/Deep-Forest
|
||||||
|
[AutoPy]: https://github.com/autopilot-rs/autopy
|
||||||
|
[Parselmouth]: https://github.com/YannickJadoul/Parselmouth
|
||||||
|
[python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson
|
||||||
|
[Rtree]: https://github.com/Toblerity/rtree
|
||||||
|
[python-snappy]: https://github.com/andrix/python-snappy
|
||||||
|
[markupsafe]: https://github.com/pallets/markupsafe
|
||||||
|
[H3-py]: https://github.com/uber/h3-py
|
||||||
|
[pybind11 cmake_example]: https://github.com/pybind/cmake_example
|
||||||
|
[KDEpy]: https://github.com/tommyod/KDEpy
|
||||||
|
[cyvcf2]: https://github.com/brentp/cyvcf2
|
||||||
|
[pybind11 python_example]: https://github.com/pybind/python_example
|
||||||
|
[dd-trace-py]: https://github.com/DataDog/dd-trace-py
|
||||||
|
[sourmash]: https://github.com/dib-lab/sourmash
|
||||||
|
[time-machine]: https://github.com/adamchainz/time-machine
|
||||||
|
[iminuit]: https://github.com/scikit-hep/iminuit
|
||||||
|
[CTranslate2]: https://github.com/OpenNMT/CTranslate2
|
||||||
|
[matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile
|
||||||
|
[jq.py]: https://github.com/mwilliamson/jq.py
|
||||||
|
[Tokenizer]: https://github.com/OpenNMT/Tokenizer
|
||||||
|
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
|
||||||
|
[bx-python]: https://github.com/bxlab/bx-python
|
||||||
|
[iDynTree]: https://github.com/robotology/idyntree
|
||||||
|
[boost-histogram]: https://github.com/scikit-hep/boost-histogram
|
||||||
|
[pybase64]: https://github.com/mayeut/pybase64
|
||||||
|
[TgCrypto]: https://github.com/pyrogram/tgcrypto
|
||||||
|
[etebase-py]: https://github.com/etesync/etebase-py
|
||||||
|
[fathon]: https://github.com/stfbnc/fathon
|
||||||
|
[pyjet]: https://github.com/scikit-hep/pyjet
|
||||||
|
[numpythia]: https://github.com/scikit-hep/numpythia
|
||||||
|
[polaroid]: https://github.com/daggy1234/polaroid
|
||||||
|
[ninja]: https://github.com/scikit-build/ninja-python-distributions
|
||||||
|
[GSD]: https://github.com/glotzerlab/gsd
|
||||||
|
[pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example
|
||||||
|
[Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build
|
||||||
|
[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext
|
||||||
|
[xmlstarlet]: https://github.com/dimitern/xmlstarlet
|
||||||
|
[CorrectionLib]: https://github.com/cms-nanoAOD/correctionlib
|
||||||
|
[SiPM]: https://github.com/EdoPro98/SimSiPM
|
||||||
|
|
||||||
|
[appveyor icon]: data/readme_icons/appveyor.svg
|
||||||
|
[github icon]: data/readme_icons/github.svg
|
||||||
|
[azurepipelines icon]: data/readme_icons/azurepipelines.svg
|
||||||
|
[circleci icon]: data/readme_icons/circleci.svg
|
||||||
|
[gitlab icon]: data/readme_icons/gitlab.svg
|
||||||
|
[travisci icon]: data/readme_icons/travisci.svg
|
||||||
|
[windows icon]: data/readme_icons/windows.svg
|
||||||
|
[apple icon]: data/readme_icons/apple.svg
|
||||||
|
[linux icon]: data/readme_icons/linux.svg
|
||||||
|
|
||||||
|
<!-- scikit-learn: 46518, last pushed 0 days ago -->
|
||||||
|
<!-- Matplotlib: 13918, last pushed 0 days ago -->
|
||||||
|
<!-- MyPy: 11035, last pushed 0 days ago -->
|
||||||
|
<!-- psutil: 7494, last pushed 20 days ago -->
|
||||||
|
<!-- scikit-image: 4426, last pushed 0 days ago -->
|
||||||
|
<!-- twisted-iocpsupport: 4301, last pushed 0 days ago -->
|
||||||
|
<!-- cmake: 4015, last pushed 0 days ago -->
|
||||||
|
<!-- websockets: 3466, last pushed 24 days ago -->
|
||||||
|
<!-- pyzmq: 2853, last pushed 11 days ago -->
|
||||||
|
<!-- aiortc: 2479, last pushed 9 days ago -->
|
||||||
|
<!-- River: 1756, last pushed 0 days ago -->
|
||||||
|
<!-- coverage.py: 1654, last pushed 0 days ago -->
|
||||||
|
<!-- numexpr: 1605, last pushed 12 days ago -->
|
||||||
|
<!-- h5py: 1543, last pushed 0 days ago -->
|
||||||
|
<!-- Dependency Injector: 1455, last pushed 3 days ago -->
|
||||||
|
<!-- PyAV: 1296, last pushed 44 days ago -->
|
||||||
|
<!-- PyTables: 1043, last pushed 1 days ago -->
|
||||||
|
<!-- ruptures: 759, last pushed 0 days ago -->
|
||||||
|
<!-- aioquic: 710, last pushed 0 days ago -->
|
||||||
|
<!-- pikepdf: 691, last pushed 0 days ago -->
|
||||||
|
<!-- google neuroglancer: 664, last pushed 1 days ago -->
|
||||||
|
<!-- DeepForest: 631, last pushed 0 days ago -->
|
||||||
|
<!-- AutoPy: 551, last pushed 33 days ago -->
|
||||||
|
<!-- Parselmouth: 525, last pushed 27 days ago -->
|
||||||
|
<!-- python-rapidjson: 425, last pushed 24 days ago -->
|
||||||
|
<!-- Rtree: 414, last pushed 122 days ago -->
|
||||||
|
<!-- python-snappy: 406, last pushed 145 days ago -->
|
||||||
|
<!-- markupsafe: 404, last pushed 14 days ago -->
|
||||||
|
<!-- H3-py: 402, last pushed 37 days ago -->
|
||||||
|
<!-- pybind11 cmake_example: 289, last pushed 3 days ago -->
|
||||||
|
<!-- KDEpy: 285, last pushed 47 days ago -->
|
||||||
|
<!-- cyvcf2: 265, last pushed 0 days ago -->
|
||||||
|
<!-- pybind11 python_example: 258, last pushed 1 days ago -->
|
||||||
|
<!-- dd-trace-py: 256, last pushed 0 days ago -->
|
||||||
|
<!-- sourmash: 253, last pushed 0 days ago -->
|
||||||
|
<!-- time-machine: 186, last pushed 0 days ago -->
|
||||||
|
<!-- iminuit: 180, last pushed 0 days ago -->
|
||||||
|
<!-- CTranslate2: 176, last pushed 0 days ago -->
|
||||||
|
<!-- matrixprofile: 171, last pushed 24 days ago -->
|
||||||
|
<!-- jq.py: 163, last pushed 28 days ago -->
|
||||||
|
<!-- Tokenizer: 150, last pushed 25 days ago -->
|
||||||
|
<!-- PyGLM: 106, last pushed 0 days ago -->
|
||||||
|
<!-- bx-python: 104, last pushed 11 days ago -->
|
||||||
|
<!-- iDynTree: 83, last pushed 0 days ago -->
|
||||||
|
<!-- boost-histogram: 82, last pushed 0 days ago -->
|
||||||
|
<!-- pybase64: 68, last pushed 0 days ago -->
|
||||||
|
<!-- TgCrypto: 67, last pushed 51 days ago -->
|
||||||
|
<!-- etebase-py: 51, last pushed 197 days ago -->
|
||||||
|
<!-- fathon: 32, last pushed 48 days ago -->
|
||||||
|
<!-- pyjet: 29, last pushed 61 days ago -->
|
||||||
|
<!-- numpythia: 29, last pushed 1 days ago -->
|
||||||
|
<!-- polaroid: 19, last pushed 21 days ago -->
|
||||||
|
<!-- ninja: 19, last pushed 0 days ago -->
|
||||||
|
<!-- GSD: 16, last pushed 19 days ago -->
|
||||||
|
<!-- pybind11 scikit_build_example: 14, last pushed 1 days ago -->
|
||||||
|
<!-- Imagecodecs (fork): 12, last pushed 25 days ago -->
|
||||||
|
<!-- pyinstrument_cext: 10, last pushed 4 days ago -->
|
||||||
|
<!-- xmlstarlet: 7, last pushed 8 days ago -->
|
||||||
|
<!-- CorrectionLib: 6, last pushed 3 days ago -->
|
||||||
|
<!-- SiPM: 4, last pushed 10 days ago -->
|
||||||
|
|
||||||
|
<!-- END bin/projects.py -->
|
||||||
|
|
||||||
|
> Add your repo here! Let us know on [GitHub Discussions](https://github.com/pypa/cibuildwheel/discussions/485), or send a PR, adding your information to `docs/data/projects.yml`.
|
||||||
|
>
|
||||||
|
> <sup>I'd like to include notes here to indicate why an example might be interesting to cibuildwheel users - the styles/technologies/techniques used in each. Please include that in future additions!</sup>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.wy-nav-content {
|
.wy-nav-content {
|
||||||
|
|||||||
Reference in New Issue
Block a user