SPB Git forge

spb/websensor

Public
33commits 1branches 0releases
3.4 MBsize
maindefault branch
10 days agolast push
TypeScript 55.4% Python 43.2% SQL 1.2%
44.9 KB · 174 lines python
Raw Blame History
1# Sixth part of the spec (ML / data-science tooling, OS distributions, desktop environments, BSDs and RTOSes, corporate OSS programs, documentation tools).23SCI = ["open-source", "developer", "science"]45SPEC6 = [6    "Machine learning and data-science tooling",7    src("scikit-learn", "scikit-learn", "scikit-learn.org", ["scikit learn", "sklearn"], tier="B", categories=OSML, country="FR", repos=["scikit-learn/scikit-learn"], feeds=[("blog feed", "https://blog.scikit-learn.org/feed.xml")]),8    src("xgboost", "XGBoost (DMLC)", "xgboost.ai", ["xgboost", "dmlc"], categories=OSML, repos=["dmlc/xgboost", "dmlc/dgl"]),9    src("catboost", "CatBoost (Yandex)", "catboost.ai", ["catboost"], categories=OSML, country="RU", repos=["catboost/catboost"]),10    src("pandas", "pandas", "pandas.pydata.org", ["pandas dataframe", "pydata pandas"], tier="B", categories=SCI, repos=["pandas-dev/pandas"]),11    src("polars", "Polars", "pola.rs", ["polars dataframe", "pola.rs"], tier="B", categories=SCI, country="NL", repos=["pola-rs/polars"]),12    src("numpy", "NumPy", "numpy.org", ["numpy"], tier="B", categories=SCI, repos=["numpy/numpy"], feeds=[("news feed", "https://numpy.org/news/index.xml")]),13    src("scipy", "SciPy", "scipy.org", ["scipy"], tier="B", categories=SCI, repos=["scipy/scipy"]),14    src("matplotlib", "Matplotlib / seaborn", "matplotlib.org", ["matplotlib", "seaborn", "pyplot"], tier="B", categories=SCI, products=["Matplotlib", "seaborn"], repos=["matplotlib/matplotlib", "mwaskom/seaborn"]),15    src("statsmodels", "statsmodels", "statsmodels.org", ["statsmodels"], categories=SCI, repos=["statsmodels/statsmodels"]),16    src("sympy", "SymPy", "sympy.org", ["sympy"], categories=SCI, repos=["sympy/sympy"]),17    src("networkx", "NetworkX", "networkx.org", ["networkx"], categories=SCI, repos=["networkx/networkx"]),18    src("numba", "Numba", "numba.pydata.org", ["numba", "llvmlite"], categories=SCI, repos=["numba/numba", "numba/llvmlite"]),19    src("cupy", "CuPy (Preferred Networks)", "cupy.dev", ["cupy", "preferred networks"], categories=SCI, country="JP", repos=["cupy/cupy"]),20    src("xarray", "xarray / pydata", "xarray.dev", ["xarray", "pydata", "zarr", "dask-free arrays"], categories=SCI, products=["xarray", "Zarr", "sparse", "numexpr", "bottleneck"], repos=["pydata/xarray", "zarr-developers/zarr-python", "pydata/sparse", "pydata/numexpr", "pydata/bottleneck"]),21    src("scikit-image", "scikit-image", "scikit-image.org", ["scikit image", "skimage"], categories=SCI, repos=["scikit-image/scikit-image"]),22    src("ray", "Ray (Anyscale)", "ray.io", ["ray project", "anyscale", "ray serve", "ray tune", "kuberay"], tier="B", categories=OSML, country="US", products=["Ray", "KubeRay", "Ray LLM"], repos=["ray-project/ray", "ray-project/kuberay", "ray-project/ray-llm"]),23    src("dask", "Dask", "dask.org", ["dask", "dask distributed", "coiled"], categories=SCI, country="US", products=["Dask", "Distributed", "dask-kubernetes", "dask-ml"], repos=["dask/dask", "dask/distributed", "dask/dask-kubernetes", "dask/dask-ml"]),24    src("bentoml", "BentoML", "bentoml.com", ["bentoml", "openllm", "bentocloud"], categories=OSML, country="US", products=["BentoML", "OpenLLM"], repos=["bentoml/BentoML", "bentoml/OpenLLM"]),25    src("onnx", "ONNX", "onnx.ai", ["onnx", "open neural network exchange"], tier="B", categories=OSML, country="US", products=["ONNX", "ONNX Model Zoo", "onnxmltools", "sklearn-onnx", "ONNX Script"], repos=["onnx/onnx", "onnx/onnxmltools", "onnx/sklearn-onnx", "onnx/onnx-script", "onnx/tensorflow-onnx"]),26    src("optuna", "Optuna (Preferred Networks)", "optuna.org", ["optuna", "optunahub"], categories=OSML, country="JP", repos=["optuna/optuna", "optuna/optuna-dashboard"]),27    src("lightning-ai", "Lightning AI", "lightning.ai", ["pytorch lightning", "lightning ai", "litgpt", "litserve", "fabric"], tier="B", categories=OSML, country="US", products=["PyTorch Lightning", "LitGPT", "LitServe", "TorchMetrics", "LitData"],28        repos=["Lightning-AI/pytorch-lightning", "Lightning-AI/litgpt", "Lightning-AI/LitServe", "Lightning-AI/torchmetrics", "Lightning-AI/litdata"]),29    src("dvc", "DVC (Iterative)", "dvc.org", ["dvc", "data version control", "iterative", "cml", "datachain"], categories=OSML, country="US", products=["DVC", "CML", "DataChain", "DVC Studio"], repos=["iterative/dvc", "iterative/cml", "iterative/datachain"]),30    src("explosion", "Explosion (spaCy)", "explosion.ai", ["spacy", "explosion ai", "prodigy", "thinc"], tier="B", categories=OSML, country="DE", products=["spaCy", "Thinc", "spacy-llm", "Prodigy"], repos=["explosion/spaCy", "explosion/thinc", "explosion/spacy-llm", "explosion/curated-transformers"]),31    src("nltk", "NLTK", "nltk.org", ["nltk", "natural language toolkit"], categories=OSML, repos=["nltk/nltk"]),32    src("gensim", "Gensim", "radimrehurek.com", ["gensim", "word2vec gensim"], categories=OSML, repos=["piskvorky/gensim"]),33    src("sentence-transformers", "Sentence Transformers (UKP Lab)", "sbert.net", ["sentence transformers", "sbert", "ukp lab"], categories=OSML, country="DE", repos=["UKPLab/sentence-transformers"]),34    src("stanfordnlp", "Stanford NLP Group", "nlp.stanford.edu", ["stanford nlp", "stanza", "corenlp", "dspy", "glove"], categories=OSML, country="US", products=["Stanza", "CoreNLP", "DSPy", "pyvene"], repos=["stanfordnlp/stanza", "stanfordnlp/CoreNLP", "stanfordnlp/dspy", "stanfordnlp/pyvene"]),35    src("opencv", "OpenCV", "opencv.org", ["opencv", "open source computer vision"], tier="B", categories=OSML, products=["OpenCV", "opencv_contrib", "opencv-python", "OpenCV Zoo"], repos=["opencv/opencv", "opencv/opencv_contrib", "opencv/opencv-python", "opencv/opencv_zoo"],36        feeds=[("news feed", "https://opencv.org/feed/")]),37    src("ultralytics", "Ultralytics (YOLO)", "ultralytics.com", ["ultralytics", "yolov8", "yolo11", "yolov5"], tier="B", categories=OSML, country="US", products=["YOLO", "YOLOv5", "Ultralytics HUB"], repos=["ultralytics/ultralytics", "ultralytics/yolov5", "ultralytics/assets"]),38    src("openmmlab", "OpenMMLab", "openmmlab.com", ["openmmlab", "mmdetection", "mmsegmentation", "mmpose", "mmengine", "mmcv"], categories=OSML, country="CN", products=["MMDetection", "MMSegmentation", "MMPose", "MMEngine", "MMCV", "MMPreTrain"],39        repos=["open-mmlab/mmdetection", "open-mmlab/mmsegmentation", "open-mmlab/mmpose", "open-mmlab/mmengine", "open-mmlab/mmcv", "open-mmlab/mmpretrain"]),40    src("albumentations", "Albumentations", "albumentations.ai", ["albumentations"], categories=OSML, repos=["albumentations-team/albumentations"]),41    src("kornia", "Kornia", "kornia.org", ["kornia"], categories=OSML, repos=["kornia/kornia"]),42    src("tesseract-ocr", "Tesseract OCR", "tesseract-ocr.github.io", ["tesseract ocr", "tesseract", "tessdata", "pytesseract"], categories=OSML, products=["Tesseract", "tessdata", "pytesseract", "tesserocr"], repos=["tesseract-ocr/tesseract", ("tesseract-ocr/tessdata", T), "madmaze/pytesseract", "sirfz/tesserocr"]),43    src("dlib", "dlib", "dlib.net", ["dlib", "davis king dlib"], categories=OSML, repos=["davisking/dlib"]),44    src("h2o-ai", "H2O.ai", "h2o.ai", ["h2o ai", "h2o-3", "h2ogpt", "wave"], categories=OSML, country="US", products=["H2O-3", "h2oGPT", "H2O Wave", "H2O LLM Studio"], repos=["h2oai/h2o-3", "h2oai/h2ogpt", "h2oai/wave", "h2oai/h2o-llmstudio"]),45    src("pymc", "PyMC", "pymc.io", ["pymc", "pymc3", "arviz", "pytensor", "bambi"], categories=SCI, products=["PyMC", "ArviZ", "PyTensor", "Bambi"], repos=["pymc-devs/pymc", "arviz-devs/arviz", "pymc-devs/pytensor", "bambinos/bambi"]),46    src("shap", "SHAP / interpretability tools", "shap.readthedocs.io", ["shap", "shapley values", "lime", "interpretml", "captum", "alibi"], categories=OSML, products=["SHAP", "LIME", "InterpretML", "Captum", "Alibi", "ELI5"],47        repos=["shap/shap", "marcotcr/lime", "interpretml/interpret", "pytorch/captum", "SeldonIO/alibi", "eli5-org/eli5"]),48    src("great-expectations", "Great Expectations", "greatexpectations.io", ["great expectations", "gx"], categories=OSINF, country="US", repos=["great-expectations/great_expectations"]),49    src("soda", "Soda / data-quality tools", "soda.io", ["soda core", "soda data quality", "elementary data", "re_data", "deequ", "pandera", "pointblank", "whylogs", "evidently"], categories=OSINF,50        products=["Soda Core", "Elementary", "Deequ", "Pandera", "whylogs", "Evidently", "NannyML", "Giskard"],51        repos=["sodadata/soda-core", "elementary-data/elementary", "awslabs/deequ", "unionai-oss/pandera", "whylabs/whylogs", "evidentlyai/evidently", "NannyML/nannyml", "Giskard-AI/giskard"]),52    src("feast", "Feast", "feast.dev", ["feast feature store", "feast"], categories=OSML, repos=["feast-dev/feast"]),53    src("zenml", "ZenML", "zenml.io", ["zenml"], categories=OSML, country="DE", repos=["zenml-io/zenml"]),54    src("clearml", "ClearML", "clear.ml", ["clearml", "allegro trains"], categories=OSML, country="IL", repos=["clearml/clearml", "clearml/clearml-server", "clearml/clearml-agent"]),55    src("aim", "Aim (AimStack)", "aimstack.io", ["aimstack", "aim experiment tracker"], categories=OSML, repos=["aimhubio/aim"]),56    src("label-studio", "Label Studio (HumanSignal)", "labelstud.io", ["label studio", "humansignal"], categories=OSML, country="US", repos=["HumanSignal/label-studio", "HumanSignal/label-studio-sdk"]),57    src("cvat", "CVAT", "cvat.ai", ["cvat", "computer vision annotation tool"], categories=OSML, repos=["cvat-ai/cvat"]),58    src("fiftyone", "FiftyOne (Voxel51)", "voxel51.com", ["fiftyone", "voxel51"], categories=OSML, country="US", repos=["voxel51/fiftyone"]),59    src("jupyter-ecosystem", "Jupyter ecosystem (widgets, kernels, deployments)", "jupyter.org", ["ipywidgets", "jupyter widgets", "jupyterlite", "jupyter ai", "papermill", "nbdev", "nbformat", "nbclient", "jupytext", "jupyter-book", "voila", "nbstripout", "binderhub", "repo2docker"], categories=SCI,60        products=["ipywidgets", "JupyterLite", "Jupyter AI", "papermill", "nbdev", "nbformat", "nbclient", "Jupytext", "Voilà", "BinderHub", "repo2docker", "JupyterLab Desktop", "nbdime", "nbgrader", "jupyter-collaboration", "Jupyter Server", "nbconvert", "Jupyter Book", "MyST"],61        repos=["jupyter-widgets/ipywidgets", "jupyterlite/jupyterlite", "jupyterlab/jupyter-ai", "nteract/papermill", "AnswerDotAI/nbdev", "jupyter/nbformat", "jupyter/nbclient", "mwouts/jupytext", "voila-dashboards/voila", "jupyterhub/binderhub", "jupyterhub/repo2docker", "jupyterlab/jupyterlab-desktop", "jupyter/nbdime", "jupyter/nbgrader", "jupyterlab/jupyter-collaboration", "jupyter-server/jupyter_server", "jupyter/nbconvert", "jupyter-book/jupyter-book", "jupyter-book/mystmd"]),62    ext("intel", repos=["openvinotoolkit/openvino", "intel/intel-extension-for-pytorch", "openvinotoolkit/openvino_notebooks", "intel/ipex-llm", "intel/neural-compressor", "oneapi-src/oneDNN", "oneapi-src/oneTBB", "intel/linux-sgx", "intel/media-driver", "intel/compute-runtime"],63        products=["OpenVINO", "Intel Extension for PyTorch", "IPEX-LLM", "Neural Compressor", "oneDNN", "oneTBB", "Intel SGX", "Intel media driver", "Intel compute runtime"]),64    ext("nvidia", repos=["rapidsai/cudf", "rapidsai/cuml", "NVIDIA/nccl", "NVIDIA/cccl", "NVIDIA/warp", "NVIDIA/DALI", "NVIDIA/apex", "NVIDIA/NeMo", "NVIDIA/cuda-samples", "NVIDIA/k8s-device-plugin", "NVIDIA/gpu-operator", "NVIDIA/dcgm-exporter"],65        products=["cuDF", "cuML", "NCCL", "CCCL", "Warp", "DALI", "Apex", "NeMo", "CUDA samples", "Kubernetes device plugin", "GPU Operator", "DCGM exporter"]),66    ext("huggingface", repos=["huggingface/pytorch-image-models", "huggingface/optimum", "huggingface/safetensors", "huggingface/evaluate", "huggingface/text-embeddings-inference", "huggingface/lighteval", "huggingface/nanotron", "huggingface/setfit", "huggingface/chat-ui", "huggingface/open-r1"],67        products=["timm", "Optimum", "safetensors", "Evaluate", "Text Embeddings Inference", "LightEval", "Nanotron", "SetFit", "Chat UI", "Open R1"]),68    ext("pytorch", repos=["pytorch/audio", "pytorch/text", "pytorch/serve", "pytorch/tensordict", "pytorch/rl", "pytorch/torchtitan", "pytorch/xla", "pytorch/ignite", "pytorch/data", "pytorch/torchrec", "pytorch/TensorRT", "pytorch/kineto", "pytorch/torchchat", "pytorch/torchx", "pytorch/opacus", "pytorch/botorch", "pytorch/FBGEMM", "pytorch/test-infra", "pytorch/pytorch.github.io", "pytorch/tutorials"],69        products=["torchaudio", "torchtext", "TorchServe", "TensorDict", "TorchRL", "torchtitan", "PyTorch/XLA", "Ignite", "TorchData", "TorchRec", "Torch-TensorRT", "Kineto", "torchchat", "TorchX", "Opacus", "BoTorch", "FBGEMM"]),70    ext("tensorflow", repos=["tensorflow/tfjs", "tensorflow/tensorboard", "tensorflow/serving", "tensorflow/datasets", "tensorflow/probability", "tensorflow/addons", "tensorflow/tfx", "tensorflow/model-optimization", "tensorflow/io", "tensorflow/agents", "tensorflow/lingvo", "tensorflow/text", "tensorflow/recommenders", "tensorflow/decision-forests", "tensorflow/hub", "tensorflow/federated", "tensorflow/quantum", "tensorflow/ranking", "tensorflow/lattice", "tensorflow/tflite-micro"],71        products=["TensorFlow.js", "TensorBoard", "TensorFlow Serving", "TensorFlow Datasets", "TensorFlow Probability", "TFX", "Model Optimization Toolkit", "TensorFlow I/O", "TF-Agents", "TensorFlow Text", "TensorFlow Recommenders", "TensorFlow Decision Forests", "TensorFlow Federated", "TensorFlow Quantum", "TensorFlow Ranking", "TFLite Micro"]),72    ext("jax", repos=["google/orbax", "google-deepmind/optax", "google-deepmind/chex", "google-deepmind/dm-haiku", "google/maxtext", "jax-ml/ml_dtypes", "google/grain", "google-deepmind/penzai", "google/tunix", "openxla/xla", "openxla/stablehlo", "openxla/iree", "patrick-kidger/equinox", "patrick-kidger/diffrax", "patrick-kidger/jaxtyping", "google-deepmind/mctx", "google-deepmind/rlax", "google-deepmind/kfac-jax", "google-deepmind/distrax", "NVIDIA/JAX-Toolbox"],73        products=["Orbax", "Optax", "Chex", "Haiku", "MaxText", "ml_dtypes", "Grain", "Penzai", "Tunix", "XLA", "StableHLO", "IREE", "Equinox", "Diffrax", "jaxtyping", "mctx", "RLax", "KFAC-JAX", "Distrax", "JAX Toolbox"]),74    src("keras", "Keras", "keras.io", ["keras", "keras 3", "kerashub"], tier="B", categories=OSML, country="US", repos=["keras-team/keras-hub", "keras-team/keras-tuner", "keras-team/keras-io", "keras-team/autokeras", "keras-team/keras-rs", "keras-team/tf-keras"],75        products=["KerasHub", "KerasTuner", "keras.io", "AutoKeras", "Keras Recommenders", "tf-keras"]),76    "Operating systems, desktop environments, BSDs and RTOSes",77    ext("linux-kernel", repos=[("torvalds/linux", T), ("gregkh/linux", T)], products=["mainline kernel tags", "stable kernel tags"]),78    src("systemd", "systemd", "systemd.io", ["systemd", "journald", "systemd-boot"], tier="B", categories=OSOS, repos=["systemd/systemd", "systemd/mkosi", "systemd/casync"]),79    src("freedesktop", "freedesktop.org (Wayland, Mesa, PipeWire, X.Org)", "freedesktop.org", ["freedesktop", "wayland", "wlroots", "mesa 3d", "pipewire", "xorg", "x.org", "libinput", "poppler", "fontconfig", "dbus"], tier="B", categories=OSOS,80        products=["Wayland", "wlroots", "Mesa", "PipeWire", "X.Org Server", "libinput", "Poppler", "D-Bus", "fontconfig", "xdg-desktop-portal"],81        feeds=[("wayland tags", "https://gitlab.freedesktop.org/wayland/wayland/-/tags?format=atom", "ATOM"), ("wlroots tags", "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags?format=atom", "ATOM"),82               ("mesa tags", "https://gitlab.freedesktop.org/mesa/mesa/-/tags?format=atom", "ATOM"), ("pipewire tags", "https://gitlab.freedesktop.org/pipewire/pipewire/-/tags?format=atom", "ATOM"),83               ("xserver tags", "https://gitlab.freedesktop.org/xorg/xserver/-/tags?format=atom", "ATOM"), ("libinput tags", "https://gitlab.freedesktop.org/libinput/libinput/-/tags?format=atom", "ATOM"),84               ("poppler tags", "https://gitlab.freedesktop.org/poppler/poppler/-/tags?format=atom", "ATOM"), ("dbus tags", "https://gitlab.freedesktop.org/dbus/dbus/-/tags?format=atom", "ATOM")],85        repos=["flatpak/xdg-desktop-portal"]),86    src("hyprland", "Hyprland", "hyprland.org", ["hyprland", "hyprwm", "aquamarine", "hyprlock"], categories=OSOS, products=["Hyprland", "Hyprlock", "Hyprpaper", "Aquamarine"], repos=["hyprwm/Hyprland", "hyprwm/hyprlock", "hyprwm/hyprpaper", "hyprwm/aquamarine"]),87    src("sway", "Sway", "swaywm.org", ["sway wm", "swaywm", "swaylock", "swaybg"], categories=OSOS, repos=["swaywm/sway", "swaywm/swaylock", "swaywm/swaybg"]),88    src("i3wm", "i3 window manager", "i3wm.org", ["i3wm", "i3 wm", "i3status", "i3lock"], categories=OSOS, country="DE", repos=[("i3/i3", T), ("i3/i3status", T), ("i3/i3lock", T)]),89    src("niri-river", "Wayland compositors (niri, river, labwc, Wayfire, Cosmic)", "wayland.freedesktop.org", ["niri", "river wm", "labwc", "wayfire", "cage kiosk", "cosmic desktop", "waybar"], categories=OSOS,90        products=["niri", "river", "labwc", "Wayfire", "cage", "Waybar", "wofi", "fuzzel", "mako", "COSMIC"],91        repos=["YaLTeR/niri", "riverwm/river", "labwc/labwc", "WayfireWM/wayfire", "cage-kiosk/cage", "Alexays/Waybar", "emersion/mako", "pop-os/cosmic-epoch", "pop-os/cosmic-comp", "pop-os/cosmic-settings"]),92    src("xfce", "Xfce", "xfce.org", ["xfce", "xfce4", "thunar", "xfwm4"], categories=OSOS, feeds=[("news feed", "https://xfce.org/feed"), ("xfce4-panel tags", "https://gitlab.xfce.org/xfce/xfce4-panel/-/tags?format=atom", "ATOM"), ("xfwm4 tags", "https://gitlab.xfce.org/xfce/xfwm4/-/tags?format=atom", "ATOM"), ("thunar tags", "https://gitlab.xfce.org/xfce/thunar/-/tags?format=atom", "ATOM")]),93    src("mate-desktop", "MATE Desktop", "mate-desktop.org", ["mate desktop", "mate de", "caja", "marco"], categories=OSOS, repos=["mate-desktop/mate-desktop", "mate-desktop/caja", "mate-desktop/marco", "mate-desktop/mate-panel"]),94    src("lxqt", "LXQt", "lxqt-project.org", ["lxqt", "lxde", "pcmanfm"], categories=OSOS, repos=["lxqt/lxqt", "lxqt/pcmanfm-qt", "lxqt/lxqt-panel"]),95    src("budgie", "Budgie Desktop (Buddies of Budgie)", "buddiesofbudgie.org", ["budgie desktop", "buddies of budgie", "solus budgie"], categories=OSOS, repos=["BuddiesOfBudgie/budgie-desktop"]),96    src("linux-mint", "Linux Mint / Cinnamon", "linuxmint.com", ["linux mint", "cinnamon desktop", "mint linux", "lmde"], tier="B", categories=OSOS, country="IE", products=["Linux Mint", "Cinnamon", "Nemo", "Timeshift", "Warpinator"],97        repos=["linuxmint/cinnamon", "linuxmint/nemo", "linuxmint/timeshift", "linuxmint/warpinator", "linuxmint/mintupdate", "linuxmint/cinnamon-desktop"], feeds=[("blog feed", "https://blog.linuxmint.com/?feed=rss")]),98    src("elementary-os", "elementary OS", "elementary.io", ["elementary os", "pantheon desktop", "granite"], categories=OSOS, country="US", products=["elementary OS", "Pantheon", "Granite", "AppCenter"],99        repos=["elementary/os", "elementary/granite", "elementary/appcenter", "elementary/gala", "elementary/files", "elementary/terminal"], feeds=[("blog feed", "https://blog.elementary.io/feed.xml")]),100    src("system76", "System76 (Pop!_OS, COSMIC)", "system76.com", ["system76", "pop os", "pop!_os", "cosmic de", "launch keyboard", "thelio"], categories=OSOS, country="US", products=["Pop!_OS", "COSMIC", "System76 firmware", "Launch keyboard"],101        repos=["pop-os/pop", "pop-os/shell", "pop-os/system76-power", "pop-os/firmware-manager", "pop-os/launch", "pop-os/cosmic-files", "pop-os/cosmic-term", "pop-os/cosmic-edit", "pop-os/cosmic-launcher", "pop-os/cosmic-applets"], feeds=[("blog feed", "https://blog.system76.com/rss")]),102    src("rocky-linux", "Rocky Linux (RESF)", "rockylinux.org", ["rocky linux", "resf", "rocky enterprise software foundation", "peridot"], tier="B", categories=OSOS, country="US", repos=["rocky-linux/peridot", "rocky-linux/rocky-tools", "rocky-linux/srpmproc", "rocky-linux/rockylinux.org"], feeds=[("news feed", "https://rockylinux.org/news/rss.xml")]),103    src("almalinux", "AlmaLinux OS Foundation", "almalinux.org", ["almalinux", "alma linux", "cloudlinux almalinux", "elevate"], tier="B", categories=OSOS, country="US", products=["AlmaLinux OS", "ELevate", "AlmaLinux Kitten"], repos=["AlmaLinux/cloud-images", "AlmaLinux/almalinux-deploy", "AlmaLinux/leapp-repository", "AlmaLinux/elevate"], feeds=[("blog feed", "https://almalinux.org/blog/index.xml")]),104    src("centos", "CentOS Stream (Red Hat)", "centos.org", ["centos", "centos stream", "centos hyperscale"], categories=OSOS, country="US", feeds=[("blog feed", "https://blog.centos.org/feed/"), ("news feed", "https://www.centos.org/rss.xml")]),105    src("oracle-linux", "Oracle Linux", "oracle.com/linux", ["oracle linux", "unbreakable enterprise kernel", "uek", "ksplice"], categories=OSOS, country="US", repos=["oracle/linux-uek", "oracle/oracle-linux", "oracle/ol-sample-scripts", "oracle/vagrant-projects"], feeds=[("linux blog", "https://blogs.oracle.com/linux/rss")]),106    src("void-linux", "Void Linux", "voidlinux.org", ["void linux", "xbps", "runit"], categories=OSOS, repos=["void-linux/xbps", "void-linux/void-mklive", "void-linux/void-runit", "void-linux/void-docs"], feeds=[("news feed", "https://voidlinux.org/atom.xml", "ATOM")]),107    src("manjaro", "Manjaro", "manjaro.org", ["manjaro linux", "pamac", "manjaro gmbh"], categories=OSOS, country="DE", repos=["manjaro/manjaro-tools", "manjaro/manjaro-settings-manager", "manjaro/mhwd", "manjaro/iso-profiles", "manjaro/manjaro-hello"], feeds=[("news feed", "https://manjaro.org/feed.xml")]),108    src("endeavouros", "EndeavourOS", "endeavouros.com", ["endeavouros", "endeavour os"], categories=OSOS, repos=["endeavouros-team/EndeavourOS-ISO", "endeavouros-team/calamares", "endeavouros-team/eos-bash-shared", "endeavouros-team/welcome", "endeavouros-team/endeavouros-theming", "endeavouros-team/keyring", "endeavouros-team/eos-packagelist", "endeavouros-team/eos-log-tool", "endeavouros-team/eos-update-notifier", "endeavouros-team/repo"], feeds=[("news feed", "https://endeavouros.com/feed/")]),109    src("cachyos", "CachyOS", "cachyos.org", ["cachyos", "cachy kernel", "cachyos kernel"], categories=OSOS, repos=["CachyOS/linux-cachyos", "CachyOS/CachyOS-PKGBUILDS", "CachyOS/cachyos-settings", "CachyOS/CachyOS-Live-ISO", "CachyOS/kernel-patches", "CachyOS/cachyos-hello", "CachyOS/cachyos-kernel-manager", "CachyOS/cachyos-ananicy-rules", "CachyOS/rate-mirrors", "CachyOS/cachyos-packageinstaller"], feeds=[("blog feed", "https://cachyos.org/rss.xml")]),110    src("garuda-linux", "Garuda Linux", "garudalinux.org", ["garuda linux", "garuda"], categories=OSOS, feeds=[("gitlab tags", "https://gitlab.com/garuda-linux/tools/garuda-tools/-/tags?format=atom", "ATOM")]),111    src("zorin-os", "Zorin OS", "zorin.com", ["zorin os", "zorin group"], categories=OSOS, country="IE", feeds=[("blog feed", "https://blog.zorin.com/rss/")]),112    src("solus", "Solus", "getsol.us", ["solus project", "solus linux", "eopkg"], categories=OSOS, repos=["getsolus/packages", "getsolus/eopkg", "getsolus/ferryd", "getsolus/usysconf", "getsolus/solbuild", "getsolus/ypkg", "getsolus/help-center-docs", "getsolus/cuppa", "getsolus/clr-boot-manager", "getsolus/qol-assist"], feeds=[("news feed", "https://getsol.us/rss.xml")]),113    src("tails", "Tails", "tails.net", ["tails os", "the amnesic incognito live system"], categories=OSSEC, feeds=[("news feed", "https://tails.net/news/index.rss")]),114    src("asahi-linux", "Asahi Linux", "asahilinux.org", ["asahi linux", "fedora asahi remix", "apple silicon linux"], categories=OSOS, repos=["AsahiLinux/linux", "AsahiLinux/m1n1", "AsahiLinux/asahi-installer", "AsahiLinux/u-boot", "AsahiLinux/asahi-audio", "AsahiLinux/asahi-scripts", "AsahiLinux/docs", "AsahiLinux/macvdmtool", "AsahiLinux/PKGBUILDs", "AsahiLinux/speakersafetyd"], feeds=[("blog feed", "https://asahilinux.org/blog/index.xml")]),115    src("postmarketos", "postmarketOS", "postmarketos.org", ["postmarketos", "pmos", "pmbootstrap"], categories=OSOS, feeds=[("blog feed", "https://postmarketos.org/blog/feed.atom", "ATOM"), ("pmbootstrap tags", "https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/tags?format=atom", "ATOM")]),116    src("ubuntu-touch", "UBports (Ubuntu Touch)", "ubports.com", ["ubports", "ubuntu touch", "lomiri"], categories=OSOS, country="DE", feeds=[("news feed", "https://ubports.com/blog/ubports-news-1/feed")], repos=["ubports/ubuntu-touch", "ubports/ubports-installer", "ubports/morph-browser", "ubports/docs.ubports.com", "ubports/lomiri-end"]),117    ext("freebsd", repos=[("freebsd/freebsd-src", T), ("freebsd/freebsd-ports", T), "freebsd/pkg", ("freebsd/freebsd-doc", T)], products=["FreeBSD src", "FreeBSD ports", "pkg"]),118    ext("openbsd", repos=[("openbsd/src", T), ("openbsd/ports", T)], products=["OpenBSD src mirror", "OpenBSD ports mirror"]),119    ext("netbsd", repos=[("NetBSD/src", T), ("NetBSD/pkgsrc", T)], products=["NetBSD src mirror", "pkgsrc"]),120    src("dragonflybsd", "DragonFly BSD", "dragonflybsd.org", ["dragonfly bsd", "dragonflybsd", "hammer2"], categories=OSOS, repos=[("DragonFlyBSD/DragonFlyBSD", T), ("DragonFlyBSD/DPorts", T)]),121    src("ghostbsd", "GhostBSD / MidnightBSD / desktop BSDs", "ghostbsd.org", ["ghostbsd", "midnightbsd", "nomadbsd", "helloSystem", "ravynos"], categories=OSOS, products=["GhostBSD", "MidnightBSD", "NomadBSD", "helloSystem", "ravynOS"],122        repos=[("ghostbsd/ghostbsd-src", T), ("MidnightBSD/src", T), ("nomadbsd/NomadBSD", T), "helloSystem/hello", ("ravynsoft/ravynos", T)]),123    src("illumos", "illumos / OpenIndiana / OmniOS", "illumos.org", ["illumos", "openindiana", "omnios", "smartos", "tribblix"], categories=OSOS, products=["illumos-gate", "OpenIndiana", "OmniOS", "SmartOS", "Tribblix"],124        repos=[("illumos/illumos-gate", T), ("OpenIndiana/oi-userland", T), ("omniosorg/illumos-omnios", T), ("TritonDataCenter/smartos-live", T), ("tribblix/build", T)]),125    src("haiku", "Haiku", "haiku-os.org", ["haiku os", "beos", "haiku operating system"], categories=OSOS, repos=[("haiku/haiku", T), ("haiku/haikuports", T), ("haiku/buildtools", T)], feeds=[("blog feed", "https://www.haiku-os.org/blog/index.xml"), ("news feed", "https://www.haiku-os.org/news/index.xml")]),126    src("reactos", "ReactOS", "reactos.org", ["reactos"], categories=OSOS, country="DE", repos=["reactos/reactos", "reactos/RosBE", "reactos/wine", "reactos/reactos.org", "reactos/rosapps", "reactos/reactos-end"], feeds=[("news feed", "https://reactos.org/rss.xml")]),127    src("redox-os", "Redox OS", "redox-os.org", ["redox os", "redox", "relibc", "orbital"], categories=OSOS, feeds=[("news feed", "https://www.redox-os.org/news/index.xml"), ("redox tags (gitlab)", "https://gitlab.redox-os.org/redox-os/redox/-/tags?format=atom", "ATOM"), ("relibc tags", "https://gitlab.redox-os.org/redox-os/relibc/-/tags?format=atom", "ATOM"), ("kernel tags", "https://gitlab.redox-os.org/redox-os/kernel/-/tags?format=atom", "ATOM")]),128    src("serenityos", "SerenityOS", "serenityos.org", ["serenityos", "serenity os"], categories=OSOS, repos=[("SerenityOS/serenity", T), ("SerenityOS/jakt", T), ("SerenityOS/ladybird", T)]),129    src("ladybird", "Ladybird Browser Initiative", "ladybird.org", ["ladybird browser", "ladybird", "libweb", "libjs"], tier="B", categories=["open-source", "internet"], country="US", repos=[("LadybirdBrowser/ladybird", T)], feeds=[("news feed", "https://ladybird.org/feed.xml")]),130    src("servo", "Servo (Linux Foundation Europe)", "servo.org", ["servo browser engine", "servo", "stylo", "webrender"], tier="C", llm=False, categories=["open-source", "internet"], country="BE", products=["Servo", "Stylo", "WebRender"], repos=["servo/servo", "servo/stylo", "servo/webrender", "servo/rust-url", "servo/html5ever", "servo/font-kit", "servo/pathfinder", "servo/euclid", "servo/ipc-channel", "servo/core-foundation-rs"], notes="servo/servo publishes a nightly release every day: heuristics only", feeds=[("blog feed", "https://servo.org/blog/feed.xml")]),131    src("quickjs", "QuickJS / lightweight JS engines", "bellard.org", ["quickjs", "quickjs-ng", "fabrice bellard", "duktape", "jerryscript", "mujs", "boa engine", "hermes", "kiesel", "njs", "espruino", "elk js", "goja", "otto", "rhino", "nashorn", "graaljs", "chakracore", "jsc", "v8"], categories=OSD, country="FR",132        products=["QuickJS", "QuickJS-ng", "Duktape", "JerryScript", "MuJS", "Boa", "Kiesel", "Espruino", "Elk", "goja", "otto", "Nashorn", "ChakraCore"],133        repos=["bellard/quickjs", "quickjs-ng/quickjs", "svaarala/duktape", "jerryscript-project/jerryscript", "ccxvii/mujs", "boa-dev/boa", "espruino/Espruino", "cesanta/elk", "dop251/goja", "robertkrimen/otto", "openjdk/nashorn", "chakra-core/ChakraCore", ("v8/v8", T), ("WebKit/WebKit", T), ("mozilla-firefox/firefox", T), ("brave/brave-core", T), ("chromium/chromium", T), "nwjs/nw.js", "webview/webview", "tauri-apps/wry"]),134    src("zephyr-rtos", "RTOS ecosystem (Zephyr companions, NuttX, ThreadX, RT-Thread, Mbed)", "zephyrproject.org", ["threadx", "eclipse threadx", "rt-thread", "mbed os", "chibios", "contiki-ng", "littlefs", "lvgl", "mynewt", "azure rtos", "embox", "nuttx", "tinygo", "arduino core", "cmsis", "tinyusb", "lwip", "mbedtls", "wolfssl", "zephyr", "riot", "freertos", "tock", "hubris", "oxide"], categories=OSD,135        products=["Eclipse ThreadX", "RT-Thread", "Mbed OS", "ChibiOS", "Contiki-NG", "littlefs", "LVGL", "Apache Mynewt", "TinyGo", "CMSIS", "TinyUSB", "lwIP", "Mbed TLS", "wolfSSL", "Hubris", "Embox", "Nuttx Apps", "Zephyr west", "Zephyr SDK", "Zephyr"],136        repos=["eclipse-threadx/threadx", "RT-Thread/rt-thread", "ARMmbed/mbed-os", ("ChibiOS/ChibiOS", T), "contiki-ng/contiki-ng", "littlefs-project/littlefs", "lvgl/lvgl", ("apache/mynewt-core", T), "tinygo-org/tinygo", "ARM-software/CMSIS_6", "hathach/tinyusb", ("lwip-tcpip/lwip", T), "Mbed-TLS/mbedtls", "wolfSSL/wolfssl", "oxidecomputer/hubris", "embox/embox", "apache/nuttx-apps", "mcu-tools/mcuboot", "zephyrproject-rtos/example-application", "nrfconnect/sdk-nrf"]),137138    "Corporate open-source programs",139    ext("google", repos=["protocolbuffers/protobuf", "google/gvisor", "google/or-tools", "google/flatbuffers", "google/brotli", "google/re2", "google/leveldb", "google/googletest", "google/benchmark", "google/zx", "GoogleChrome/lighthouse", "GoogleChrome/workbox", "google/mediapipe", "google/tink", "google/wuffs", "google/highway", "google/snappy", "google/cel-spec", "google/cel-go", "google/material-design-icons", "material-components/material-web", ("google/fonts", T), "google/osv.dev", "google/clusterfuzz", "google/santa", "google/cadvisor", "google/pprof", "google/go-github", "google/error-prone", "google/truth", "google/j2objc", "google/closure-compiler", "google/blockly", "google/model-viewer", "google/filament", "google/draco", ("google/skia", T), ("google/angle", T), ("google/swiftshader", T), ("google/dawn", T), "google/XNNPACK", "google/gemma.cpp", "google/sentencepiece", "google/magika", "google/yggdrasil-decision-forests", "google/tsunami-security-scanner", "google/oss-fuzz-gen", "google/glog", "google/gflags", "googleapis/google-api-nodejs-client", "googleapis/google-auth-library-python", "googleapis/google-auth-library-nodejs", "googleapis/google-cloud-node", "googleapis/google-cloud-java", "googleapis/google-cloud-dotnet", "googleapis/google-cloud-php", "googleapis/google-cloud-ruby", "googleapis/google-cloud-cpp", "googleapis/google-cloud-rust", "googleapis/google-cloudevents", "GoogleCloudPlatform/cloud-sql-proxy", "GoogleCloudPlatform/functions-framework-nodejs", "GoogleCloudPlatform/functions-framework-python", "GoogleCloudPlatform/functions-framework-go", "GoogleCloudPlatform/buildpacks", "GoogleCloudPlatform/berglas", "GoogleCloudPlatform/k8s-config-connector", "GoogleCloudPlatform/magic-modules", "GoogleCloudPlatform/cloud-foundation-fabric", "GoogleCloudPlatform/generative-ai", "GoogleCloudPlatform/python-docs-samples", "GoogleCloudPlatform/nodejs-docs-samples", "GoogleCloudPlatform/golang-samples", "GoogleCloudPlatform/java-docs-samples", "GoogleCloudPlatform/vertex-ai-samples", "GoogleCloudPlatform/agent-starter-pack", "GoogleCloudPlatform/ops-agent", "GoogleCloudPlatform/gcsfuse", "GoogleCloudPlatform/kubernetes-engine-samples", "GoogleCloudPlatform/microservices-demo", "GoogleCloudPlatform/bank-of-anthos", "GoogleCloudPlatform/DataflowTemplates", "GoogleCloudPlatform/bigquery-utils", "GoogleCloudPlatform/dataproc-templates", "GoogleCloudPlatform/spanner-migration-tool", "GoogleCloudPlatform/pgadapter", "GoogleCloudPlatform/alloydb-auth-proxy", "GoogleCloudPlatform/cloud-sql-go-connector", "GoogleCloudPlatform/cloud-sql-python-connector", "GoogleCloudPlatform/cloud-sql-nodejs-connector", "GoogleCloudPlatform/cloud-sql-jdbc-socket-factory", "GoogleCloudPlatform/docker-credential-gcr", "GoogleCloudPlatform/cloud-builders", "GoogleCloudPlatform/cloud-builders-community", "google-github-actions/auth", "google-github-actions/setup-gcloud", "google-github-actions/deploy-cloudrun", "google-github-actions/get-gke-credentials", "google-github-actions/upload-cloud-storage", "google-github-actions/deploy-cloud-functions", "google-github-actions/get-secretmanager-secrets", "google-github-actions/release-please-action", "google-github-actions/deploy-appengine", "google-github-actions/ssh-compute"],140        products=["Protocol Buffers", "gVisor", "OR-Tools", "FlatBuffers", "Brotli", "RE2", "LevelDB", "GoogleTest", "Benchmark", "zx", "Lighthouse", "Workbox", "MediaPipe", "Tink", "Wuffs", "Highway", "Snappy", "CEL", "Material Icons", "Material Web", "Google Fonts", "OSV.dev", "ClusterFuzz", "Santa", "cAdvisor", "pprof", "go-github", "Error Prone", "Truth", "J2ObjC", "Closure Compiler", "Blockly", "model-viewer", "Filament", "Draco", "Skia", "ANGLE", "SwiftShader", "Dawn", "XNNPACK", "gemma.cpp", "SentencePiece", "Magika", "YDF", "Tsunami", "OSS-Fuzz-gen", "glog", "gflags", "Google API Node client", "google-auth-library", "Cloud SQL Proxy", "Functions Framework", "GCP Buildpacks", "Berglas", "Config Connector", "Magic Modules", "Cloud Foundation Fabric", "Ops Agent", "gcsfuse", "Online Boutique", "Bank of Anthos", "Dataflow Templates", "Spanner migration tool", "PGAdapter", "AlloyDB Auth Proxy", "Cloud SQL connectors", "docker-credential-gcr", "Cloud Builders", "google-github-actions"]),141    src("meta-open-source", "Meta Open Source", "opensource.fb.com", ["meta open source", "facebook open source", "rocksdb", "zstd", "folly", "buck2", "sapling", "prophet", "velox", "detectron2", "pyrefly", "watchman"], categories=OSD, country="US",142        products=["RocksDB", "Zstandard", "Folly", "Buck2", "Sapling", "Prophet", "Velox", "Detectron2", "Pyrefly", "Watchman", "Hack", "HHVM", "Infer", "fbthrift", "Proxygen", "Fizz", "Wangle", "CacheLib", "Ax", "Nevergrad"],143        repos=["facebook/rocksdb", "facebook/zstd", "facebook/folly", "facebook/buck2", "facebook/sapling", "facebook/prophet", "facebookincubator/velox", "facebookresearch/detectron2", "facebook/pyrefly", "facebook/watchman", "facebook/hhvm", "facebook/infer", "facebook/fbthrift", "facebook/proxygen", "facebookincubator/CacheLib", "facebook/Ax", "facebookresearch/nevergrad", "facebookresearch/hydra", "facebookresearch/xformers", "facebookresearch/segment-anything"]),144    ext("netflix", repos=["Netflix/metaflow", "Netflix/dispatch", "Netflix/zuul", "Netflix/eureka", "Netflix/spectator", "Netflix/atlas", "Netflix/genie", "Netflix/chaosmonkey", "Netflix/consoleme", "Netflix/lemur"], products=["Metaflow", "Dispatch", "Zuul", "Eureka", "Spectator", "Atlas", "Genie", "Chaos Monkey", "ConsoleMe", "Lemur"]),145    ext("uber", repos=["uber/cadence", "uber/h3", "uber-go/fx", "uber/piranha", "uber/kraken", "uber/orbit", "uber/causalml", "uber/RIBs", "uber/baseweb", "uber/nebula.gl"], products=["Cadence", "H3", "Fx", "Piranha", "Kraken", "Orbit", "CausalML", "RIBs", "Base Web", "nebula.gl"]),146    ext("airbnb", repos=["airbnb/lottie-web", "airbnb/lottie-android", "airbnb/lottie-ios", "airbnb/epoxy", "airbnb/visx", ("airbnb/javascript", T), "airbnb/knowledge-repo", "airbnb/ottr", "airbnb/mavericks", "airbnb/Showkase"], products=["Lottie Web", "Lottie Android", "Lottie iOS", "Epoxy", "visx", "Airbnb JavaScript Style Guide", "Knowledge Repo", "Ottr", "Mavericks", "Showkase"]),147    ext("shopify", repos=["Shopify/hydrogen", "Shopify/polaris", "Shopify/liquid", "Shopify/toxiproxy", "Shopify/cli", "Shopify/shopify-api-js", "Shopify/shopify_python_api", "Shopify/shopify-api-ruby", "Shopify/dawn", "Shopify/theme-tools"], products=["Hydrogen", "Polaris", "Liquid", "Toxiproxy", "Shopify CLI", "shopify-api-js", "ShopifyAPI (Python)", "shopify_api (Ruby)", "Dawn theme", "Theme tools"]),148    ext("stripe", repos=["stripe/stripe-node", "stripe/stripe-python", "stripe/stripe-go", "stripe/stripe-cli", "stripe/stripe-java", "stripe/stripe-ruby", "stripe/stripe-php", "stripe/stripe-dotnet", "stripe/stripe-js", "stripe/stripe-react-native", "stripe/stripe-ios", "stripe/stripe-android", "stripe/agent-toolkit", "stripe/stripe-mock", "stripe/smokescreen", "stripe/veneur", "stripe/skycfg", "stripe/stripe-terminal-react-native", "stripe/stripe-postman", "stripe/react-stripe-js"],149        products=["stripe-node", "stripe-python", "stripe-go", "Stripe CLI", "stripe-java", "stripe-ruby", "stripe-php", "stripe-dotnet", "Stripe.js", "Stripe React Native", "Stripe iOS SDK", "Stripe Android SDK", "Agent Toolkit", "stripe-mock", "Smokescreen", "Veneur", "skycfg", "Terminal React Native", "Postman collection", "React Stripe.js"]),150    ext("alibaba-cloud", repos=["alibaba/nacos", "alibaba/arthas", "alibaba/Sentinel", "alibaba/spring-cloud-alibaba", "alibaba/canal", "alibaba/fastjson2", "alibaba/druid", "alibaba/DataX", "alibaba/higress", "alibaba/ice"],151        products=["Nacos", "Arthas", "Sentinel", "Spring Cloud Alibaba", "Canal", "fastjson2", "Druid connection pool", "DataX", "Higress", "ice.js"]),152    ext("tencent-cloud", repos=["Tencent/tdesign-vue-next", "Tencent/tdesign-react", "Tencent/wujie", "Tencent/omi", "Tencent/APIJSON", "Tencent/ncnn", "Tencent/TNN", "Tencent/puerts", "Tencent/libpag", "Tencent/tmagic-editor"],153        products=["TDesign Vue Next", "TDesign React", "wujie", "OMI", "APIJSON", "ncnn", "TNN", "PuerTS", "libpag", "tmagic-editor"]),154    ext("spotify", repos=["spotify/luigi", "spotify/pedalboard", "spotify/basic-pitch", "spotify/voyager", "spotify/annoy", "spotify/chartify", "spotify/scio", "spotify/fmt-maven-plugin", "spotify/spotify-web-api-ts-sdk", "spotify/ruler"],155        products=["Luigi", "Pedalboard", "Basic Pitch", "Voyager", "Annoy", "Chartify", "Scio", "fmt-maven-plugin", "Spotify Web API TS SDK", "Ruler"]),156    ext("red-hat", repos=["containers/podman-compose", "openshift/okd", "openshift/installer", "openshift/oc", "operator-framework/operator-lifecycle-manager", "openshift/microshift", "openshift-pipelines/pipelines-as-code", "RedHatInsights/insights-core", "coreos/butane", "coreos/ignition", "coreos/rpm-ostree", "coreos/fedora-coreos-config", "ostreedev/ostree", "containers/bootc", "containers/toolbox", "containers/composefs", "containers/ramalama", "containers/ansible-podman-collections", "containers/podman-tui", "containers/podlet"],157        products=["podman-compose", "OKD", "OpenShift installer", "oc", "OLM", "MicroShift", "Pipelines as Code", "insights-core", "Butane", "Ignition", "rpm-ostree", "Fedora CoreOS config", "OSTree", "bootc", "Toolbx", "composefs", "RamaLama", "Podman Ansible collection", "podman-tui", "Podlet"]),158    ext("suse", repos=["OSInside/kiwi", "openSUSE/osc", "openSUSE/open-build-service", "openSUSE/zypper", "openSUSE/libzypp", "openSUSE/MirrorCache", "openSUSE/agama", "openSUSE/tumbleweed-cli", "openSUSE/transactional-update", "SUSE/saptune", "uyuni-project/uyuni", "SUSE/connect-ng", "SUSE/ha-sap-terraform-deployments", "kubewarden/kubewarden-controller", "kubewarden/policy-server", "kubewarden/kwctl", "rancher/elemental", "rancher/elemental-toolkit", "rancher/elemental-operator", "os-autoinst/os-autoinst", "os-autoinst/openQA"],159        products=["KIWI", "osc", "Open Build Service", "zypper", "libzypp", "MirrorCache", "Agama installer", "tumbleweed-cli", "transactional-update", "saptune", "Uyuni", "connect-ng", "ha-sap-terraform-deployments", "Kubewarden", "policy-server", "kwctl", "Elemental", "Elemental toolkit", "Elemental operator", "os-autoinst", "openQA"]),160    ext("aws", repos=["eksctl-io/eksctl", "bottlerocket-os/bottlerocket", "amazonlinux/amazon-linux-2023", "aws/amazon-vpc-cni-k8s", "aws/copilot-cli", "aws/aws-sam-cli", "aws/amazon-ecs-agent", "aws/aws-node-termination-handler", "aws/aws-lambda-runtime-interface-emulator", "aws/aws-sdk-pandas", "aws-powertools/powertools-lambda-python", "aws-powertools/powertools-lambda-typescript", "aws/aws-toolkit-vscode", "aws/amazon-q-developer-cli", "aws/aws-lc", "aws/s2n-tls", "aws/aws-nitro-enclaves-cli", "aws-controllers-k8s/community", "awslabs/mountpoint-s3", "aws/amazon-ssm-agent", "aws/amazon-cloudwatch-agent", "aws-observability/aws-otel-collector", "aws/aws-sdk-java-v2", "aws/aws-sdk-net", "aws/aws-sdk-php", "aws/aws-sdk-ruby", "aws/aws-sdk-cpp", "aws/aws-sdk-rust", "aws/aws-sdk-kotlin", "aws/aws-sdk-swift", "aws-amplify/amplify-js", "aws-amplify/amplify-cli", "aws-amplify/amplify-ui", "aws-amplify/amplify-backend", "aws-amplify/amplify-swift", "aws-amplify/amplify-android", "aws-amplify/amplify-flutter", "aws-samples/amazon-bedrock-samples", "aws-samples/aws-cdk-examples", "aws-samples/serverless-patterns", "aws-samples/aws-genai-llm-chatbot", "awslabs/agent-squad", "awslabs/mcp", "awslabs/llrt", "awslabs/git-secrets", "smithy-lang/smithy", "smithy-lang/smithy-rs", "smithy-lang/smithy-typescript", "smithy-lang/smithy-go", "smithy-lang/smithy-kotlin", "smithy-lang/smithy-swift", "smithy-lang/smithy-java", "smithy-lang/smithy-python", "smithy-lang/smithy-language-server", "smithy-lang/smithy-vscode", "smithy-lang/smithy-examples"],161        products=["eksctl", "Bottlerocket", "Amazon Linux 2023", "Amazon VPC CNI", "Copilot CLI", "SAM CLI", "ECS agent", "Node Termination Handler", "Lambda RIE", "AWS SDK for pandas", "Powertools for AWS Lambda (Python)", "Powertools for AWS Lambda (TypeScript)", "AWS Toolkit for VS Code", "Amazon Q Developer CLI", "AWS-LC", "s2n-tls", "Nitro Enclaves CLI", "ACK", "Mountpoint for S3", "SSM Agent", "CloudWatch agent", "ADOT Collector", "AWS SDK for Java v2", "AWS SDK for .NET", "AWS SDK for PHP", "AWS SDK for Ruby", "AWS SDK for C++", "AWS SDK for Rust", "AWS SDK for Kotlin", "AWS SDK for Swift", "Amplify JS", "Amplify CLI", "Amplify UI", "Amplify Backend", "Amplify Swift", "Amplify Android", "Amplify Flutter", "Bedrock samples", "CDK examples", "Serverless patterns", "GenAI LLM chatbot", "Agent Squad", "AWS MCP servers", "LLRT", "git-secrets", "Smithy", "smithy-rs", "smithy-typescript", "smithy-go", "smithy-kotlin", "smithy-swift", "smithy-java", "smithy-python", "Smithy language server", "Smithy VS Code", "Smithy examples"]),162163    "Documentation and publishing tools",164    ext("astro", repos=["withastro/starlight", "withastro/compiler", "withastro/language-tools", "withastro/action", "withastro/docs"], products=["Starlight", "Astro compiler", "Astro language tools", "withastro/action", "Astro docs"]),165    src("pandoc", "Pandoc", "pandoc.org", ["pandoc", "john macfarlane"], tier="B", categories=OSD, repos=["jgm/pandoc", "jgm/djot", "jgm/citeproc", "jgm/skylighting", "jgm/texmath", "jgm/commonmark-hs", "jgm/cmark", "jgm/gitit", "pandoc/lua-filters", "pandoc/dockerfiles", "pandoc/pandoc-types"]),166    src("typst", "Typst", "typst.app", ["typst"], tier="B", categories=OSD, country="DE", repos=["typst/typst", "typst/packages", "typst/hayagriva", "Myriad-Dreamin/tinymist", "typst/pdf-writer", "typst/svg2pdf", "typst/codex", "typst/biblatex", "typst/citationberg", "Enter-tainer/typstyle", "typst/templates"]),167    src("asciidoctor", "Asciidoctor", "asciidoctor.org", ["asciidoctor", "asciidoc", "antora"], categories=OSD, products=["Asciidoctor", "Asciidoctor PDF", "Asciidoctor.js", "AsciidoctorJ", "Antora", "Asciidoctor Diagram", "Asciidoctor EPUB3", "Asciidoctor Reveal.js", "Asciidoctor Kroki", "asciidoctor-vscode"],168        repos=["asciidoctor/asciidoctor", "asciidoctor/asciidoctor-pdf", "asciidoctor/asciidoctor.js", "asciidoctor/asciidoctorj", "asciidoctor/asciidoctor-diagram", "asciidoctor/asciidoctor-epub3", "asciidoctor/asciidoctor-reveal.js", "asciidoctor/asciidoctor-kroki", "asciidoctor/asciidoctor-vscode", "asciidoctor/asciidoctor-intellij-plugin", "asciidoctor/docker-asciidoctor", "asciidoctor/asciidoctor-maven-plugin", "asciidoctor/asciidoctor-gradle-plugin", "asciidoctor/asciidoctor-browser-extension", "asciidoctor/asciidoctor-bibtex", "asciidoctor/asciidoctor-tabs", "asciidoctor/asciidoctor-web-pdf", "asciidoctor/asciidoctor-end", ("antora/antora", T)]),169    src("read-the-docs", "Read the Docs", "readthedocs.org", ["read the docs", "readthedocs", "rtd"], categories=OSD, country="US", repos=["readthedocs/readthedocs.org", "readthedocs/sphinx_rtd_theme", "readthedocs/addons", "readthedocs/actions", "readthedocs/sphinx-autoapi", "readthedocs/sphinx-notfound-page", "readthedocs/readthedocs-sphinx-ext", "readthedocs/sphinx-hoverxref", "readthedocs/blog", "readthedocs/website"]),170    src("docs-frameworks", "Documentation frameworks (Nextra, Fumadocs, Docsify, Slidev, Marp, reveal.js)", "nextra.site", ["nextra", "fumadocs", "docsify", "slidev", "marp", "reveal.js", "mintlify", "docmost", "outline", "gitbook", "bookstack"], categories=OSD,171        products=["Nextra", "Fumadocs", "Docsify", "Slidev", "Marp", "reveal.js", "Mintlify components", "Docz", "Docute", "Vocs"],172        repos=["shuding/nextra", "fuma-nama/fumadocs", "docsifyjs/docsify", "slidevjs/slidev", "marp-team/marp-cli", "hakimel/reveal.js", "mintlify/components", "wevm/vocs", "cloudcannon/pagefind", "algolia/docsearch"]),173]174