1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/shirdonl-awesome-rust

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Код на Rust и ресурсы: сводка

Список ресурсов, посвящённых коду на Rust, поможет вам быстро стать профессионалом в этой области!

  • Советы: Автор книги «Go Web-программирование на практике: от новичка до профи» выпустил книгу. Если вы хотите изучить язык Go, приглашаем вас приобрести её на платформах JD или Dangdang.

  • Советы: Автор книги «Разработка и практика на высоком уровне с использованием языка Go» выпустил книгу. Приглашаем вас приобрести её на площадках JD и Dangdang, если вы хотите изучать продвинутую разработку на Go.

Содержание

  • Приложения

    • Аудио

    • Криптовалюта

    • [Базы данных](#базы данных)

    • Игры

    • Графика

    • [Промышленная автоматизация](#промышленная автоматизация)

    • [Операционные системы](#операционные системы)

    • Производительность

    • [Инструменты безопасности](#инструменты безопасности)

    • [Системные инструменты](#системные инструменты)

    • [Текстовые редакторы](#текстовые редакторы)

    • [Обработка текста](#обработка текста)

    • [Общественные услуги](#общественные услуги)

    • Видео

    • Виртуализация

    • [Диспетчер окон](#диспетчер окон)

    • Веб-страницы

    • [Сетевые серверы](#сетевые серверы)

  • [Инструментарий разработки](#инструментарий разработки)

  • Библиотеки

    • [Искусственный интеллект](#искусственный интеллект)

      • [Генетические алгоритмы](#генетические алгоритмы)

      • [Машинное обучение](#машинное обучение)

    • Астрономия

    • Асинхронность

    • Аудио

    • Аутентификация

    • Автомобили

    • Биоинформатика

    • Кэширование

    • [Облачные вычисления](#облачные вычисления)

    • [Командная строка](#командная строка)

    • Сжатие

    • Вычисления

    • Параллелизм

    • Конфигурация

    • Криптография

    • [Базы данных](#базы данных-1)

    • [Обработка данных](#обработка данных)

    • [Структура данных](#структура данных)

    • [Визуализация данных](#визуализация данных)

    • [Дата и время](#дата и время)

    • [Распределённые системы](#распределённые системы)

    • [Электронная почта](#электронная почта)

    • Кодирование

    • [Файловая система](#файловая система)

    • [Разработка игр](#разработка игр)

    • Геопространство

    • Графика

    • [Графический процессор](#графический процессор)

    • GUI

    • [Обработка изображений](#обработка изображений)

    • [Промышленная автоматизация](#промышленная автоматизация)

    • [Языковые стандарты](#языковые стандарты)

    • Журналирование

    • Макросы

    • [Язык разметки](#язык разметки)

    • [Мобильные устройства](#мобильные устройства)

    • [Сетевое программирование](#сетевое программирование)

    • Разбор

    • [Периферийные устройства](#периферийные устройства)

    • [Платформозависимый код](#платформозависимый код)

    • Скрипты

    • [Шаблонные движки](#шаблонные движки)

    • [Обработка текстов](#обработка текстов)

    • [Поиск по тексту](#поиск по тексту)

    • Виртуализация

    • [Сетевое программирование](#сетевое программирование)

*[Центр регистрации](#центр регистрации)

*Ресурсы

*Лицензии * Factotum — система для программного запуска конвейеров данных.

  • fcsonline/drill — приложение для нагрузочного тестирования HTTP, вдохновлённое синтаксисом Ansible.
  • Fractalide — простые микросервисы на Rust.
  • habitat — инструмент от Chef для сборки, развёртывания и управления приложениями.
  • Herd — экспериментальное приложение для нагрузочного тестирования HTTP.
  • intecture/api — инструмент для управления сервером и настройки конфигурации на основе API.
  • jedisct1/flowgger — быстрый, простой и лёгкий сборщик данных.
  • kbknapp/docli-rs — утилита командной строки для управления инфраструктурой DigitalOcean.
  • limonite — статический генератор блогов и веб-сайтов.
  • MaidSafe — децентрализованная платформа.
  • mdBook — утилита командной строки для создания книг из файлов Markdown.
  • nicohman/eidolon — реестр игр без использования Steam и DRM для Linux и macOS.
  • notty — новый вид терминала.
  • Pijul — распределённая система контроля версий на основе патчей.
  • rsign — простой инструмент командной строки для генерации, подписи и проверки цифровых подписей, совместимый с Minisign.
  • Sandstorm Collections App — приложение коллекций Sandstorm.
  • Servo — прототип движка веб-браузера.
  • trust-dns — DNS-сервер.
  • Weld — полноценный генератор поддельных REST API.
  • kytan — высокопроизводительный одноранговый VPN.

Аудио

  • indiscipline/zrtstr — утилита командной строки для проверки стереофайлов WAV на наличие псевдостерео (то есть идентичных каналов) и преобразования таких файлов в моно.

Криптовалюты

  • Bitcoin Satoshi's Vision — библиотека Rust для работы с Bitcoin SV.

  • cardano-cli — интерфейс командной строки Cardano (CLI).

  • ChainX — полностью децентрализованное межцепочечное управление криптоактивами на Polkadot.

  • coinbase-pro-rs — Coinbase pro client в Rust, поддерживает sync/async/websocket

  • ethaddrgen — Custom Ethereum vanity address generator, сделан на Rust.

  • Grin — эволюция протокола MimbleWimble.

  • hdwallet — утилиты для работы с ключами BIP-32 HD кошелька.

  • infincia/bip39-rs — реализация BIP39 на Rust.

  • Joystream — управляемая пользователями видеоплатформа.

  • nearprotocol/nearcore — децентрализованная платформа смарт-контрактов для недорогих мобильных устройств.

  • Nervos CKB — Nervos CKB — это публичный блокчейн без разрешений, общий уровень знаний сети Nervos.

  • Nimiq — реализация узла Nimiq на Rust.

  • Parity-Bitcoin — клиент Parity Bitcoin.

  • Parity-Bridge — мост между любыми двумя сетями на основе Ethereum.

  • Parity-Ethereum — быстрый, лёгкий и надёжный клиент Ethereum.

  • Parity-Zcash — реализация протокола Zcash на Rust.

  • Polkadot — гетерогенная мультицепочечная технология с объединённой безопасностью.

  • rbtc — конвертация BTC в любую валюту и наоборот.

  • rust-cardano — реализация Cardano на Rust.

  • Substrate — универсальный модульный шаблон блокчейна, написанный на Rust.

  • wagu — создание кошелька для любой криптовалюты.

  • zcash — Zcash — это реализация протокола «Zerocash».

  • Holochain — масштабируемая P2P альтернатива блокчейну для всех тех распределённых приложений, которые вы всегда хотели создать.

Базы данных

  • indradb — графовая база данных на Rust.
  • noria — динамически изменяющийся, частично сохраняющий состояние поток данных для серверных частей веб-приложений.
  • PumpkinDB — движок базы данных событийного источника.
  • seppo0010/rsedis — реимплементация Redis на Rust.
  • ParityDB — быстрая и надёжная база данных, оптимизированная для операций чтения. Tikv — распределённая база данных типа «ключ-значение» на Rust.

Эмуляторы

См. также ящики, соответствующие ключевому слову «эмулятор».

  • Commodore 64

    • kondrak/rust64
    • [изображение не переведено]
  • Gameboy

    • Gekkio/mooneye-gb
    • [изображение не переведено]
    • mvdnes/rboy
    • [изображение не переведено]
    • NivenT/RGB
    • [изображение не переведено]
    • mohanson/gameboy — полнофункциональный кроссплатформенный эмулятор GameBoy. Forever boys!
  • NES

    • iamsix/oxidenes
    • [изображение не переведено]
    • koute/pinky
    • [изображение не переведено]
    • pcwalton/sprocketnes
    • [изображение не переведено]
  • Playstation

    • simias/rustation
    • [изображение не переведено]
  • ZX Spectrum

  • Virtual Boy

    • emu-rs/rustual-boy
    • [изображение не переведено]
  • Intel 8080 CPU

    • mohanson/i8080 — эмулятор процессора Intel 8080 от Rust
  • Инструменты разработки эмуляторов

    • SNES
      • ioncodes/snesutilities — анализатор/экстрактор ROM

Игры

См. также Игры, созданные с помощью Piston.

  • lifthrasiir/angolmois-rust — минималистичная музыкальная видеоигра, которая поддерживает формат BMS
  • swatteau/sokoban-rs — реализация Sokoban
  • Zone of Control — пошаговая гексагональная стратегическая игра
  • rhex — гексагональный ASCII roguelike
  • citybound — городской симулятор, которого вы заслуживаете
  • ozkriff/zemeroth — небольшая 2D пошаговая гексагональная стратегическая игра
  • rsaarelm/magog — roguelike-игра на Rust
  • schulke-214/rsnake — змея, написанная на Rust
  • schulke-214/connect-four — простая реализация «четыре в ряд»
  • cristicbz/rust-doom — рендерер для Doom, может развиться до полноценной игры Перевод текста:

Обработка изображений

  • Limeth/euclider — 4D трассировщик лучей на CPU в реальном времени.
  • ivanceras/svgbob — преобразует ASCII-диаграммы в графику SVG.
  • RazrFalcon/svgcleaner — приводит в порядок графику SVG.
  • Twinklebear/tray_rust — трассировщик лучей.
  • Обработка изображений:
    • spejss/Image-Processing-CLI-in-Rust — CLI для обработки изображений, генерации гистограмм.

Промышленная автоматизация

  • slowtec/tokio-modbus — библиотека modbus на основе tokio.
  • locka99/opcua — чистая библиотека OPС UA на Rust.
  • BiancoRoyal/modbus-iiot-rust — чистая библиотека modbus с небольшим количеством зависимостей.

Операционные системы

См. также сравнение операционных систем, написанных на Rust (https://github.com/flosse/rust-os-comparison).

  • redox-os/redox —
  • thepowersgang/rust_os —
  • tock/tock — безопасная встроенная операционная система для микроконтроллеров на базе Cortex-M.
  • nebulet/nebulet — микроядро, которое реализует WebAssembly «usermode», работающий в кольце 0.

Производительность

  • eureka — инструмент CLI для ввода и хранения идей без выхода из терминала.
  • BenSchZA/pier — центральный репозиторий для управления (добавления, поиска метаданных и т. д.) всеми вашими однострочниками, скриптами, инструментами и CLI.
  • rustdesk/rustdesk — программное обеспечение для удалённого рабочего стола, отличная альтернатива TeamViewer и AnyDesk.

Инструменты безопасности

  • arvancloud/libinjection-rs — привязки Rust для libinjection. * BurntSushi/ripgrep — утилита для поиска файлов по содержимому.
  • chmln/sd — интуитивный инструмент командной строки для поиска и замены.
  • lavifb/todo_r — находит все ваши заметки TODO с помощью одной команды!
  • whitfin/runiq — эффективный способ фильтрации повторяющихся строк из несортированного ввода.
  • whitfin/bytelines — считывает входные строки как байтовые срезы для высокой эффективности.
  • vishaltelangre/ff — находит файлы (ff) по имени!
  • BurntSushi/xsv — быстрый инструмент командной строки CSV (нарезка, индексация, выбор, поиск, выборка и т. д.).

Общие пакеты

  • brycx/checkpwn — служебная программа командной строки Have I Been Pwned (HIBP), которая позволяет легко проверять скомпрометированные учётные записи и пароли.
  • evansmurithi/cloak — приложение аутентификатора командной строки OTP (одноразовый пароль).
  • arthrp/consoletimer — простой таймер для вашего терминала.
  • myfreeweb/freepass — бесплатный менеджер паролей для опытных пользователей.
  • arthrp/quick-skeleton — инструмент для создания шаблонов проектов, похожий на Yeoman и Slush.
  • yaa110/rubigo — инструмент и менеджер пакетов зависимостей Golang, написанный на Rust.
  • whitfin/s3-concat — инструмент командной строки для объединения файлов Amazon S3 удалённо с использованием гибких шаблонов.
  • whitfin/s3-meta — инструмент командной строки для сбора метаданных о ваших корзинах Amazon S3.
  • amar-laksh/workstation — инструмент командной строки, который помогает вам управлять рабочей станцией, дистанцируя вас от экрана, блокируя экран, когда вас нет рядом, и многое другое с OPENCV!
  • aleshaleksey/AZDice — генератор распределения бросков кубиков для настольных домашних пивоваров.
  • fcsonline/tmux-thumbs — молниеносная версия tmux-fingers, написанная на Rust, копирующая/вставляющая tmux, как vimium/vimperator.
  • repoch — преобразует эпоху в дату и время и дату и время в эпоху.
  • yaa110/cb — интерфейс командной строки для управления буфером обмена.

Видео

  • yuvadm/slingr — простая командная строка для потоковой передачи. Виртуализация

  • Firecracker-microvm/firecracker — облегчённая виртуальная машина для контейнерной рабочей нагрузки Firecracker Microvm.

  • Oracle/railcar — реализация OCI-времени выполнения контейнера в Rust на основе Docker.

  • Tailhook/vagga — инструмент контейнеризации без демонов.

Управление окнами

  • Way-cooler/way-cooler — настраиваемый композитор Wayland (диспетчер окон).

Веб-сайты

  • Plume-org/Plume — приложение для блогов, объединённых ActivityPub.
  • Rustlang-cn/ruster — онлайн-сообщество на Rust для сообщества Rust.

Сетевые серверы

  • Thecoshman/http — базовый HTTP-сервер для простого и быстрого размещения папки.
  • Svenstaro/miniserve — небольшой кроссплатформенный CLI-инструмент, который позволяет размещать файлы через HTTP.
  • TheWawaR/simple-http-server — простой статический HTTP-сервер.
  • Wyhaya/see — статический файловый сервер.

Инструменты разработки

  • Clippy — линты Rust.

  • Clog-tool/clog-cli — генерирует журнал изменений из метаданных Git.

  • Dan-t/rusty-tags — создаёт ctags/etags для проекта Cargo и всех его зависимостей.

  • Frewsxcv/crate-deps — генерирует изображения графов зависимостей для ящиков, размещённых на crates.io.

  • Saschagrunert/git-journal — фреймворк для создания сообщений фиксации и журналов изменений Git.

  • Killercup/rustfix — автоматически применяет предложения, сделанные rustc.

  • Casey/just — удобный командный исполнитель для задач, специфичных для проекта. Линкер (Linker)](https://github.com/fiatjaf/module-linker) — расширение, которое добавляет ссылки <a> к ссылкам в операторах mod, use и extern crate на GitHub.

  • ptags — параллельная универсальная оболочка для git-репозитория.

  • Racer — автозаполнение кода для Rust.

  • rustfmt — форматировщик кода на Rust.

  • Rustup — установщик инструментария Rust.

  • Rust Language Server — сервер, который работает в фоновом режиме, предоставляя IDE, редакторам и другим инструментам информацию о программах на Rust.

  • Rust Regex Playground — веб-инструмент для оценки регулярных выражений Rust.

  • artifact — инструмент для работы с документацией, предназначенный для разработчиков.

  • semantic-rs — автоматическая публикация пакетов.

  • fw — средство повышения производительности рабочего пространства.

  • tinyrick — базовый инструмент управления зависимостями задач, подчёркивающий функции Rust над необработанными командами оболочки.

Создание системы

  • Cargo (https://crates.io/) — менеджер пакетов Rust.
    • cargo-benchcmp (https://crates.io/crates/cargo-benchcmp) — утилита для сравнения микротестов Rust.
    • cargo-bitbake (https://crates.io/crates/cargo-bitbake) — расширение Cargo, которое может генерировать рецепты BitBake, используя классы из meta-rust.
    • cargo-cache (https://crates.io/crates/cargo-cache) — управление кэшем Cargo (~/.cargo//${CARGO_HOME}), печать размеров и т. д.
    • cargo-check (https://crates.io/crates/cargo-check) — оболочка вокруг cargo rustc -- -Zno-trans, которая может быть полезна для более быстрой компиляции, если вам нужны только проверки правильности.
    • cargo-count (https://crates.io/crates/cargo-count) — списки количества исходного кода и детализация проектов Cargo, включая небезопасную статистику.
    • cargo-deb (https://crates.io/crates/cargo-deb) — генерирует двоичные пакеты Debian.
    • cargo-deps (https://crates.io/crates/cargo-deps) — строит графы зависимостей проектов Rust.
    • cargo-do (https://crates.io/crates/cargo-do) — запускает несколько команд Cargo подряд. Cargo-ebuild — расширение для Cargo, которое может генерировать ebuilds с использованием встроенных eclasses.

Cargo-edit — позволяет добавлять и просматривать зависимости через командную строку, читая и записывая данные в файл Cargo.toml.

Cargo-find (устаревшее) — находит crates из командной строки.

Cargo-graph — обновлённая версия cargo-dot с дополнительными функциями. Не поддерживается, рекомендуется использовать cargo-deps.

Cargo-info — запрашивает у crates.io информацию о crates из командной строки.

Cargo-license — подкоманда Cargo для быстрого просмотра лицензий всех зависимостей.

Cargo-make — инструмент сборки и таскраннер на Rust.

Cargo-modules — плагин Cargo для отображения древовидного обзора модулей crate.

Cargo-multi — запускает указанную команду Cargo на нескольких crates.

Cargo-outdated — показывает, когда доступны более новые версии зависимостей Rust или они устарели.

Cargo-release — инструмент для выпуска git-управляемого проекта Cargo, сборки, тегирования, публикации, документирования и отправки.

Cargo-script — позволяет пользователям быстро и легко запускать «скрипты» на Rust, которые могут использовать экосистему пакетов Cargo.

Cargo-testify — отслеживает изменения файлов, запускает тесты и уведомляет о результатах с помощью дружественных уведомлений ОС.

Cargo-tree – подкоманда Cargo, которая визуализирует граф зависимостей crate в древовидном формате.

Cargo-update — подкоманда Cargo для проверки и применения обновлений к установленным исполняемым файлам.

Cargo-watch — утилита для Cargo для компиляции проектов при изменении источников. ### Режимы идентификации

  • sfikas/rusteval — инструмент, используемый для оценки результатов алгоритмов поиска.

Анализ

  • sharkdp/hyperfine — утилита для тестирования производительности из командной строки.

  • performancecopilot/hornet — библиотека для инструментария значений с отображением в память от Performance Co-Pilot.

  • nokia/memory-profiler — профилировщик памяти для Linux.

  • ellisonch/rust-stopwatch — библиотека секундомера. Флэйм-графы

  • Флэйм-Графы

Сервисы

  • deps.rs — обнаруживает устаревшие или небезопасные зависимости.
  • docs.rs — автоматическое создание документации для ящиков.

Статистический анализ

[[assert, static]]

  • static_assertions — утверждения времени компиляции для обеспечения соблюдения инвариантов Build Status.

Тестирование

[[testing]]

Межъязыковые вызовы

  • immunant/c2rust — переводчик C в Rust и кросс-чекер, построенный на базе Clang/LLVM. Build Status](https://travis-ci.org/immunant/c2rust).
  • jameysharp/corrode — переводчик с C на Rust, написанный на Haskell.

Библиотеки

Искусственный интеллект

Генетические алгоритмы

  • Martin1887/oxigen — быстрая, параллельная, расширяемая и адаптируемая библиотека генетических алгоритмов. Пример использования этой библиотеки решает задачу о N ферзях для N = 255 всего за несколько секунд и использует менее 1 МБ ОЗУ.
  • innoave/genevo — выполнение симуляций генетического алгоритма (GA) настраиваемым и расширяемым способом.
  • willi-kappler/darwin-rs — эта библиотека. Данный текст описывает различные библиотеки и инструменты для разработки программного обеспечения на языке Rust. Основной язык текста — английский.

Текст рассказывает о библиотеках для работы с генетическими алгоритмами, машинным обучением и астрономией. Также упоминаются библиотеки для асинхронной работы и ввода-вывода.

В тексте приведены ссылки на репозитории GitHub и страницы проектов на Crates.io.

  • Позволяет писать эволюционные алгоритмы (EA) с использованием языка программирования Rust. Написан Вилли Капплером, лицензия: MIT — версия 0.4 (2017.06.26).

    • m-decoster/RsGenetic — библиотека генетических алгоритмов в Rust. В режиме обслуживания.

    • mneumann/evo-rs — библиотека эволюционных алгоритмов для Rust. Без изменений в течение 3 лет.

    • yurytsoy/revonet — реализация реального кода GA в Rust для решения задач оптимизации и обучения нейронных сетей.

Машинное обучение

Машинное обучение]

См. также О сообществе машинного обучения Rust.

Астрономия

[астрономия]

  • saurvs/astro-rust — астрономия для Rust .

  • fitsio — интерфейсная библиотека fits, оборачивающая cfitsio .

  • flosse/rust-sun — порт Rust библиотеки JS suncalc .

Асинхронный

  • zonyitoo/coio-rs — Библиотека сопрограмм I/O с рабочим планировщиком кражи .

  • dpc/mioco — Масштабируемая, основанная на сопрограммах, асинхронная обработка ввода-вывода Travis CI Build Status.

  • TeaEntityLab/fpRust — Monad/MonadIO, Handler, Coroutine/doNotation, Функциональное программирование для Rust Travis CI Build Status.

  • rust-lang-nursery/futures-rs — Фьючерсы с нулевыми затратами в Rust Travis CI Build Status.

  • mio — MIO — это облегчённая... Библиотека ввода-вывода для Rust с акцентом на минимизацию накладных расходов по сравнению с абстракциями ОС

  • Xudong-Huang/may — библиотека стековых сопрограмм Rust;

  • rustasync/runtime — независимый от среды выполнения API, разработанный для того, чтобы асинхронный режим работы стал частью стандартной библиотеки.

Аудио

[[audio (https://crates.io/keywords/audio)]]

Безопасность

Автотранспорт

  • canparse — анализатор сигналов и определений CAN;
  • j2534 — J2534 PassThru bindings;
  • JulianSchmid/dlt_parse — анализатор пакетов DLT (Diagnostic Log and Trace) в Rust;
  • JulianSchmid/someip_parse [[someip_parse (https://crates.io/crates/someip_parse)]] — библиотека для анализа сетевого протокола SOME/IP (без интерпретации полезной нагрузки);
  • LibreTuner/tuneutils [[tuneutils (https://crates.io/crates/tuneutils)]] — утилиты для взаимодействия с автомобилем, диагностики и настройки;
  • marcelbuesing/can-dbc [[can-dbc (https://crates.io/crates/can-dbc)]] — анализатор формата DBC. Терминология Painter — кроссплатформенный вывод терминала со стилями.

termstyle — сборка (и тестирование) отформатированных и стилизованных приложений командной строки.

yansi — простая библиотека для раскрашивания ANSI-терминалов.

TUI:

  • crossterm — кросс-платформенная библиотека терминалов;
  • Cursive — создание богатых TUI-приложений;
  • rust-term-grid — библиотека Rust для размещения элементов в сетке;
  • termion — бессвязанная библиотека для управления терминалами/TTY;
  • tui-rs — библиотека TUI, вдохновлённая blessed-contrib и termui;
  • BearLibTerminal:
    • bearlibterminal — привязки к BearLibTerminal;
  • ncurses:
    • ncurses-rs — привязки ncurses;
    • pancurses — библиотека curses, поддерживает Linux и Windows;
  • Termbox:
    • rustbox — привязки к Termbox.

Сжатие

Brotli:

  • brotli-rs — реализация сжатия Brotli;
  • rust-brotli — декомпрессор Brotli на Rust, который по желанию избегает использования стандартной библиотеки.

bzip2:

  • bzip2-rs — привязки libbz2.

gzip:

  • zopfli — реализация алгоритма сжатия Zopfli для более качественного сжатия deflate или zlib.

miniz:

  • flate2-rs — привязки miniz. Конрад К. Комм / Рустер (Conrad K. Com/Rooster) — простой менеджер паролей для использования в терминале

  • С. Факлер / Ржавчина-нативный TLS (S. Fackler/Rust-Native-TLS) — привязки к нативным библиотекам TLS

  • С. Факлер / Ржавчина-OpenSSL (S. Fackler/Rust-OpenSSL) — привязки OpenSSL

  • Корнельски / Ржавчина-Security-Framework (Kornelski/Rust-Security-Framework) — привязки Security Framework (нативные для OSX)

  • Стефенги / Schannel-RS (Steffengy/Schannel-RS) — привязки Schannel (нативный TLS для Windows)

  • Зебрадил / Рустопони (Zebradil/Rustotpony) — CLI-менеджер генераторов одноразовых паролей, также известных как Google Authenticator (TOTP)

База данных

  • С. Факлер / R2D2 (S.Fackler/R2D2) — общий пул соединений

NoSQL:

  • ArangoDB — Ринкон (Rincon) — драйвер ArangoDB (NoSQL и Graph store) для Rust

  • Cassandra — Алекс Пикалов/CDRS (Alex Pikalov/CDRS) — нативный клиент, написанный на Rust

  • CouchDB — Чилл-РС/Чилл (Chill-RS/Chill) — клиент Rust для REST API CouchDB

  • Elasticsearch — Бенашфорд/RS-ES (Benashford/RS-ES) — клиент Rust для Elastic REST API

  • etcd — Джимми Куадра/Ржавчина-etcd (Jimmy Cuadra/Rust-etcd) — клиентская библиотека для etcd CoreOS

  • ForestDB — Вхбит/Шервуд (Vhbit/Sherwood) — привязки ForestDB

  • InfluxDB — Паноптикс-за/Инфлюксдб-рс (Panoptix-za/Influxdb-rs) — асинхронный интерфейс LevelDB

  • skade/leveldbLevelDB bindings.

LMDB

MongoDB

Neo4j

  • Cypher, neo4j.

Redis

[RocksDB]

[UnQLite]

[ZooKeeper]

[PickleDB]

  • seladb/pickledb-rs — a lightweight and simple key-value store, heavily inspired by Python's PickleDB.

SQL

MySql

PostgreSql

  • sfackler/rust-postgres [postgres]] — A native PostgreSQL client. Данные обработки
  • Sqlite — Sqlite3 bindings.
    • Jgallagher/rusqlite.
  • ORM:
    • Diesel-rs/diesel — an ORM and Query builder for Rust.
    • Ivanceras/rustorm — an ORM for Rust.

Данные структуры

  • Bluss/ndarray — N-dimensional array with array views, multidimensional slicing, and efficient operations.
  • Kernelmachine/utah — Dataframe structure and operations in Rust.
  • Weld-project/weld — High-performance runtime for data analytics applications.

Визуализация данных

  • Saresend/gust.
  • Milliams/plotlib.

Дата и время

В запросе не представлены данные о дате и времени.

Примечание: в ответе сохранены оригинальные форматирование и гиперссылки. Распределённые системы

  • Chronotope/chrono —
  • Yaa110/rust-persian-calendar —

Распределенные вычисления и потоковая обработка

  • AntimonyProject/antimony — платформа для распределенных вычислений и потоковой обработки данных .

Apache Hadoop

  • Whitfin/efflux — интерфейсы для работы с Apache Hadoop на Rust.

Apache Kafka

  • Fede1024/rust-rdkafka — привязки к librdkafka ;
  • Spicavigo/kafka-rust — .

Beanstalkd

  • Schickling/rust-beanstalkd — привязки к Beanstalkd .

HDFS

  • Hyunsik/hdfs-rs — привязки к libhdfs .

Электронная почта

  • GildedHonour/atarashii_imap — новый IMAP-клиент на Rust, поддерживает обычные и защищенные соединения ;
  • GSquire/sendgrid-rs — неофициальная библиотека для API SendGrid на Rust ;
  • Lettre/lettre — SMTP-библиотека для Rust ;
  • Staktrace/mailparse — библиотека для анализа реальных файлов электронной почты .

Шифрование

  • Alex/rust-asn1 — сериализатор ASN.1 (DER) на Rust ;
  • Arjantop/rust-bencode — реализация Bencode на Rust ;
  • ArcNmx/nue — ввод-вывод и кодирование двоичных данных в Rust ;
  • TyOverby/bincode — бинарный кодер/декодер на Rust ;
  • M4B/goblin. goblin — кроссплатформенный, не требующий копирования и учитывающий порядок байтов двоичный парсер.

BSON:

  • zonyitoo/bson-rs — (см. изображение).

Byte swapping:

  • BurntSushi/byteorder — поддерживает прямой, обратный и естественный порядок следования байтов (см. изображение).

Cap'n Proto:

  • capnproto/capnproto-rust — (см. изображение).

CBOR:

  • serde_cbor — поддержка CBOR для Serde (см. изображение).

Character Encoding:

  • hsivonen/encoding_rs — реализация стандарта кодирования Gecko в Rust (см. изображение);
  • lifthrasiir/rust-encoding — (см. изображение).

CRC:

  • mrhooray/crc-rs — (см. изображение).

CSV:

  • BurntSushi/rust-csv — быстрый и гибкий CSV-ридер и CSV-писатель с поддержкой Serde (см. изображение).

FlatBuffers:

  • frol/flatc-rust — интеграция компилятора FlatBuffers (flatc) для сценариев сборки Cargo (см. изображение).

HAR:

  • mandrean/har-rs — библиотека сериализации и десериализации формата HTTP Archive Format (HAR) (см. изображение).

HTML:

  • servo/html5ever — высокопроизводительный браузерный HTML5-парсер (см. изображение);
  • veddan/rust-htmlescape — кодирование/декодирование HTML-сущностей (см. изображение).

JSON:

  • pikkr/pikkr — JSON-парсер, который выбирает значения напрямую без выполнения токенизации в Rust;
  • serde-rs/json — поддержка JSON для Serde framework (см. изображение);
  • Licenser/simdjson-rs — высокопроизводительный JSON-парсер на основе порта simdjson;
  • maciejhirsz/json-rust — реализация JSON в Rust (см. изображение).

Jsonnet:

  • Qihoo360/rust-jsonnet — (см. изображение). Файл-система

  • Операции:

    • pop-os/dbus-udisks2 — UDisks2 DBus API.
    • pop-os/sys-mount — высокоуровневая абстракция для системных вызовов mount / umount2.
    • vitiral/path_abs — абсолютные сериализуемые типы путей и связанные методы.
    • webdesus/fs_extra — расширение возможностей стандартной библиотеки std::fs и std::io.
  • Временные файлы:

    • rust-lang-deprecated/tempdir — библиотека временных каталогов.
    • Stebalien/tempfile — библиотека временных файлов.
    • Stebalien/xattr — список и управление расширенными атрибутами файлов в Unix.
    • zboxfs/zbox — встраиваемая файловая система с нулевыми деталями и ориентированная на конфиденциальность.

Разработка игр

Смотрите также Are we game yet? (http://arewegameyet.com)

  • Allegro:
    • SiegeLord/RustAllegro — привязки к Allegro 5.
  • Challonge:
    • vityafx/challonge-rs — клиентская библиотека для REST API Challonge. Помогает организовывать турниры.
  • Corange:
    • lucidscape/corange-rs — привязки к Corange.
  • Системы компонентов сущностей (ECS):
    • slide-rs/specs — Specs Parallel ECS.
  • Игровые движки:
    • Amethyst — ориентированный на данные игровой движок.
    • Piston — игровой движок.
    • ggez — облегчённый игровой фреймворк для создания 2D-игр с минимальными усилиями.
    • Kiss3D — простой 3D-графический движок, написанный на Rust.
    • Unrust — игровой движок на чистом Rust (webgl 2.0 / native).
    • Vulkust — безопасный, многопоточный игровой движок на Vulkan, написанный с использованием Rust. SDL
  • brson/rust-sdl — привязки SDL1.
  • Rust-SDL2/rust-sdl2 — привязки SDL2.

SFML

  • jeremyletang/rust-sfml — привязки SFML.

Tcod-rs

  • tomassedovic/tcod-rs — привязки Libtcod для Rust.

Victorem

  • VictoremWinbringer/Victorem — простой UDP-сервер и UDP-клиент для создания прототипа 2D- и 3D-игр.

Voxlap

  • bbodi/rust-voxlap — привязки Voxlap.

Географическое пространство

Geo, gis

  • DaveKram/coord_transforms — координатные преобразования (2D, 3D и геопространственные).
  • Georust — геопространственные инструменты и библиотеки, написанные на Rust.
  • rust-reverse-geocoder — быстрый автономный обратный геокодер на Rust, вдохновлённый https://github.com/thampiman/reverse-geocoder.
  • vlopes11/geomorph — преобразование между UTM, LatLon и MGRS координатами.

Графика

Graphics

  • gfx-rs/gfx — высокопроизводительный графический API без привязки для Rust.

Шрифты

  • redox-os/rusttype — альтернатива библиотекам вроде FreeType.

OpenGL

  • brendanzab/gl-rs.
  • glium/glium — безопасный OpenGL-обёртка для языка Rust.
  • Kiss3d — рисование простых геометрических фигур и работа с ними с помощью однострочников.
  • PistonDevelopers/glfw-rs.
  • glutin — альтернатива GLFW.

PDF

  • kaj/rust-pdf.

  • fschutt/printpdf. Библиотека для работы с PDF

  • J-F-Liu/lopdf — манипулирование документами PDF.

PDF-библиотека с использованием JavaScript и WebAssembly

Vulkan

Обработка изображений

Графический пользовательский интерфейс

  • autopilot-rs (https://github.com/autopilot-rs/autopilot-rs) — простая кроссплатформенная библиотека автоматизации графического интерфейса пользователя для Rust.
  • azul (https://github.com/maps4print/azul) — бесплатный функциональный фреймворк GUI, ориентированный на IMGUI, для быстрой разработки настольных приложений на Rust, поддерживаемый рендер-движком Mozilla WebRender.
  • conrod (https://github.com/PistonDevelopers/conrod/) — простая в использовании библиотека графического интерфейса 2D, полностью написанная на Rust.
  • rise (https://github.com/rise-ui/rise) — простой компонентный кроссплатформенный инструментарий GUI для разработки красивых и удобных интерфейсов.

Cocoa

Flutter

GTK+

ImGui

IUP

libui

mattgathu/cute — макрос для создания Python-подобных списковых включений (list comprehensions) в языке программирования Rust.

Hado

  • ludat/hado-rs — небольшой макрос, который позволяет писать Haskell-подобные выражения do без лишних сложностей.

Язык разметки

Мобильные приложения

Geal/rust_on_mobile

  • Android

  • iOS

    • TimNN/cargo-lipo — подкоманда cargo lipo, которая автоматически создаёт универсальную библиотеку для использования с вашим приложением для iOS.
    • vhbit/ObjCrust — использование Rust для создания статической библиотеки для iOS.
  • Pebble

    • andars/pebble.rs — ящик, позволяющий использовать Rust для разработки приложений для Pebble.

Сетевое программирование

  • HTTP

    • pop-os/parallel-getter — загрузка файла с помощью параллельных GET-запросов для максимального использования пропускной способности.
    • pop-os/url-crawler — настраиваемый параллельный веб-сканер, предназначенный для сканирования веб-сайта на предмет контента.
    • pop-os/url-scraper — очистка URL-адресов из HTML-страниц.
  • FTP

  • IPNetwork

    • achanda/ipnetwork — библиотека для работы с IP-сетями на чистом Rust.
    • candrew/netsim — библиотека Rust для моделирования и тестирования сетей.
  • JSON-RPC

  • Низкоуровневое программирование

    • libpnet/libpnet — кроссплатформенное низкоуровневое сетевое программирование.
    • tokio-rs/tokio — сетевая среда разработки для быстрого создания и высокомасштабируемых производственных развёртываний клиентов и серверов.
    • dylanmckay/protocol — определения пользовательских протоколов TCP/UDP.
    • actix/actix — библиотека акторов для Rust.
  • NanoMsg

  • Nng

    • neachdainn/nng-rs [Nng] — Nng (nanomsg) bindings. * NNTP
    • mattnenterprise/rust-nntp — клиент NNTP для Rust.
  • POP3

    • mattnenterprise/rust-pop3 — клиент POP3 для Rust.
  • SSH

    • alexcrichton/ssh2-rs — привязки libssh2.
    • pijul-scm/thrussh — библиотека SSH, написанная с нуля на Rust и поддерживаемая libsodium.
  • Stomp

    • zslayton/stomp-rs — реализация клиента STOMP 1.2 на Rust.
  • uTP

    • meqif/rust-utp — библиотека uTP (Micro Transport Protocol) для Rust.
  • ZeroMQ

    • erickt/rust-zmq — привязки ZeroMQ.
  • CoAP

    • Covertness/coap-rs — библиотека Constrained Application Protocol (CoAP) для Rust.

Анализ

  • Geal/nom — библиотека комбинаторов парсеров.
  • ivanceras/inquerest — анализатор параметров URL для запросов REST.
  • kevinmehall/rust-peg — генератор парсеров на основе грамматики синтаксического анализа (PEG).
  • m4rw3r/chomp — быстрый парсер-комбинатор в стиле монад.
  • Marwes/combine — библиотека комбинаторов парсеров.
  • lalrpop/lalrpop — генератор LR(1)-парсеров для Rust.
  • nrc/zero — нулевой анализ двоичных данных.
  • pest-parser/pest — элегантный парсер.
  • ptal/oak — типизированный генератор PEG-парсеров (плагин компилятора).
  • rustless/queryst — библиотека анализа строк запросов для Rust, вдохновлённая https://github.com/ljharb/qs. Статус

freestrings/jsonpath — движок JsonPath, написанный на Rust. Также поддерживает Webassembly и Javascript.

Пакетный формат

pop-os/debarchive — библиотека для чтения и извлечения архивов Debian.

Периферийные устройства

Serial Port

Susurrus/serialport-rs — кроссплатформенная библиотека, предоставляющая доступ к последовательному порту.

Стандарты платформ

Кроссплатформенность

svartalf/rust-battery — информация о батареях ноутбуков для разных платформ.

Linux

Unix-подобные системы

Windows

FreeBSD

Скрипты

[scripting]

  • PistonDevelopers/dyon — динамический язык сценариев с динамической типизацией.
  • gluon-lang/gluon — небольшой статически типизированный функциональный язык программирования.
  • murarth/ketos — функциональный язык программирования Lisp, служащий языком сценариев и расширения для Rust.
  • moss — язык динамических сценариев.
  • jonathandturner/rhai — крошечный и быстрый встроенный язык сценариев, напоминающий комбинацию JS и Rust.

Шаблонные движки

Handlebars

  • sunng87/handlebars-rust — шаблонизатор Handlebars с наследованием, поддержкой пользовательских помощников.

  • r-iendo/yarteКомпиляция шаблонов, подобных Handlebars

  • HTML:

    • lfairy/maud — шаблоны HTML на этапе компиляции.
    • Stebalien/horrorshow-rs — шаблоны HTML на этапе компиляции.
    • kaj/ructe — система шаблонов HTML для Rust.
    • Keats/tera — механизм шаблонов, основанный на Jinja2 и языке шаблонов Django.
    • djc/askama — механизм рендеринга шаблонов, основанный на Jinja.

Mustache:

  • rustache/rustache.

Обработка текста

  • BurntSushi/suffix — линейное построение массива суффиксов (с поддержкой Unicode).
  • BurntSushi/tabwriter — эластичные табуляторы (т. е. выравнивание текста по столбцам).
  • mgeisler/textwrap — перенос слов в тексте (с поддержкой переноса слов).
  • p woolcoc/ngrams — создание n-грамм из произвольных итераторов.
  • ps1dr3x/easy_reader — считыватель, который позволяет перемещаться вперёд, назад и в случайном порядке по строкам огромных файлов без использования итераторов.
  • Rust-lang/regex — регулярные выражения (стиль RE2).
  • strsim-rs — метрики схожести строк.
  • greyblake/whatlang-rs — библиотека определения естественного языка на основе триграмм.
  • yaa110/rake-rs — многоязычная реализация алгоритма RAKE для Rust.
  • Lucretiel/joinery — универсальное объединение строк и итерируемых объектов.

Текстовый поиск

Виртуализация

  • beneills/quantum — Advanced Rust quantum computer simulator (https://api.travis-ci.org/beneills/quantum.svg?branch=master)
  • chromium/chromiumos/platform/crosvm — CrOSVM — Enables Chrome OS to run Linux apps inside a fast, secure virtualized environment
  • ekse/unicorn-rs — Rust bindings for the unicorn CPU emulator
  • saurvs/hypervisor-rs — Hardware-accelerated virtualization on OS X

Веб-программирование

Смотрите также Are we web yet? и Rust web framework comparison.

handlebars-rust — промежуточное ПО для веб-фреймворка Iron.

Iron — серверный фреймворк на основе промежуточного ПО.

Nickel — вдохновлён Express.

Ogeon/rustful — RESTful веб-фреймворк для Rust.

Rocket — веб-фреймворк для Rust (nightly) с акцентом на простоту использования, выразительность и скорость.

Rustless — микрофреймворк API, похожий на REST, вдохновлённый Grape и Hyper.

Saphir — прогрессивный веб-фреймворк с низким уровнем контроля, без боли.

rustforce/sapper — лёгкий веб-фреймворк, построенный на асинхронном hyper, реализованный на языке Rust.

tiny-http — низкоуровневая библиотека HTTP-сервера.

tomaka/rouille — веб-фреймворк на Rust.

carllerche/tower-web — быстрый, бесплатный веб-фреймворк для Rust.

danclive/sincere — микровеб-фреймворк для Rust(stable), основанный на hyper и многопоточности.

oltdaniel/zap — молниеносный HTTP-фреймворк для Rust.

WebSocket

actix/sockjs — сервер SockJS для Rust.

cyderize/rust-websocket — фреймворк для работы с соединениями WebSocket (как клиентами, так и серверами).

housleyjk/ws-rs — лёгкие, управляемые событиями WebSockets для Rust. Лёгкая реализация WebSocket на основе потоков для Rust.

snapview/tungstenite-rs — лёгкая реализация WebSocket на основе потоков для Rust.

vi/websocat — CLI для взаимодействия с WebSockets, с функциональностью Netcat, Curl и Socat.

vityafx/urlshortener-rs, urlshortener — очень простая библиотека urlshortener для Rust.

Разное.

cargonauts — веб-фреймворк, предназначенный для создания поддерживаемых, хорошо структурированных веб-приложений.

pyros2097/rust-embed — макрос для встраивания статических ресурсов в бинарный файл Rust.

utkarshkukreti/select.rs, select — библиотека для извлечения полезных данных из HTML-документов, подходит для веб-скрейпинга.

pwoolcoc/soup, soup — библиотека, похожая на Python BeautifulSoup, предназначенная для быстрого и простого манипулирования и запросов к HTML-документам.

Обратные прокси.

sozu-proxy/sozu, sozu — HTTP-обратный прокси.

Генераторы статических сайтов.

getzola/zola, zola — генератор статических сайтов с предустановленными настройками.

cobalt-org/cobalt.rs — генератор статических сайтов, написанный на Rust.

FuGangqiang/mdblog.rs — генератор статического сайта из файлов Markdown.

leven-the-blog/leven, leven — простой параллельный генератор блога.

Регистрация

Реестр позволяет публиковать библиотеки Rust в виде пакетов crate, чтобы делиться ими с другими пользователями публично или приватно.

Crates — официальный публичный реестр для Rust/Cargo.

Cloudsmith — полностью управляемый SaaS для управления пакетами, с первоклассной поддержкой публичных и частных реестров Cargo/Rust (плюс многих других). Имеет щедрый бесплатный уровень и полностью бесплатен для open-source.

Ресурсы

Бенчмарки.

TeXitoi/benchmarksgame-rs — реализации Rust для The Computer Language Benchmarks Game.

Колоды и презентации.

Learning systems programming with Rust — презентация Джулии Эванс @ Rustconf 2016.

Shipping a Solid Rust Crate — презентация Майкла Гаттоззи @ RustConf 2017.

Rust: Hack Without — видео без перевода.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Код на Rust и список ресурсов для изучения — самый полный сборник в сети, быстро освойте Rust! ~~~ Добро пожаловать, ставьте лайки, делайте форки! Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/shirdonl-awesome-rust.git
git@api.gitlife.ru:oschina-mirror/shirdonl-awesome-rust.git
oschina-mirror
shirdonl-awesome-rust
shirdonl-awesome-rust
master