Génial Allez
Nous utilisons la communauté Golang Bridge Slack pour une communication instantanée, suivez le formulaire ici pour nous rejoindre.
Parrainages :
Un merci spécial à
Votre application, prête pour l'entreprise. Commencez à vendre aux entreprises clientes avec seulement quelques lignes de code. Ajoutez l’authentification unique (et plus encore) en quelques minutes au lieu de plusieurs mois. |
|
Awesome Go n'a pas de frais mensuels , mais nous avons des employés qui travaillent dur pour le faire fonctionner. Avec l’argent récolté, nous pouvons récompenser les efforts de chaque personne impliquée ! Vous pouvez voir comment nous calculons notre facturation et notre distribution car elles sont ouvertes à l'ensemble de la communauté. Vous souhaitez soutenir le projet, cliquez ici.
Une liste organisée de superbes frameworks, bibliothèques et logiciels Go. Inspiré par génial-python.
Contribuer :
Veuillez d'abord jeter un coup d'œil rapide aux directives de contribution. Merci à tous les contributeurs ; tu es rock!
Si vous voyez ici un package ou un projet qui n'est plus maintenu ou qui ne convient pas, veuillez soumettre une pull request pour améliorer ce fichier. Merci!
Contenu
- Génial Allez
- Contenu
- Modèle d'acteur
- Intelligence artificielle
- Audio et musique
- Authentification et OAuth
- Chaîne de blocs
- Création de robots
- Construire l'automatisation
- Ligne de commande
- Interfaces utilisateur avancées de la console
- CLI standard
- Configuration
- Intégration continue
- Préprocesseurs CSS
- Cadres d'intégration de données
- Structures de données et algorithmes
- Emballage de bits et compression
- Jeux de bits
- Filtres Bloom et Coucou
- Structure de données et collections d'algorithmes
- Itérateurs
- Cartes
- Diverses structures de données et algorithmes
- Types nullables
- Files d'attente
- Ensembles
- Analyse de texte
- Arbres
- Tuyaux
- Base de données
- Caches
- Bases de données implémentées dans Go
- Migration du schéma de base de données
- Outils de base de données
- Générateurs de requêtes SQL
- Pilotes de base de données
- Interfaces vers plusieurs backends
- Pilotes de base de données relationnelle
- Pilotes de base de données NoSQL
- Bases de données de recherche et d'analyse
- Date et heure
- Systèmes distribués
- DNS dynamique
- E-mail
- Langages de script intégrables
- Gestion des erreurs
- Gestion des fichiers
- Financier
- Formulaires
- Fonctionnel
- Développement de jeux
- Générateurs
- Géographique
- Aller aux compilateurs
- Goroutines
- Interface graphique
- Matériel
- Images
- IoT (Internet des objets)
- Planificateur de tâches
- JSON
- Enregistrement
- Apprentissage automatique
- Messagerie
- Microsoft Office
- Microsoft Excel
- Microsoft Word
- Divers
- Injection de dépendance
- Disposition du projet
- Cordes
- Non classé
- Traitement du langage naturel
- Détection de la langue
- Analyseurs morphologiques
- Slugificateurs
- Tokeniseurs
- Traduction
- Translitération
- Réseautage
- OpenGL
- ORM
- Gestion des paquets
- Performance
- Langage de requête
- Réflexion
- Intégration des ressources
- Science et analyse des données
- Sécurité
- Sérialisation
- Applications serveur
- Traitement des flux
- Moteurs de modèles
- Essai
- Cadres de test
- Se moquer
- Fuzzing et débogage/réduction/rétrécissement delta
- Outils de contrôle Selenium et navigateur
- Échec de l'injection
- Traitement de texte
- Formateurs
- Langages de balisage
- Analyseurs/Encodeurs/Décodeurs
- Expressions régulières
- Sanitaire
- Grattoirs
- RSS
- Utilitaires/Divers
- API tierces
- Utilitaires
- UUID
- Validation
- Contrôle des versions
- Vidéo
- Cadres Web
- Intergiciels
- Intergiciels réels
- Bibliothèques pour créer des middlewares HTTP
- Routeurs
- Assemblage Web
- Fenêtres
- Cadres de flux de travail
- XML
- Confiance zéro
- Analyse du code
- Plugins d'éditeur
- Allez générer des outils
- Aller aux outils
- Progiciels
- Outils DevOps
- Autres logiciels
- Ressources
- Repères
- Conférences
- Livres électroniques
- Livres électroniques à acheter
- Livres électroniques gratuits
- Gophers
- Rencontres
- Guides de style
- Réseaux sociaux
- Sites Web
- Tutoriels
- Apprentissage guidé
⬆ retour en haut
Modèle d'acteur
Bibliothèques pour créer des programmes basés sur des acteurs.
- Ergo - Un framework basé sur des acteurs avec transparence du réseau pour créer une architecture basée sur les événements dans Golang. Inspiré d'Erlang.
- Goakt - Framework d'acteur rapide et distribué utilisant des tampons de protocole comme message pour Golang.
- Hollywood - Moteur d'acteur incroyablement rapide et léger écrit en Golang.
- ProtoActor - Proto Actor - Acteurs distribués ultra rapides pour Go, C# et Java/Kotlin.
Intelligence artificielle
Bibliothèques pour créer des programmes qui exploitent l’IA.
- chromem-go - Base de données vectorielles intégrable pour Go avec une interface de type Chroma et aucune dépendance tierce. En mémoire avec persistance facultative.
- fun - Le moyen le plus simple mais puissant d'utiliser de grands modèles de langage (LLM) dans Go.
- langchaingo - LangChainGo est un framework pour développer des applications alimentées par des modèles de langage.
- LocalAI - Alternative Open Source OpenAI, modèles d'IA auto-hébergés.
- Ollama - Exécutez de grands modèles de langage localement.
- OllamaFarm - Gérer, équilibrer la charge et basculer les packs d'Ollama
⬆ retour en haut
Audio et musique
Bibliothèques pour manipuler l'audio.
- flac - Encodeur/décodeur natif Go FLAC avec prise en charge des flux FLAC.
- gaad - Analyseur de flux binaires natif Go AAC.
- GoAudio - Bibliothèque de traitement audio Go natif.
- gosamplerate - liaisons libsamplerate pour go.
- id3v2 - Bibliothèque de décodage et d'encodage ID3 pour Go.
- malgo - Mini bibliothèque audio.
- minimp3 - Bibliothèque de décodeur MP3 légère.
- Oto - Une bibliothèque de bas niveau pour lire du son sur plusieurs plates-formes.
- PortAudio - Liaisons Go pour la bibliothèque d'E/S audio PortAudio.
⬆ retour en haut
Authentification et OAuth
Bibliothèques pour implémenter des schémas d'authentification.
- authboss - Système d'authentification modulaire pour le Web. Il essaie de supprimer autant de passe-partout et de « choses difficiles » que possible afin que chaque fois que vous démarrez un nouveau projet Web dans Go, vous puissiez le brancher, le configurer et commencer à créer votre application sans avoir à créer un système d'authentification à chaque fois. .
- branca - implémentation de la spécification du jeton branca pour Golang 1.15+.
- casbin - Bibliothèque d'autorisation qui prend en charge les modèles de contrôle d'accès tels que ACL, RBAC et ABAC.
- cookiestxt - fournit un analyseur du format de fichier cookies.txt.
- go-guardian - Go-Guardian est une bibliothèque Golang qui fournit un moyen simple, propre et idiomatique de créer une puissante authentification API et Web moderne qui prend en charge l'authentification basée sur LDAP, Basic, Bearer token et Certificate.
- go-jose - Implémentation assez complète des spécifications JSON Web Token, JSON Web Signatures et JSON Web Encryption du groupe de travail JOSE.
- gologin - gestionnaires chaînables pour la connexion avec les fournisseurs d'authentification OAuth1 et OAuth2.
- gorbac - fournit une implémentation légère du contrôle d'accès basé sur les rôles (RBAC) dans Golang.
- gosession - Il s'agit d'une session rapide pour net/http dans GoLang. Ce package est peut-être la meilleure implémentation du mécanisme de session, ou du moins il essaie de le devenir.
- goth - fournit une manière simple, propre et idiomatique d'utiliser OAuth et OAuth2. Gère plusieurs fournisseurs prêts à l’emploi.
- jeff - Gestion de sessions Web simple, flexible, sécurisée et idiomatique avec des backends enfichables.
- jwt - Bibliothèque de jetons Web JSON légers (JWT).
- jwt - Jetons Web JSON sûrs, simples et rapides pour Go.
- jwt-auth - Middleware JWT pour les serveurs http Golang avec de nombreuses options de configuration.
- jwt-go - Une implémentation complète des jetons Web JSON (JWT). Cette bibliothèque prend en charge l'analyse et la vérification ainsi que la génération et la signature des JWT.
- jwx - Module Go implémentant diverses technologies JWx (JWA/JWE/JWK/JWS/JWT, autrement connu sous le nom de JOSE)
- céto - Implémentation Open Source (Go) de "Zanzibar : le système d'autorisation mondial cohérent de Google". Livré avec gRPC, des API REST, newSQL et un langage d'autorisation simple et granulaire. Prend en charge ACL, RBAC et d’autres modèles d’accès.
- loginsrv - Microservice de connexion JWT avec des backends enfichables tels que OAuth2 (Github), htpasswd, osiam.
- oauth2 - Successeur de goauth2. Package OAuth 2.0 générique fourni avec la prise en charge de JWT, des API Google, de Compute Engine et d'App Engine.
- oidc - Bibliothèque client et serveur OpenID Connect facile à utiliser écrite pour Go et certifiée par l'OpenID Foundation
- openfga - Mise en œuvre d'une autorisation fine basée sur le document "Zanzibar : Google's Consistent, Global Authorization System". Soutenu par la CNCF.
- osin - Bibliothèque du serveur Golang OAuth2.
- otpgen - Bibliothèque pour générer des codes TOTP/HOTP.
- otpgo - Bibliothèque de mots de passe à usage unique basés sur le temps (TOTP) et de mots de passe à usage unique basés sur HMAC (HOTP) pour Go.
- paseto - Implémentation Golang des jetons de sécurité indépendants de la plate-forme (PASETO).
- permissions2 - Bibliothèque pour garder une trace des utilisateurs, des états de connexion et des autorisations. Utilise des cookies sécurisés et bcrypt.
- scope - Gérez facilement les étendues OAuth2 dans Go.
- scs - Gestionnaire de sessions pour les serveurs HTTP.
- securecookie - Encodage/décodage sécurisé efficace des cookies.
- session - Gestion de session Go pour les serveurs Web (y compris la prise en charge de Google App Engine - GAE).
- sessions - Service de sessions très simple, hautement performant et hautement personnalisable pour les serveurs Go HTTP.
- sessionup - Package de gestion et d'identification de session HTTP simple mais efficace.
- sjwt - Générateur et analyseur jwt simples.
⬆ retour en haut
Chaîne de blocs
Outils pour construire des blockchains.
- cometbft - Un moteur de réplication de machine à états déterministe, byzantin, tolérant aux pannes et distribué. Il s'agit d'un fork de Tendermint Core et implémente l'algorithme de consensus Tendermint.
- cosmos-sdk - Un cadre pour la création de blockchains publiques dans l'écosystème Cosmos.
- gno - Une suite complète de contrats intelligents construite avec Golang et Gnolang, une variante Go déterministe spécialement conçue pour les blockchains.
- go-ethereum - Implémentation officielle Go du protocole Ethereum.
- gosemble - Un framework basé sur Go pour créer des runtimes compatibles Polkadot/Substrate.
- gossamer - Une implémentation Go de l'hôte Polkadot.
- kubo - Un framework blockchain implémenté dans Go. Il fournit un stockage adressable par contenu qui peut être utilisé pour le stockage décentralisé dans les DApps. Il est basé sur le protocole IPFS.
- lnd - Une implémentation complète d'un nœud Lighting Network.
- solana-go - Bibliothèque Go pour s'interfacer avec les interfaces Solana JSON RPC et WebSocket.
- tendremint - Middleware haute performance pour transformer une machine à états écrite dans n'importe quel langage de programmation en une machine à états répliquée byzantine tolérante aux pannes à l'aide du consensus Tendermint et des protocoles blockchain.
⬆ retour en haut
Création de robots
Bibliothèques pour créer et travailler avec des robots.
- bot - Bibliothèque Telegram Bot sans dépendance avec des composants d'interface utilisateur supplémentaires
- echotron - Une bibliothèque élégante et concurrente pour Telegram Bots in Go.
- ephemeral-roles - Un robot Discord pour gérer les rôles éphémères en fonction de la présence des membres du canal vocal.
- go-chat-bot - Bot IRC, Slack et Telegram écrit en Go.
- go-joe - Une bibliothèque de robots à usage général inspirée de Hubot mais écrite en Go.
- go-sarah - Framework permettant de créer un bot pour les services de chat souhaités, notamment LINE, Slack, Gitter, etc.
- go-tg - Généré à partir de la bibliothèque client Go de documents officiels pour accéder à l'API Telegram Bot, avec des batteries pour créer des robots complexes incluses.
- go-tgbot - Wrapper d'API Pure Golang Telegram Bot, généré à partir d'un fichier swagger, d'un routeur basé sur une session et d'un middleware.
- go-twitch-irc - Bibliothèque pour écrire des robots pour le chat twitch.tv
- Golang CryptoTrading Bot - Une implémentation Golang d'un robot de trading basé sur une console pour les échanges de crypto-monnaie.
- govkbot - Bibliothèque de robots Simple Go VK.
- hanu - Framework pour écrire des robots Slack.
- Kelp - bot officiel de trading et de tenue de marché pour le Stellar DEX. Fonctionne directement, écrit en Golang, compatible avec les échanges centralisés et les stratégies de trading personnalisées.
- Larry - Larry ? est un générateur de robots Twitter très simple qui tweete des référentiels aléatoires à partir de Github intégré à Go.
- margelet - Framework pour créer des robots Telegram.
- micha - Accédez à la bibliothèque pour l'API du bot Telegram.
- olivia - Un chatbot construit avec un réseau de neurones artificiels.
- slack-bot - Slack Bot prêt à l'emploi pour les développeurs paresseux : commandes personnalisées, Jenkins, Jira, Bitbucket, Github...
- slacker - Framework facile à utiliser pour créer des robots Slack.
- slackscot - Un autre framework pour créer des robots Slack.
- tbot - Serveur de bot Telegram avec API similaire à net/http.
- telebot - Le framework de bot Telegram est écrit en Go.
- telego - Bibliothèque API Telegram Bot pour Golang avec implémentation complète de l'API individuelle.
- telegram-bot-api - Client bot Telegram simple et propre.
- teleterm - Commande de terminal Telegram Bot Exec.
- Tenyks - Bot IRC orienté service utilisant Redis et JSON pour la messagerie.
- wayback - Un bot pour les pages Web d'archives de Telegram, Mastodon, Slack et d'autres plateformes de messagerie.
⬆ retour en haut
Construire l'automatisation
Les bibliothèques et les outils facilitent l'automatisation de la construction.
- 1build - Outil de ligne de commande pour gérer sans problème les commandes spécifiques au projet.
- air - Air - Rechargement en direct pour les applications Go.
- anko - Observateur d'application simple pour plusieurs langages de programmation.
- gaper - Construit et redémarre un projet Go en cas de panne ou de modifications de fichiers surveillés.
- gilbert - Construire un système et un exécuteur de tâches pour les projets Go.
- gob - Outil de construction de type Gradle/Maven pour les projets Go.
- goyek - Créez des pipelines de build dans Go.
- mage - Mage est un outil de construction de type make/rake utilisant Go.
- mmake - Création moderne.
- réaliser - Allez construire un système avec des observateurs de fichiers et vivez pour recharger. Exécutez, créez et surveillez les modifications de fichiers avec des chemins personnalisés.
- Tâche - simple alternative "Make".
- taskctl - Exécuteur de tâches simultanées.
- xc - Exécuteur de tâches avec tâches définies README.md, démarque exécutable.
⬆ retour en haut
Ligne de commande
Interfaces utilisateur avancées de la console
Bibliothèques pour créer des applications console et des interfaces utilisateur de console.
- asciigraph - Package Go pour créer un graphique linéaire ASCII léger ╭┈╯ dans les applications en ligne de commande sans autres dépendances.
- aurora - Couleurs de terminal ANSI prenant en charge fmt.Printf/Sprintf.
- box-cli-maker - Créez des boîtes hautement personnalisées pour votre CLI.
- bubble-table - Un composant de table interactif pour bubbletea.
- bubbles - Composants TUI pour bubbletea.
- bubbletea - Go framework pour créer des applications de terminal, basées sur l'architecture Elm.
- cfmt - Fmt contextuel inspiré des classes de couleurs bootstrap.
- cfmt - Sortie stylisée formatée simple et pratique, entièrement compatible avec la bibliothèque fmt.
- chalk - Package intuitif pour embellir la sortie du terminal/console.
- colorize - Accédez à la bibliothèque pour le texte en couleur ANSI dans les terminaux.
- crab-config-files-templating - Outil de création de modèles de fichiers de configuration dynamiques pour les fichiers manifestes Kubernetes ou de configuration générale.
- ctc - La bibliothèque de couleurs du terminal multiplateforme non invasive n'a pas besoin de modifier la méthode d'impression.
- go-ataman - Bibliothèque Go pour le rendu de modèles de texte coloré ANSI dans les terminaux.
- go-colorable - Écrivain colorable pour Windows.
- go-colortext - Bibliothèque Go pour la sortie couleur dans les terminaux.
- go-isatty - isatty pour golang.
- go-palette - Bibliothèque Go qui fournit des définitions de style élégantes et pratiques utilisant les couleurs ANSI. Entièrement compatible et enveloppe la bibliothèque fmt pour de belles configurations de terminaux.
- go-prompt - Bibliothèque pour créer une invite interactive puissante, inspirée de python-prompt-toolkit.
- gocui - Bibliothèque Go minimaliste destinée à créer des interfaces utilisateur de console.
- gommon/color - Style du texte du terminal.
- goookit/color - Bibliothèque d'outils de rendu des couleurs du terminal, prend en charge 16 couleurs, 256 couleurs, sortie de rendu des couleurs RVB, compatible avec Windows.
- lipgloss - Définissez de manière déclarative les styles de couleur, de format et de mise en page dans le terminal.
- marqueur - Le moyen le plus simple de faire correspondre et de marquer des chaînes pour des sorties de terminal colorées.
- mpb - Barre de progression multiple pour les applications de terminal.
- progressbar - Barre de progression de base thread-safe qui fonctionne dans tous les systèmes d'exploitation.
- pterm - Une bibliothèque pour embellir la sortie de la console sur chaque plateforme avec de nombreux composants combinables.
- simpletable - Tables simples dans un terminal avec Go.
- spinner - Package Go pour fournir facilement un terminal spinner avec des options.
- tabby - Une petite bibliothèque pour des tables Golang super simples.
- table - Petite bibliothèque pour les tables basées sur les couleurs des terminaux.
- tabulaire - Imprimez des tableaux ASCII à partir d'utilitaires de ligne de commande sans avoir besoin de transmettre de grands ensembles de données à l'API.
- termbox-go - Termbox est une bibliothèque permettant de créer des interfaces textuelles multiplateformes.
- termdash - Tableau de bord du terminal Go basé sur termbox-go et inspiré de termui.
- termenv - Prise en charge avancée du style et des couleurs ANSI pour vos applications de terminal.
- termui - Tableau de bord du terminal Go basé sur termbox-go et inspiré de blessed-contrib.
- uilive - Bibliothèque pour mettre à jour la sortie du terminal en temps réel.
- uiprogress - Bibliothèque flexible pour afficher les barres de progression dans les applications de terminal.
- uitable - Bibliothèque pour améliorer la lisibilité dans les applications de terminal à l'aide de données tabulaires.
- yacspin - Encore un autre package CLi Spinner, pour travailler avec les spinners de terminaux.
⬆ retour en haut
CLI standard
Bibliothèques pour créer des applications de ligne de commande standard ou de base.
- acmd - Package CLI simple, utile et avisé dans Go.
- argparse - Analyseur d'arguments de ligne de commande inspiré du module argparse de Python.
- argv - Accédez à la bibliothèque pour diviser la chaîne de ligne de commande en tableau d'arguments en utilisant la syntaxe bash.
- carapace - Générateur de complétion d'arguments de commande pour spf13/cobra.
- carapace-bin - Compléteur d'arguments multi-commandes multi-shell.
- carapace-spec - Définissez des complétions simples à l'aide d'un fichier de spécifications.
- climax - CLI alternative avec "visage humain", dans l'esprit de la commande Go.
- clîr - Une bibliothèque CLI simple et claire. Libre de dépendance.
- cmd - Étend le package
flag
standard pour prendre en charge les sous-commandes et plus encore de manière idiomatique. - cmdr - Une bibliothèque UI Go de ligne de commande de style POSIX/GNU, de type getopt.
- cobra - Commandant pour les interactions Go CLI modernes.
- command-chain - Une bibliothèque go pour configurer et exécuter des chaînes de commandes - telles que le pipeline dans les shells Unix.
- réquisitionner - Applications CLI conviviales pour les développeurs : configure les indicateurs, les valeurs par défaut et l'utilisation en fonction des champs de structure et des balises.
- complete - Écrivez les complétions bash dans la complétion bash de la commande Go + Go.
- Dnote - Un simple bloc-notes en ligne de commande avec synchronisation multi-appareils.
- elfique - Un langage de programmation expressif et un shell interactif polyvalent.
- env - Configuration d'environnement basée sur des balises pour les structures.
- flag - Bibliothèque d'analyse d'options de ligne de commande simple mais puissante pour la sous-commande Go prenant en charge.
- flaggy - Un package de drapeaux robuste et idiomatique avec une excellente prise en charge des sous-commandes.
- flagvar - Une collection de types d'arguments d'indicateur pour le package
flag
standard de Go. - go-andotp - Un programme CLI pour crypter/déchiffrer les fichiers et OTP. Peut également être utilisé comme bibliothèque.
- go-arg - Analyse d'arguments basée sur la structure dans Go.
- go-commander - Bibliothèque Go pour simplifier le flux de travail CLI.
- go-flags - analyseur d'options de ligne de commande go.
- go-getoptions - Analyseur d'options Go inspiré de la flexibilité de GetOpt::Long de Perl.
- gocmd - Bibliothèque Go pour créer des applications en ligne de commande.
- hiboot cli - framework d'application cli avec configuration automatique et injection de dépendances.
- job - JOB, faites de votre commande à court terme un travail à long terme.
- kingpin - Ligne de commande et analyseur de drapeaux prenant en charge les sous-commandes (remplacées par
kong
; voir ci-dessous). - liner - Accédez à une bibliothèque de type readline pour les interfaces de ligne de commande.
- mcli - Une bibliothèque cli minimale mais très puissante pour Go.
- mitchellh/cli - Bibliothèque Go pour implémenter des interfaces de ligne de commande.
- mkideal/cli - Package de ligne de commande riche en fonctionnalités et facile à utiliser basé sur les balises struct golang.
- mow.cli - Bibliothèque Go pour créer des applications CLI avec une analyse et une validation sophistiquées des indicateurs et des arguments.
- ops - Générateur/Orchestre Unikernel.
- pflag - Remplacement immédiat du package flag de Go, implémentant --flags de style POSIX/GNU.
- Bibliothèque readline Shell avec des fonctionnalités d'interface utilisateur modernes et faciles à utiliser.
- sand - API simple pour créer des interprètes et bien plus encore.
- sflags - Générateur de drapeaux basé sur la structure pour flag, urfave/cli, pflag, cobra, kingpin et d'autres bibliothèques.
- strumt - Bibliothèque pour créer une chaîne d'invites.
- subcmd - Une autre approche pour analyser et exécuter des sous-commandes. Fonctionne parallèlement au package
flag
standard. - Survey - Créez des invites interactives et accessibles avec une prise en charge complète des terminaux Windows et Posix.
- teris-io/cli - API simple et complète pour créer des interfaces de ligne de commande dans Go.
- ts - Outil de conversion et de comparaison d'horodatage.
- ukautz/clif - Petit framework d'interface de ligne de commande.
- urfave/cli - Package simple, rapide et amusant pour créer des applications en ligne de commande dans Go (anciennement codegangsta/cli).
- version - Collecte et affiche les informations de version CLI dans plusieurs formats ainsi que l'avis de mise à niveau.
- wlog - Interface de journalisation simple qui prend en charge la couleur et la concurrence multiplateforme.
- wmenu - Structure de menu facile à utiliser pour les applications cli qui invitent les utilisateurs à faire des choix.
⬆ retour en haut
Configuration
Bibliothèques pour l'analyse de la configuration.
- aconfig - Chargeur de configuration simple, utile et avisé.
- bcl - BCL est un langage de configuration similaire à HCL.
- cleanenv - Lecteur de configuration minimaliste (à partir de fichiers, ENV et où vous le souhaitez).
- config - Configuration d'applications natives cloud. Liez ENV aux structures en seulement deux lignes.
- config - configurez votre application à l'aide d'un fichier, de variables d'environnement ou d'indicateurs sur deux lignes de code
- configuration - Bibliothèque pour initialiser les structures de configuration à partir de variables d'environnement, de fichiers, d'indicateurs et de balise « par défaut ».
- configure - Fournit une configuration via plusieurs sources, notamment JSON, des indicateurs et des variables d'environnement.
- configuro - cadre de chargement et de validation de configuration avisé d'ENV et de fichiers axé sur les applications conformes à 12 facteurs.
- confiq - Format de données structuré pour configurer la bibliothèque de décodage struct pour Go - prenant en charge plusieurs formats de données
- confita - Charge la configuration en cascade à partir de plusieurs backends dans une structure.
- conlate - Bibliothèque/outil pour fusionner plusieurs fichiers JSON/YAML/TOML à partir d'URL arbitraires, validation par rapport à un schéma JSON et application des valeurs par défaut définies dans le schéma.
- env - Analyser les variables d'environnement en structures Go (avec valeurs par défaut).
- env - Un package léger pour charger des variables d'environnement dans des structures.
- env - Un package utilitaire d'environnement avec prise en charge du démarshalage en structures
- envconfig - Lisez votre configuration à partir des variables d'environnement.
- envh - Aides pour gérer les variables d'environnement.
- fig - Petite bibliothèque pour lire la configuration à partir d'un fichier et de variables d'environnement (avec validation et valeurs par défaut).
- genv - Lisez facilement les variables d'environnement avec la prise en charge de dotenv.
- go-array - Un package Go qui lit ou définit des données à partir d'une carte, d'une tranche ou d'un json.
- go-aws-ssm - Package Go qui récupère les paramètres d'AWS System Manager - Parameter Store.
- go-cfg - La bibliothèque fournit un moyen unifié de lire les données de configuration dans une structure à partir de diverses sources, telles que l'environnement, les indicateurs et les fichiers de configuration (.json, .yaml, .toml, .env).
- go-conf - Bibliothèque simple pour la configuration d'applications basée sur des structures annotées. Il prend en charge la lecture de la configuration à partir des variables d'environnement, des fichiers de configuration et des paramètres de ligne de commande.
- go-ini - Un package Go qui rassemble et désorganise les fichiers INI.
- go-ssm-config - Utilitaire Go pour charger les paramètres de configuration à partir d'AWS SSM (Parameter Store).
- go-up - Une bibliothèque de configuration simple avec une résolution d'espaces réservés récursive et sans magie.
- GoCfg - Gestionnaire de configuration avec contrats basés sur des balises Struct, fournisseurs de valeurs personnalisés, analyseurs et génération de documentation. Personnalisable mais simple.
- goConfig - Analyse une structure en entrée et remplit les champs de cette structure avec les paramètres de la ligne de commande, les variables d'environnement et le fichier de configuration.
- godotenv - Port Go de la bibliothèque dotenv de Ruby (charge les variables d'environnement à partir de
.env
). - gofigure - La configuration de l'application Go simplifiée.
- GoLobby/Config - GoLobby Config est un gestionnaire de configuration léger mais puissant pour le langage de programmation Go.
- gone/jconf - Configuration JSON modulaire. Conservez vos structures de configuration avec le code qu'elles configurent et déléguez l'analyse aux sous-modules sans sacrifier la sérialisation complète de la configuration.
- gonfig - Analyseur de configuration basé sur des balises qui charge les valeurs de différents fournisseurs dans la structure typesafe.
- goookit/config - gestion de la configuration de l'application (charger, obtenir, définir). prend en charge JSON, YAML, TOML, INI, HCL. chargement de plusieurs fichiers, fusion de remplacement de données.
- Harvester - Harvester, un package de configuration statique et dynamique facile à utiliser prenant en charge l'amorçage, les variables d'environnement et l'intégration de Consul.
- hjson - Human JSON, un format de fichier de configuration pour les humains. Syntaxe assouplie, moins d'erreurs, plus de commentaires.
- hocon - Bibliothèque de configuration pour travailler avec le format HOCON (un surensemble JSON convivial), prend en charge des fonctionnalités telles que les variables d'environnement, le référencement d'autres valeurs, des commentaires et plusieurs fichiers.
- ingo - Les indicateurs persistaient dans un fichier de configuration de type ini.
- ini - Package Go pour lire et écrire des fichiers INI.
- ini - INI Parser & Write Library, Unmarshal vers Struct, Marshal vers Json, Write File, watch file.
- joshbetz/config - Petite bibliothèque de configuration pour Go qui analyse les variables d'environnement, les fichiers JSON et se recharge automatiquement sur SIGHUP.
- kelseyhightower/envconfig - Bibliothèque Go pour gérer les données de configuration à partir des variables d'environnement.
- koanf - Bibliothèque légère et extensible pour lire la configuration dans les applications Go. Prise en charge intégrée de JSON, TOML, YAML, env, ligne de commande.
- konf - L'API la plus simple pour lire/observer la configuration à partir d'un fichier, d'un environnement, d'un indicateur et de nuages (par exemple AWS, Azure, GCP).
- konfig - Gestion de configuration composable, observable et performante pour Go à l'ère du traitement distribué.
- kong - Analyseur de ligne de commande avec prise en charge de structures de ligne de commande arbitrairement complexes et de sources de configuration supplémentaires telles que YAML, JSON, TOML, etc. (successeur de
kingpin
). - mini - Package Golang pour analyser les fichiers de configuration de style ini.
- nasermirzaei89/env - Package simple et utile pour lire les variables d'environnement.
- nfigure - Configuration basée sur des balises de structure par bibliothèque à partir de lignes de commande (style Posix & Go) ; environnement, JSON, YAML
- onion - Configuration basée sur les couches pour Go, prend en charge JSON, TOML, YAML, les propriétés, etcd, env et le cryptage à l'aide de PGP.
- piper - Wrapper Viper avec héritage de configuration et génération de clés.
- sonic - Une bibliothèque de sérialisation et de désérialisation JSON incroyablement rapide.
- store - Gestionnaire de configuration léger pour Go.
- swap - Instancier/configurer les structures de manière récursive, en fonction de l'environnement de construction. (YAML, TOML, JSON et environnement).
- typenv - Bibliothèque de variables d'environnement typées minimaliste, sans dépendance.
- uConfig - Gestion de configuration légère, sans dépendance et extensible.
- viper - Allez en configuration avec des crocs.
- xdg - Implémentation Go de la spécification du répertoire de base XDG et des répertoires d'utilisateurs XDG.
- xdg - Package multiplateforme qui suit la norme XDG.
- yamagiconf - Le "sous-ensemble sécurisé" des configurations YAML pour Go.
⬆ retour en haut
Intégration continue
Outils d’aide à l’intégration continue.
- abstruse - Abstruse est une plateforme CI distribuée.
- Bencher - Une suite d'outils d'analyse comparative continue conçus pour détecter les régressions de performances dans CI.
- CDS – Plateforme Open Source CI/CD et DevOps Automation de niveau entreprise.
- dot - Un premier système d'intégration continue minimal et local qui utilise Docker pour exécuter des tâches simultanément par étapes.
- drone - Drone est une plateforme d'intégration continue construite sur Docker, écrite en Go.
- go-beautiful-html-coverage - Une action GitHub pour suivre la couverture du code dans vos demandes d'extraction, avec un bel aperçu HTML, gratuitement.
- go-fuzz-action - Utilisez les tests de fuzz intégrés de Go 1.18 dans GitHub Actions.
- go-semver-release - Automatisez la gestion des versions sémantiques des référentiels Git.
- go-test-coverage - Outil et action GitHub qui signalent les problèmes lorsque la couverture des tests est inférieure au seuil défini.
- gomason - Testez, créez, signez et publiez vos binaires go à partir d'un espace de travail propre.
- gotestfmt - teste la sortie pour les humains.
- govoveralls - Intégration Go pour le système de suivi continu de la couverture de code Coveralls.io.
- muffet - Vérificateur rapide de liens vers des sites Web dans Go, voir les alternatives.
- salopettes - Profil de couverture du projet Go Multi-Package pour des outils tels que les combinaisons.
- Roveralls - Outil de test de couverture récursif.
- woodpecker - Woodpecker est un fork communautaire du système Drone CI.
⬆ retour en haut
Préprocesseurs CSS
Bibliothèques de prétraitement des fichiers CSS.
- gcss - Préprocesseur CSS Pure Go.
- go-libsass - Go wrapper au projet libsass 100% compatible Sass.
⬆ retour en haut
Cadres d'intégration de données
Cadres pour effectuer ELT / ETL
- Benthos - Un pont de diffusion de messages entre une gamme de protocoles.
- CloudQuery - Un cadre d'intégration de données ELT hautes performances avec une architecture enfichable.
- omniparser - Une bibliothèque ETL polyvalente qui analyse la saisie de texte (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) en mode streaming et transforme les données en sortie JSON à l'aide d'un schéma basé sur les données.
⬆ retour en haut
Structures de données et algorithmes
Emballage de bits et compression
- bingo - Regroupement rapide, sans allocation nulle, préservant l'ordre lexicographique des types natifs en octets.
- binpacker - Le packer et le décompresseur binaires aident l'utilisateur à créer un flux binaire personnalisé.
- bit - Golang a défini une structure de données avec des fonctions bonus de manipulation de bits.
- crunch - Go package implémentant des tampons pour gérer facilement divers types de données.
- go-ef - Une implémentation Go de l'encodage Elias-Fano.
- rugissant - Package Go implémentant des ensembles de bits compressés.
Jeux de bits
- bitmap - Bitmap/bitset dense, à allocation nulle, compatible SIMD dans Go.
- bitset - Go package implémentant des bitsets.
Filtres Bloom et Coucou
- bloom - Go package implémentant les filtres Bloom.
- bloom - Filtres Bloom implémentés dans Go.
- bloom - Implémentation du filtre Golang Bloom.
- bloomfilter - Encore une autre implémentation de Bloomfilter dans Go, compatible avec la bibliothèque Guava de Java.
- boomfilters - Structures de données probabilistes pour le traitement de flux continus et illimités.
- cuckoo-filter - Filtre à coucou : un filtre à coucou complet, configurable et optimisé en termes d'espace par rapport à d'autres outils, et toutes les fonctionnalités mentionnées dans l'article original sont disponibles.
- cuckoofilter - Filtre coucou : une bonne alternative à un filtre de comptage de bloom implémenté dans Go.
- ring - Go implémentation d'un filtre bloom haute performance et sans fil.
Structure de données et collections d'algorithmes
- algorithmes - Algorithmes et structures de données.Etude CLRS.
- go-datastructures - Collection de structures de données utiles, performantes et thread-safe.
- dieux - Allez sur les structures de données. Conteneurs, ensembles, listes, piles, cartes, BidiMaps, arbres, HashSet, etc.
- gostl - Bibliothèque de structures de données et d'algorithmes pour go, conçue pour fournir des fonctions similaires à C++ STL.
Itérateurs
- goterator - Implémentation d'un itérateur pour fournir des fonctionnalités de cartographie et de réduction.
- iter - Implémentation Go des itérateurs et algorithmes C++ STL.
Cartes
Voir également Base de données pour des magasins clé-valeur plus complexes et Arbres pour des implémentations de cartes ordonnées supplémentaires.
- cmap - une carte simultanée thread-safe pour Go, prise en charge de l'utilisation
interface{}
comme clé et mise à l'échelle automatique des fragments. - dict - Dictionnaires de type Python (dict) pour Go.
- go-shelve - Un objet persistant semblable à une carte pour le langage de programmation Go. Prend en charge plusieurs magasins de valeurs-clés intégrés.
- goradd/maps - Interface de carte générique Go 1.18+ pour les cartes ; cartes sécurisées ; cartes ordonnées ; des cartes ordonnées et sûres ; etc.
Diverses structures de données et algorithmes
- concurrent-writer - Remplacement immédiat hautement simultané de
bufio.Writer
. - conjungo - Une petite bibliothèque de fusion puissante et flexible.
- count-min-log - Implémentation Go Sketch Count-Min-Log : comptage approximatif avec des compteurs approximatifs (comme le croquis Count-Min mais utilisant moins de mémoire).
- fsm - Package Machine à états finis.
- genfuncs - Package générique Go 1.18+ inspiré de Sequence and Map de Kotlin.
- go-generics - Utilitaires génériques de tranche, de carte, d'ensemble, d'itérateur et de goroutine.
- go-geoindex - Index géographique en mémoire.
- go-rampart - Détermine les relations entre les intervalles.
- go-rquad - Quadtrees de région avec localisation efficace des points et recherche des voisins.
- go-tuple - Implémentation de tuple générique pour Go 1.18+.
- go18ds - Structures de données Go utilisant les génériques Go 1.18.
- gofal - API fractionnaire pour Go.
- gogu - Une bibliothèque complète, réutilisable et efficace de fonctions utilitaires génériques et de structures de données à sécurité concurrente.
- gota - Implémentation de méthodes de dataframes, de séries et de gestion des données pour Go.
- hide - Type d'ID avec marshalling vers/depuis le hachage pour empêcher l'envoi d'ID aux clients.
- hilbert - Package Go pour mapper des valeurs vers et depuis des courbes remplissant l'espace, telles que les courbes de Hilbert et Peano.
- hyperloglog - Implémentation d'HyperLogLog avec Sparse, correction de biais LogLog-Beta et réduction de l'espace TailCut.
- quadtree - Quadtree générique, sans allocation, couvert à 100 % par les tests.
- slices - Fonctions qui opèrent sur les tranches ; comme
package strings
mais adaptées pour fonctionner avec des tranches. - slices - Fonctions pures et génériques pour les tranches.
Types nullables
- nan - Allocation zéro Structures nullables dans une bibliothèque avec des fonctions de conversion pratiques, des marshalleurs et des démarshallers.
- null - Types Go nullables qui peuvent être marshallés/non marshallés vers/depuis JSON.
- typ - Types nuls, conversion de type primitif sécurisée et récupération de valeur à partir de structures complexes.
Files d'attente
- deque - Une file d'attente à double extrémité hautement optimisée.
- deque - Deque de tampon en anneau rapide (file d'attente à double extrémité).
- goconcurrentqueue - File d'attente FIFO simultanée.
- hachette - File d'attente de tâches distribuée et tolérante aux pannes.
- memlog - Une structure de données en mémoire facile à utiliser, légère, sécurisée pour les threads et avec ajout uniquement, inspirée d'Apache Kafka.
- queue - Plusieurs implémentations de files d'attente génériques thread-safe pour Go.
Ensembles
- dsu - Implémentation de la structure de données Disjoint Set dans Go.
- golang-set - Ensembles hautes performances Thread-Safe et Non-Thread-Safe pour Go.
- goset - Une implémentation de collection Set utile pour Go.
- set - Implémentation simple d'une structure de données d'ensemble dans Go à l'aide de LinkedHashMap.
Analyse de texte
- bleve - Bibliothèque d'indexation de texte moderne à emporter.
- GO-ADAPTIVE-RADIX-TREE - GO Implémentation de l'arborescence Radix adaptative.
- Go-edlib - GO Comparaison de chaînes et modifiez la bibliothèque des algorithmes de distance (Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler, etc.) compatible avec Unicode.
- Levenshtein - Levenshtein Distance et Métriques de similitude avec les coûts d'édition personnalisables et le bonus de type Winkler pour le préfixe commun.
- Levenshtein - Implémentation pour calculer la distance de Levenshtein dans GO.
- MSPM - Algorithme de correspondance de modèle multi-cordes pour la récupération d'informations.
- PARSEFIELDS - Outils pour l'analyse des journaux de type JSON pour collecter des champs et des événements uniques.
- Ptrie - Une implémentation de l'arbre préfixe.
- TRIE - TRIE Implémentation en Go.
Arbres
- Hashsplit - diviser les octets coulent en morceaux et organiser des morceaux en arbres, avec des limites déterminées par le contenu, pas la position.
- Merkle - Calcul économe en espace des hachages racinaires de Merkle et des preuves d'inclusion.
- Skiplist - Implémentation très rapide de Skiplist.
- Skiplist - Implémentation Skiplist dans Go.
- Treap - carte persistante et commandée rapide à l'aide de tas d'arbre.
- Treemap - carte générique à clés à l'aide d'un arbre rouge-noir sous le capot.
Tuyaux
- Ordommed-Currencé - Module GO qui traite simultanément le fonctionnement et renvoie la sortie dans un canal dans l'ordre de l'entrée.
- Parapipe - Pipeline FIFO qui est parallèle à l'exécution à chaque étape tout en maintenant l'ordre des messages et des résultats.
- Pipeline - Une implémentation de pipelines avec fan-in et fan-out.
⬆ Retour en haut
Base de données
Caches
Stores de données avec des enregistrements expirés, des magasins de données distribués en mémoire ou des sous-ensembles en mémoire de bases de données basées sur des fichiers.
- 2Q - 2Q Implémentation de cache en mémoire.
- BCACH - Finalement, une bibliothèque de cache inémoire distribuée cohérente GO GO.
- BigCache - Cache / valeur efficace pour les gigaoctets de données.
- CACHE - Clé en mémoire: stockage de valeur avec temps d'expiration, 0 dépendances, <100 loc, couverture à 100%.
- CACHE2GO - Clé en mémoire: cache de valeur qui prend en charge l'invalidation automatique en fonction des délais d'attente.
- Composant de cache Cachego - Golang pour plusieurs pilotes.
- ClusteredBigCache - BigCache avec support de clustering et expiration individuelle des éléments.
- Coherence-Go-Client - Implémentation complète de l'API du cache de cohérence Oracle pour les applications GO en utilisant GRPC comme transport de réseau.
- Couchcache - Micro-service de mise en cache Restful soutenu par le serveur Couchbase.
- ECHOVAULT - ENCHETABLE DISTRIBUTÉ DES DONNÉES MÉMOIRES COMPATIBLES AVEC LES CLIENTS REDIS.
- FASTCACHE - CACHE INMEMORY FAST FIRE-SAFE pour le grand nombre d'entrées. Minimise les frais généraux GC.
- Gcache - Bibliothèque de cache avec prise en charge du cache expirable, LFU, LRU et ARC.
- GDCache - Une bibliothèque de cache non intrusive pure implémentée par Golang, vous pouvez l'utiliser pour implémenter votre propre cache distribué.
- GO-CACHE - Une bibliothèque de mise en cache à plusieurs couches flexible pour gérer le cache en mémoire et partagé en adoptant le modèle de cache-aside.
- GO-FREELRU A GC-sans, rapide et générique, bibliothèque LRU Hashmap avec verrouillage, fragment, expiration et expiration en option.
- GO-MCACHE - Clé en mémoire rapide: Valeur Store / Bibliothèque de cache. Caches de pointeur.
- GOCACHE - Une bibliothèque complète de cache Go avec plusieurs magasins (mémoire, memcache, redis, ...), chaintable, chargé, cache de métriques et plus encore.
- GoCache - Une bibliothèque de données gratuites de race de données avec des performances élevées et des fonctionnalités de pruge automatique
- GroupCache - GroupCache est une bibliothèque de mise en cache et de remplissage de cache, destiné à remplacer les memcached dans de nombreux cas.
- ICACHE - Un package de cache à haute performance, générique, en filetage et à la dépendance zéro.
- IMCACHE - Une bibliothèque générique en cache GO GO. Il prend en charge l'expiration, l'expiration glissante, la limite des entrées maximales, les rappels d'expulsion et le fragment.
- NSCACHE - Un cadre de mise en cache Go qui prend en charge plusieurs pilotes de source de données.
- Otter - un cache sans verrouillage haute performance pour go. Plusieurs fois plus vite que Ristretto et ses amis.
- Pocache - Pocache est un package de cache minimal qui se concentre sur une stratégie de mise en cache optimiste préemptive.
- STURDYC - Une bibliothèque de mise en cache avec des fonctionnalités de concurrence avancées conçues pour rendre les applications lourdes d'E / S robustes et très performantes.
- Theine - Haute performance, presque optimal en cache en mémoire avec l'expiration et génériques TTL proactifs.
- TIMEDMAP - Carte avec des paires de valeurs clés expirées.
- ttlcache - un cache en mémoire avec l'expiration des éléments et les génériques.
- TTLCACHE - Stockage de valeur de clé en mémoire avec TTL pour chaque enregistrement.
Les bases de données implémentées dans Go
- BADGER - Magasin de valeur clé rapide en Go.
- BBOLT - Une base de données de clé / valeur intégrée pour GO.
- BitCask - Bitcask est une base de données intégrée, persistante et rapide de valeurs clés (KV) écrite en pure Go avec des performances de lecture / écriture prévisibles, une latence faible et un débit élevé grâce à la disposition Bitcask On Disk (LSM + WAL).
- Buntdb - Base de données de clés / valeur rapide, rapide, intégrée, en mémoire pour aller avec l'indexation personnalisée et la prise en charge spatiale.
- Clover - une base de données NOSQL orientée vers le document légère écrite en Golang pur.
- COCKRACH - Orée de données transactionnelle évolutive, géo-reproduite.
- COFFER - Base de données de valeur clé à l'acide simple qui prend en charge les transactions.
- Colonne - Performance haute performance, Colonned, EmbedDable Inmory Store avec indexation et transactions bitmap.
- CovenantsQL - CovenantsQL est une base de données SQL sur la blockchain.
- Databunker - Service de stockage d'informations personnellement identifiables (PII) conçu pour se conformer au RGPD et au CCPA.
- DGRAPH - Base de données de graphiques à haut débit, distribuée, distribuée, faible latence et haut débit.
- DISKV - Magasin de valeurs clés à dos de disque local.
- Dolt - Dolt - C'est Git pour les données.
- DTF - Un gestionnaire de transactions distribué. Prise en charge des messages XA, TCC, Saga, fiables.
- EliasDB - Base de données de graphes transactionnelles sans dépendance avec API REST, recherche de phrase et langage de requête de type SQL.
- GODIS - Un Golang a implémenté le serveur et le cluster Redis haute performance.
- GOLEVELDB - Implémentation de la base de données Key / Value LevelDB dans Go.
- HARE - Un système de gestion de base de données simple qui stocke chaque table en tant que fichier texte de JSON délimité en ligne.
- IMMUDB - IMMUDB est une base de données immuable légère et à grande vitesse pour les systèmes et les applications écrites en Go.
- InfluxDB - Datastore évolutif pour les métriques, les événements et les analyses en temps réel.
- LEDISDB - LEDISDB est un NOSQL haute performance comme Redis basé sur le niveaudb.
- Levigo - Levigo est un wrapper pour le niveaudb.
- Libradb - Libradb est une base de données simple avec moins de 1000 lignes de code pour l'apprentissage.
- Lindb - Lindb est une base de données temporelle distribuée à haute performance et haute disponibilité et haute disponibilité.
- LotusDB - Base de données K / V rapide compatible avec LSM et B + Tree.
- Milvus - Milvus est une base de données vectorielle pour l'intégration de la gestion, de l'analyse et de la recherche.
- MOSS - MOSS est un simple moteur de stockage de valeurs de clé LSM écrit en 100% GO.
- NUTSDB - NUTSDB est un magasin / valeur simple, rapide, rapide, intégré et persistant écrit en Pure Go. Il prend en charge les transactions entièrement sérialisables et de nombreuses structures de données telles que la liste, le jeu, le jeu trié.
- ObjectBox-Go - Base de données d'objets intégrés haute performance (NOSQL) avec API GO.
- PEBBLE - Base de données de valeurs clés inspirée de RocksDB / NIVEALDB dans Go.
- PILADB - Moteur de base de données léger RESTful basé sur des structures de données de pile.
- POGREB - Magasin de valeur de clé intégrée pour les charges de travail en lecture.
- PROMÉTHEUS - Base de données de séries chronologiques de surveillance.
- Pudge - Store de clé / valeur rapide et simple écrite à l'aide de la bibliothèque standard de Go.
- Redka - Redis réimplémentée avec Sqlite.
- RosedB - Une base de données KV intégrée basée sur LSM + WAL, prend en charge la chaîne, la liste, le hash, le set, le zset.
- ROTOM - Un minuscule serveur Redis construit avec Golang, compatible avec les protocoles REA.
- RQLITE - La base de données relationnelle légère, distribuée et relationnelle construite sur SQLite.
- TempDB - Magasin de valeur clé pour les articles temporaires.
- TIDB - TIDB est une base de données SQL distribuée. Inspiré par la conception de Google F1.
- TIEDOT - Votre base de données NOSQL alimentée par Golang.
- UNITDB - Base de données FAST TINERIES pour IoT, applications de messagerie en temps réel. Access UnitDB avec PubSub sur TCP ou WebSocket à l'aide de l'application gitHub.com/Unit-io/Unitd.
- Vasto - un magasin de valeurs de clé de haute performance distribué. Sur disque. Cohérent éventuel. HA. Capable de grandir ou de rétrécir sans interruption de service.
- VictoriaMetrics - Base de données temporelle Open Source rapide, efficace et évolutive. Peut être utilisé comme stockage à distance à long terme pour Prometheus. Prend en charge ProMQL.
Migration de schéma de base de données
- Atlas - une boîte à outils de base de données. Une CLI conçue pour aider les entreprises à mieux travailler avec leurs données.
- Avro - Découvrez les schémas SQL et convertissez-les en schémas Avro. Requêtez les enregistrements SQL dans AVRO octets.
- Bytebase - Changement de schéma de base de données sûr et contrôle de version pour les équipes DevOps.
- Darwin - Bibliothèque d'évolution du schéma de base de données pour go.
- DBMate - Un outil de migration de base de données léger et agnostique de framework.
- GO-FIXURES - DIXATRES DE STYLE DJANGO pour l'excellente base de données / bibliothèque SQL intégrée de Golang.
- GO-PG-migrate - Package convivial pour la gestion des migrations GO-PG.
- GO-PG-MIGRATIONS - Un package GO pour aider à rédiger des migrations avec Go-PG / PG.
- Goavro - Un package Go qui encode et décode les données AVRO.
- Godfish - Database Migration Manager, travaille avec le langage de requête natif. Prise en charge de Cassandra, MySQL, Postgres, Sqlite3.
- Orose - outil de migration de la base de données. Vous pouvez gérer l'évolution de votre base de données en créant des scripts SQL incrémentaux ou GO.
- GORM-Seeder - Seeder de base de données simple pour Gorm Orm.
- GORMIGRATE - AIDEMENT DE MIGRATION SCHEMA DE DATABASE POUR GORN ORM.
- Libschema - Définissez vos migrations séparément dans chaque bibliothèque. Migrations pour les bibliothèques open source. MySQL & PostgreSQL.
- migrer - migrations de base de données. Bibliothèque CLI et Golang.
- Migrator - Dead Simple GO Database Migration Library.
- Migrator - Mysql Database Migrator conçu pour exécuter les migrations vers vos fonctionnalités et gérer la mise à jour du schéma de base de données avec un code GO intuitif.
- Schéma - Bibliothèque pour intégrer des migrations de schéma pour les bases de données compatibles / compatibles SQL à l'intérieur de vos binaires Go.
- Skeema - Système de gestion de schéma pure-SQL pour MySQL, avec le support pour les outils de changement de schéma en ligne externes et externes.
- Soda - Migration de base de données, création, ORM, etc ... pour MySQL, PostgreSQL et SQLite.
- SQL-Migrate - outil de migration de la base de données. Permet d'intégrer des migrations dans l'application à l'aide de go-bindata.
- SQLize - Générateur de migration de base de données. Permet de générer une migration SQL à partir du modèle et de SQL existant par les diffèrent.
Outils de base de données
- Chproxy - Proxy HTTP pour la base de données Clickhouse.
- Clickhouse-Bulk - collecte de petits inserts et envoie de grandes demandes aux serveurs Clickhouse.
- DBBENCH - outil d'analyse comparative de base de données avec prise en charge de plusieurs bases de données et scripts.
- DG - Un générateur de données rapide qui produit des fichiers CSV à partir de données relationnelles générées.
- Dynago - Simplifiez le travail avec AWS DynamoDB.
- GATEWAYD - Cloud-Native Database Gateway and Framework pour la création d'applications axées sur les données. Comme les passerelles API, pour les bases de données.
- go-Mysql - GO Toolset pour gérer le protocole et la réplication MySQL.
- GORM-Multitenancy - Prise en charge multi-tenue pour les bases de données gérées par Gorm.
- HASQL - Bibliothèque pour accéder aux installations de la base de données SQL multi-hôte.
- Package d'Octillery - GO pour les bases de données Sharding (prend en charge chaque ORM ou SQL brut).
- OneDump - Sauvegarde de la base de données de différents pilotes à différentes destinations avec une commande et une configuration.
- PG_TIMETABLE - Planification avancée pour PostgreSQL.
- PGWEB - navigateur de base de données PostgreSQL basé sur Web.
- PREP - Utilisez des instructions SQL préparées sans modifier votre code.
- Perst - Simplifier et accélérer le développement, ⚡ instantanément, en temps réel, haute performance sur toute application Postgres, existante ou nouvelle.
- RDB - REDIS RDB Fichier Parser pour le développement secondaire et l'analyse de la mémoire.
- RWDB - RWDB fournit la capacité de réplique de lecture pour la configuration des serveurs de base de données multiples.
- Vitess - Vitess fournit des serveurs et des outils qui facilitent la mise à l'échelle des bases de données MySQL pour les services Web à grande échelle.
- Wescale - Wescale est un proxy de base de données conçu pour améliorer l'évolutivité, les performances, la sécurité et la résilience de vos applications.
Constructeurs de requêtes SQL
Bibliothèques pour la construction et l'utilisation de SQL.
- BQB - Builder de requête léger et facile à apprendre.
- BuildSQLX - GO DATABASE Query Builder Bibliothèque pour PostgreSQL.
- BUILQ - Créez facilement des requêtes SQL dans Go.
- DBQ - Zéro opérations de base de données de la bailli pour GO.
- DOTSQL - GO Bibliothèque qui vous aide à garder les fichiers SQL en un seul endroit et à les utiliser facilement.
- Gendry - constructeur SQL non invasif et liant de données puissant.
- GODBAL - Couche d'abstraction de la base de données (DBAL) pour GO. Soutenez SQL Builder et obtenez facilement le résultat.
- GOQU - Builder SQL idiomatique et bibliothèque de requêtes.
- GOSQL - SQL Query Builder avec une meilleure prise en charge des valeurs nulles.
- Hotcoal - Sécurisez votre SQL fabriqué à la main contre l'injection.
- Igor - couche d'abstraction pour PostgreSQL qui prend en charge les fonctionnalités avancées et utilise une syntaxe de type gorm.
- Jet - Framework for Writing Type-Safe SQL Queries in Go, avec la capacité de convertir facilement le résultat de la requête de la base de données en structure d'objet arbitraire souhaitée.
- Ormlite - Package léger contenant des fonctionnalités et des aides de type ORM pour les bases de données SQLite.
- OZZO-DBX - Méthodes de récupération de données puissantes ainsi que les capacités de création de requête DB-Agnostic.
- QRY - Outil qui génère des constantes à partir de fichiers avec des requêtes SQL brutes.
- SG - Une génération SQL pour générer des SQL standard (supports: CRUD) écrits dans Go.
- SQ - SQL SQL Builder et Struct Mapper pour GO.
- SQLC - Générez du code de type type à partir de SQL.
- SQLF - Fast SQL Query Builder.
- SQLINGO - Un DSL léger pour construire SQL dans Go.
- SQRL - SQL Query Builder, fourche d'écureuil avec des performances améliorées.
- Squalus - Mine couche sur le package GO SQL qui facilite l'exécution des requêtes.
- Squirrel - GO Bibliothèque qui vous aide à créer des requêtes SQL.
- XO - Générer le code GO idiomatique pour les bases de données en fonction des définitions de schéma existantes ou des requêtes personnalisées prenant en charge PostgreSQL, MySQL, SQLite, Oracle et Microsoft SQL Server.
⬆ Retour en haut
Pilotes de base de données
Interfaces à plusieurs backends
- Cayley - Base de données de graphiques avec prise en charge de plusieurs backends.
- DSC - Connectivité de Datastore pour SQL, NOSQL, fichiers structurés.
- Dynamo - Une abstraction simple de valeur clé pour stocker les types de données algébriques et aux données liées chez AWS Storage Services: AWS DynamoDB et AWS S3.
- Go-Transaction-Manager - Transaction Manager avec plusieurs adaptateurs (SQL, SQLX, Gorm, Mongo, ...) contrôle les limites de transaction.
- GOKV - Abstraction et implémentations du magasin à valeur clé simple pour GO (redis, consul, etcd, bbolt, badgerdb, niveaudb, memcached, dynamodb, s3, postgresql, mongodb, cockroachdb et bien d'autres).
Pilotes de base de données relationnels
- AVATICA - APACHE AVATICA / PHOENIX SQL Pilote pour la base de données / SQL.
- BGC - Connectivité de datastore pour BigQuery pour GO.
- Firebirdsql - Firebird RDBMS SQL Driver pour GO.
- GO-ADODB - Microsoft ActiveX Object Database Database Driver pour Go qui utilise la base de données / SQL.
- GO-MSSQLDB - Pilote Microsoft MSSQL pour GO.
- Go-OCI8 - Oracle Driver pour Go qui utilise la base de données / SQL.
- go-sql-driver / mysql - pilote mysql pour go.
- GO-SQLITE3 - Pilote SQLite3 pour Go qui utilise la base de données / SQL.
- Godror - Oracle Driver pour Go, en utilisant le pilote ODPI-C.
- GoFreetds - Pilote Microsoft MSSQL. Aller en wrapper au-dessus de Freetds.
- KSQL - Une bibliothèque Golang SQL simple et puissante
- PGX - PostgreSQL Driver Support des fonctionnalités au-delà de celles exposées par la base de données / SQL.
- Pig - simple enveloppe PGX pour exécuter et scanner facilement les résultats de la requête.
- PQ - Pure GO Postgres Driver pour la base de données / SQL.
- SQINN-GO - SQLITE AVEC PURE GO.
- SQLHOOKS - Attachez des crochets à n'importe quelle base de données / pilote SQL.
- Surrealdb.go - Driver surréaldb pour go.
- YDB-GO-SDK - Native et Database / SQL Driver YDB (Yandex Database)
Pilotes de base de données NoSQL
- Aerospike-Client-Go - Aerospike Client en langue go.
- Arangolite - Pilote Golang léger pour arangodb.
- ASC - Connectivité de datastore pour Aerospike pour GO.
- FORSTDB - GO RESTAGES POUR FORESTDB.
- Go-Couchbase - Client Couchbase dans Go.
- Go-Mongox - Une bibliothèque Go Mongo basée sur le pilote officiel, avec des opérations de documents rationalisées, la liaison générique des structures aux collections, le crud intégré, l'agrégation, les mises à jour automatisées sur le terrain, la validation des structures, les crochets et la programmation basée sur les plugins.
- Go-Pilosa - Go Bibliothèque client pour Pilosa.
- Go-Rejson - Golang Client pour le module Rejson de RedisLabs à l'aide du client Golang Redigo. Stocker et manipuler les structures comme des objets JSON en Redis avec facilité.
- GOCB - SDK officiel Couchbase Go.
- GOCOSMOS - REST Client et
database/sql
Driver standard pour Azure Cosmos DB. - GOCQL - GO Language Driver pour Apache Cassandra.
- GODIS - Redis Client Implémentation de Golang, inspiré par les Jedis.
- GodScache - un emballage pour le package de plate-forme Google Cloud Go qui ajoute de la mise en cache à l'aide de memcached.
- GomemCache - bibliothèque client memcache pour le langage de programmation Go.
- GoMemcached - un client memcached binaire pour aller avec le support pour la rupture en utilisant un hachage cohérent, avec SASL.
- Gorethink - GO Language Driver pour RethinkDB.
- Goriak - GO Language Driver pour Riak KV.
- Kivik - Kivik fournit une bibliothèque client GO et GOPHERJS GO GOPHERJS pour Couchdb, PouchDB et des bases de données similaires.
- MGM - ODM basé sur le modèle MongoDB pour GO (basé sur le pilote officiel MongoDB).
- MGO - Pilote MongoDB (non entretenu) pour le langage Go qui met en œuvre une sélection riche et bien testée de fonctionnalités sous une API très simple après les idioms GO standard.
- Mongo-go-conducteur - Conducteur officiel MongoDB pour la langue Go.
- NEO4J - liaisons API NEO4J REST pour Golang.
- NEO4J-GO - NEO4J REST CLIENT À GOLANG.
- Néoïsme - NEO4J Client pour Golang.
- QMGO - Le pilote MongoDB pour GO. Il est basé sur le pilote officiel MongoDB mais plus facile à utiliser comme MGO.
- Redeo - Serveurs / services TCP compatibles compatibles Redis-Protocol.
- Redigo - Redigo est un client Go pour la base de données Redis.
- Redis - Client Redis pour Golang.
- RUEIDIS - Client Fast Redis resp3 avec pipeline automatique et cache côté client assisté par le serveur.
- Xredis - TypeSafe, personnalisable, propre et facile à utiliser le client redis.
Bases de données de recherche et analytiques
- Clickhouse-Go - Clickhouse SQL Client pour aller avec une compatibilité
database/sql
. - EFFDSL - Elasticsearch Query Builder pour Go.
- Elastic - Client Elasticsearch pour GO.
- ElasticsQL - Convertir SQL en Elasticsearch DSL dans Go.
- Elastigo - bibliothèque client Elasticsearch.
- Go-ElasticSearch - Client officiel Elasticsearch pour GO.
- Goes - Library pour interagir avec Elasticsearch.
- Skizze - Service et stockage de structures de données probabilistes.
⬆ Retour en haut
Date et heure
Bibliothèques pour travailler avec les dates et les heures.
- Environ une prolongation de durée prenant en charge les durées d'analyse / d'impression en jours, semaines et années.
- Carbon - un package Golang simple, sémantique et adapté aux développeurs pour DateTime.
- Carbone - Extension de temps simple avec de nombreuses méthodes UTIL, portées de la bibliothèque PHP Carbon.
- CronRange - Parses Expressions de plage de temps de style cron, vérifie si le temps donné se situe dans des gammes.
- Date - Augmente l'heure de travail avec les dates, les gammes de dates, les durées, les périodes et l'heure de la journée.
- DATEPARSE - Parse Date sans connaître le format à l'avance.
- Durafmt - Bibliothèque de formatage de durée de temps pour go.
- Feiertage - Ensemble de fonctions pour calculer les jours fériés en Allemagne, incl. Spécialisation sur les États de l'Allemagne (Bundesländer). Des choses comme Pâques, Pentecôte, Thanksgiving ...
- Go-Anytime - Dates / heures d'analyse comme "22 décembre prochain à 15 h" et des plages comme "d'aujourd'hui jusqu'à jeudi prochain" sans connaître le format à l'avance.
- GO-DATEBIN - Une analyse DateTime simple PKG.
- GO-Persian-Calendar - La mise en œuvre du calendrier persan (Solar Hijri) dans Go (Golang).
- GO-Str2Duration - Convertissez la chaîne en durée. Temps de support.Duration Retournée String et plus.
- GO-Sunrise - Calculez le lever du soleil et le coucher du soleil pour un emplacement donné.
- GO-WEEK - Un package efficace pour travailler avec les dates de la semaine ISO8601.
- GOSTRADAMUS - Un package Go pour travailler avec les dates.
- ISO8601 - Analyser efficacement la date de date ISO8601 sans regex.
- Kair - Date and Heure - Bibliothèque de formatage de Golang.
- Maintenant - est maintenant une boîte à outils temporelle pour Golang.
- STRFTIME - Fondeur de strftime compatible C99.
- Timespan - pour interagir avec des intervalles de temps, définis comme une heure de début et une durée.
- TimeUtil - Extensions utiles (Timedelta, strftime, ...) dans le package de temps de Golang.
- Mardi - Fonction de strftime compatible Ruby.
⬆ Retour en haut
Systèmes distribués
Des forfaits qui aident à construire des systèmes distribués.
- ARPC - Communication de réseau plus efficace, prend en charge les appels bidirectionnels, notifie, diffuser.
- Souilture - Fournit une base minimale, modulaire et composable pour les services en développement rapide et plus de cadres spécifiques à des cas d'utilisation en Go.
- Capillaires - Framework de traitement des données par lots distribué.
- Celeriac - Library pour ajouter un support pour l'interaction et la surveillance des travailleurs de céleri, des tâches et des événements en Go.
- Hachage cohérent - cohérent avec des charges délimitées.
- cohérenthash - hachage cohérent avec des répliques configurables.
- DHT - Implémentation BitTorrent Kademlia DHT.
- Digota - Microservice de commerce électronique GRPC.
- faire