Impresionante ir
Usamos la comunidad Slack de Golang Bridge para una comunicación instantánea, siga el formulario aquí para unirse.
Patrocinios:
agradecimiento especial a
Su aplicación, lista para empresas. Comience a vender a clientes empresariales con solo unas pocas líneas de código. Agregue inicio de sesión único (y más) en minutos en lugar de meses. |
|
Awesome Go no tiene tarifa mensual , pero contamos con empleados que trabajan duro para que siga funcionando. ¡Con el dinero recaudado podremos retribuir el esfuerzo de cada persona involucrada! Puedes ver cómo calculamos nuestra facturación y distribución ya que está abierta a toda la comunidad. Quieres ser partidario del proyecto haz clic aquí.
Una lista seleccionada de increíbles marcos, bibliotecas y software de Go. Inspirado en Awesome-Python.
Contribuyendo:
Primero, eche un vistazo rápido a las pautas de contribución. Gracias a todos los contribuyentes; ¡Eres genial!
Si ve un paquete o proyecto aquí que ya no se mantiene o no encaja bien, envíe una solicitud de extracción para mejorar este archivo. ¡Gracias!
Contenido
- Impresionante ir
- Contenido
- Modelo de actor
- Inteligencia artificial
- Audio y música
- Autenticación y OAuth
- cadena de bloques
- Construcción de robots
- Construir automatización
- Línea de comando
- UI de consola avanzadas
- CLI estándar
- Configuración
- Integración Continua
- Preprocesadores CSS
- Marcos de integración de datos
- Estructuras de datos y algoritmos
- Empaquetado de bits y compresión
- Juegos de puntas
- Filtros Bloom y Cuco
- Colecciones de estructuras de datos y algoritmos
- Iteradores
- Mapas
- Algoritmos y estructuras de datos varios
- Tipos que aceptan valores NULL
- Colas
- Conjuntos
- Análisis de texto
- Árboles
- Tubería
- Base de datos
- cachés
- Bases de datos implementadas en Go
- Migración del esquema de base de datos
- Herramientas de base de datos
- Constructores de consultas SQL
- Controladores de base de datos
- Interfaces para múltiples backends
- Controladores de bases de datos relacionales
- Controladores de bases de datos NoSQL
- Bases de datos de búsqueda y análisis
- Fecha y hora
- Sistemas distribuidos
- DNS dinámico
- Correo electrónico
- Lenguajes de secuencias de comandos integrables
- Manejo de errores
- Manejo de archivos
- Financiero
- Formularios
- Funcional
- Desarrollo de juegos
- Generadores
- Geográfico
- Ir compiladores
- Gorrutinas
- GUI
- Hardware
- Imágenes
- IoT (Internet de las cosas)
- Programador de trabajos
- JSON
- Explotación florestal
- Aprendizaje automático
- Mensajería
- oficina de microsoft
- microsoft excel
- Microsoft Word
- Misceláneas
- Inyección de dependencia
- Diseño del proyecto
- Instrumentos de cuerda
- Sin categoría
- Procesamiento del lenguaje natural
- Detección de idioma
- Analizadores Morfológicos
- Slugificadores
- Tokenizadores
- Traducción
- Transcripción
- Redes
- OpenGL
- ORM
- Gestión de paquetes
- Actuación
- Lenguaje de consulta
- Reflexión
- Incrustación de recursos
- Ciencia y análisis de datos
- Seguridad
- Publicación por entregas
- Aplicaciones de servidor
- Procesamiento de flujo
- Motores de plantilla
- Pruebas
- Marcos de prueba
- Imitar
- Fuzzing y depuración/reducción/contracción delta
- Herramientas de control de navegador y selenio
- inyección fallida
- Procesamiento de textos
- Formateadores
- Lenguajes de marcado
- Analizadores/Codificadores/Decodificadores
- Expresiones regulares
- Saneamiento
- Rascadores
- RSS
- Utilidad/Varios
- API de terceros
- Utilidades
- UUID
- Validación
- Control de versiones
- Video
- Marcos web
- Middlewares
- Middlewares reales
- Bibliotecas para crear middlewares HTTP
- Enrutadores
- Asamblea web
- ventanas
- Marcos de flujo de trabajo
- XML
- Confianza cero
- Análisis de código
- Complementos de edición
- Ir a generar herramientas
- Ir a herramientas
- Paquetes de software
- Herramientas de desarrollo y operaciones
- Otro software
- Recursos
- Puntos de referencia
- Conferencias
- Libros electrónicos
- Libros electrónicos para comprar.
- libros electrónicos gratuitos
- tuzas
- Reuniones
- Guías de estilo
- Redes Sociales
- Sitios web
- Tutoriales
- Aprendizaje guiado
⬆ volver arriba
Modelo de actor
Bibliotecas para construir programas basados en actores.
- Ergo: un marco basado en actores con transparencia de red para crear una arquitectura basada en eventos en Golang. Inspirado en Erlang.
- Goakt: marco de actor rápido y distribuido que utiliza buffers de protocolo como mensaje para Golang.
- Hollywood: motor de actor increíblemente rápido y liviano escrito en Golang.
- ProtoActor - Proto Actor - Actores distribuidos ultrarrápidos para Go, C# y Java/Kotlin.
Inteligencia artificial
Bibliotecas para crear programas que aprovechen la IA.
- chromem-go: base de datos vectorial integrable para Go con una interfaz similar a Chroma y cero dependencias de terceros. En memoria con persistencia opcional.
- divertido: la forma más sencilla pero potente de utilizar modelos de lenguaje grandes (LLM) en Go.
- langchaingo: LangChainGo es un marco para desarrollar aplicaciones basadas en modelos de lenguaje.
- LocalAI: modelos de IA autohospedados, alternativos a OpenAI de código abierto.
- Ollama: ejecuta modelos de lenguaje grandes localmente.
- OllamaFarm: administración, equilibrio de carga y paquetes de conmutación por error de Ollamas
⬆ volver arriba
Audio y música
Bibliotecas para manipular audio.
- flac: codificador/decodificador Native Go FLAC compatible con transmisiones FLAC.
- gaad: analizador de flujo de bits Native Go AAC.
- GoAudio: biblioteca de procesamiento de audio nativa de Go.
- gosamplerate - enlaces libsamplerate para go.
- id3v2: biblioteca de codificación y decodificación ID3 para Go.
- malgo - Mini biblioteca de audio.
- minimp3: biblioteca decodificadora de MP3 ligera.
- Oto: una biblioteca de bajo nivel para reproducir sonido en múltiples plataformas.
- PortAudio: enlaces Go para la biblioteca de E/S de audio PortAudio.
⬆ volver arriba
Autenticación y OAuth
Bibliotecas para implementar esquemas de autenticación.
- authboss: sistema de autenticación modular para la web. Intenta eliminar la mayor cantidad posible de textos repetitivos y "cosas difíciles" para que cada vez que inicie un nuevo proyecto web en Go, pueda conectarlo, configurarlo y comenzar a crear su aplicación sin tener que crear un sistema de autenticación cada vez. .
- branca: implementación de la especificación del token branca para Golang 1.15+.
- casbin: biblioteca de autorización que admite modelos de control de acceso como ACL, RBAC y ABAC.
- cookiestxt: proporciona un analizador del formato de archivo cookies.txt.
- go-guardian: Go-Guardian es una biblioteca de golang que proporciona una forma sencilla, limpia e idiomática de crear una API y una autenticación web potentes y modernas que admitan autenticación basada en LDAP, básica, token de portador y certificado.
- go-jose: implementación bastante completa de las especificaciones JSON Web Token, JSON Web Signatures y JSON Web Encryption del grupo de trabajo JOSE.
- gologin: controladores encadenables para iniciar sesión con proveedores de autenticación OAuth1 y OAuth2.
- gorbac: proporciona una implementación ligera de control de acceso basado en roles (RBAC) en Golang.
- gosession: esta es una sesión rápida para net/http en GoLang. Este paquete es quizás la mejor implementación del mecanismo de sesión, o al menos intenta convertirse en uno.
- goth: proporciona una forma sencilla, limpia e idiomática de utilizar OAuth y OAuth2. Maneja múltiples proveedores listos para usar.
- jeff: gestión de sesiones web sencilla, flexible, segura e idiomática con backends conectables.
- jwt: biblioteca ligera de token web JSON (JWT).
- jwt: tokens web JSON para Go seguros, simples y rápidos.
- jwt-auth: middleware JWT para servidores http de Golang con muchas opciones de configuración.
- jwt-go: una implementación completa de JSON Web Tokens (JWT). Esta biblioteca admite el análisis y la verificación, así como la generación y firma de JWT.
- jwx: módulo Go que implementa varias tecnologías JWx (JWA/JWE/JWK/JWS/JWT, también conocidas como JOSE)
- keto: implementación de código abierto (Go) de "Zanzíbar: el sistema de autorización global y coherente de Google". Incluye gRPC, API REST, newSQL y un lenguaje de permisos sencillo y granular. Admite ACL, RBAC y otros modelos de acceso.
- loginsrv: microservicio de inicio de sesión JWT con backends conectables como OAuth2 (Github), htpasswd, osiam.
- oauth2: sucesor de goauth2. Paquete genérico OAuth 2.0 que viene con compatibilidad con JWT, API de Google, Compute Engine y App Engine.
- oidc: biblioteca de cliente y servidor OpenID Connect fácil de usar escrita para Go y certificada por la OpenID Foundation
- openfga: implementación de una autorización detallada basada en el documento "Zanzíbar: sistema de autorización global y coherente de Google". Respaldado por CNCF.
- osin: biblioteca del servidor Golang OAuth2.
- otpgen - Biblioteca para generar códigos TOTP/HOTP.
- otpgo: biblioteca de contraseñas de un solo uso basadas en tiempo (TOTP) y contraseñas de un solo uso basadas en HMAC (HOTP) para Go.
- paseto: implementación de Golang de tokens de seguridad independientes de la plataforma (PASETO).
- permisos2: biblioteca para realizar un seguimiento de los usuarios, los estados de inicio de sesión y los permisos. Utiliza cookies seguras y bcrypt.
- alcance: administre fácilmente los alcances de OAuth2 en Go.
- scs: Administrador de sesiones para servidores HTTP.
- Securecookie: codificación/descodificación eficiente y segura de cookies.
- sesión: vaya a la gestión de sesiones para servidores web (incluida la compatibilidad con Google App Engine - GAE).
- sesiones: servicio de sesiones extremadamente simple, de alto rendimiento y altamente personalizable para servidores go http.
- sessionup: paquete de identificación y gestión de sesiones HTTP simple pero eficaz.
- sjwt: generador y analizador jwt simple.
⬆ volver arriba
cadena de bloques
Herramientas para construir blockchains.
- cometbft: un motor de replicación de máquinas de estado determinista, bizantino, distribuido y tolerante a fallas. Es una bifurcación de Tendermint Core e implementa el algoritmo de consenso de Tendermint.
- cosmos-sdk: un marco para construir cadenas de bloques públicas en el ecosistema Cosmos.
- gno: un conjunto integral de contratos inteligentes creado con Golang y Gnolang, una variante de Go determinista y diseñada específicamente para blockchains.
- go-ethereum: implementación oficial de Go del protocolo Ethereum.
- gosemble: un marco basado en Go para crear tiempos de ejecución compatibles con Polkadot/Substrate.
- gossamer: una implementación Go de Polkadot Host.
- kubo: un marco blockchain implementado en Go. Proporciona almacenamiento direccionable por contenido que se puede utilizar para almacenamiento descentralizado en DApps. Está basado en el protocolo IPFS.
- lnd: una implementación completa de un nodo de Lighting Network.
- solana-go: biblioteca Go para interactuar con las interfaces Solana JSON RPC y WebSocket.
- tendermint: middleware de alto rendimiento para transformar una máquina de estado escrita en cualquier lenguaje de programación en una máquina de estado replicada tolerante a fallas bizantinas utilizando el consenso de Tendermint y los protocolos blockchain.
⬆ volver arriba
Construcción de robots
Bibliotecas para construir y trabajar con bots.
- bot: biblioteca Telegram Bot de dependencia cero con componentes de interfaz de usuario adicionales
- echotron: una biblioteca elegante y concurrente para Telegram Bots en Go.
- ephemeral-roles: un bot de Discord para administrar roles efímeros según la presencia de los miembros del canal de voz.
- go-chat-bot: bot de IRC, Slack y Telegram escrito en Go.
- go-joe: una biblioteca de bots de uso general inspirada en Hubot pero escrita en Go.
- go-sarah: marco para crear un bot para los servicios de chat deseados, incluidos LINE, Slack, Gitter y más.
- go-tg: generado a partir de documentos oficiales Biblioteca cliente Go para acceder a la API de Telegram Bot, con baterías para construir bots complejos incluidas.
- go-tgbot: contenedor de API Pure Golang Telegram Bot, generado a partir de un archivo swagger, un enrutador basado en sesiones y middleware.
- go-twitch-irc - Biblioteca para escribir bots para el chat de twitch.tv
- Golang CryptoTrading Bot: una implementación de Golang de un robot comercial basado en consola para intercambios de criptomonedas.
- govkbot: biblioteca de bots Simple Go VK.
- hanu: marco para escribir bots de Slack.
- Kelp: robot oficial de creación de mercado y comercio para Stellar DEX. Funciona de inmediato, escrito en Golang, compatible con intercambios centralizados y estrategias comerciales personalizadas.
- larry-larry? es un generador de bots de Twitter realmente simple que twittea repositorios aleatorios de Github integrados en Go.
- margelet: marco para crear bots de Telegram.
- micha - Ir a la biblioteca para la API del bot de Telegram.
- olivia: un chatbot construido con una red neuronal artificial.
- slack-bot - Slack Bot listo para usar para desarrolladores perezosos: comandos personalizados, Jenkins, Jira, Bitbucket, Github...
- slacker: marco fácil de usar para crear bots de Slack.
- slackscot: otro marco para crear bots de Slack.
- tbot: servidor bot de Telegram con API similar a net/http.
- telebot: el marco del bot de Telegram está escrito en Go.
- telego: biblioteca API de Telegram Bot para Golang con implementación API completa uno a uno.
- telegram-bot-api: cliente bot de Telegram simple y limpio.
- teleterm: comando de terminal ejecutivo de Telegram Bot.
- Tenyks: bot IRC orientado a servicios que utiliza Redis y JSON para mensajería.
- wayback: un bot para páginas web de archivos de Telegram, Mastodon, Slack y otras plataformas de mensajería.
⬆ volver arriba
Construir automatización
Las bibliotecas y herramientas ayudan con la automatización de la compilación.
- 1build: herramienta de línea de comandos para gestionar sin problemas comandos específicos del proyecto.
- air - Air - Recarga en vivo para aplicaciones Go.
- anko: observador de aplicaciones sencillo para múltiples lenguajes de programación.
- gaper: crea y reinicia un proyecto de Go cuando falla o cuando algunos archivos observados cambian.
- gilbert: sistema de compilación y ejecutor de tareas para proyectos Go.
- gob: herramienta de compilación similar a Gradle/Maven para proyectos Go.
- goyek: crea canales de compilación en Go.
- mage: Mage es una herramienta de construcción tipo make/rake que utiliza Go.
- mmake - Marca moderna.
- darse cuenta: vaya a construir un sistema con observadores de archivos y viva para recargar. Ejecute, cree y observe cambios de archivos con rutas personalizadas.
- Tarea: alternativa simple "Hacer".
- taskctl: ejecutor de tareas concurrentes.
- xc: ejecutor de tareas con tareas definidas en README.md, rebajas ejecutables.
⬆ volver arriba
Línea de comando
UI de consola avanzadas
Bibliotecas para crear aplicaciones de consola e interfaces de usuario de consola.
- asciigraph: paquete Go para crear un gráfico de líneas ASCII liviano ╭┈╯ en aplicaciones de línea de comandos sin otras dependencias.
- aurora: colores de terminales ANSI compatibles con fmt.Printf/Sprintf.
- box-cli-maker: cree cajas altamente personalizadas para su CLI.
- bubble-table: un componente de mesa interactivo para bubbletea.
- burbujas - Componentes TUI para bubbletea.
- bubbletea: marco Go para crear aplicaciones de terminal, basado en The Elm Architecture.
- cfmt: fmt contextual inspirado en clases de color bootstrap.
- cfmt: salida estilizada formateada, sencilla y cómoda, totalmente compatible con la biblioteca fmt.
- chalk: paquete intuitivo para embellecer la salida de terminal/consola.
- colourize: vaya a la biblioteca para texto en color ANSI en terminales.
- Crab-config-files-templating: herramienta de creación de plantillas de archivos de configuración dinámica para archivos de configuración general o de manifiesto de Kubernetes.
- ctc: la biblioteca de colores del terminal multiplataforma no invasiva no necesita modificar el método de impresión.
- go-ataman: biblioteca Go para representar plantillas de texto en color ANSI en terminales.
- go-colorable - Escritor colorable para Windows.
- go-colortext: biblioteca Go para salida en color en terminales.
- go-isatty - isatty para golang.
- go-palette: biblioteca Go que proporciona definiciones de estilo elegantes y convenientes utilizando colores ANSI. Totalmente compatible y envuelve la biblioteca fmt para lograr diseños de terminal agradables.
- go-prompt: biblioteca para crear un potente mensaje interactivo, inspirado en python-prompt-toolkit.
- gocui: biblioteca minimalista de Go destinada a crear interfaces de usuario de consola.
- gommon/color - Texto del terminal de estilo.
- gookit/color: biblioteca de herramientas de reproducción de color de terminal, admite 16 colores, 256 colores, salida de reproducción de color RGB, compatible con Windows.
- brillo de labios: define declarativamente estilos de color, formato y diseño en la terminal.
- marcador: la forma más sencilla de unir y marcar cadenas para salidas de terminales coloridas.
- mpb: barra de progreso múltiple para aplicaciones de terminal.
- barra de progreso: barra de progreso básica segura para subprocesos que funciona en todos los sistemas operativos.
- pterm: una biblioteca para embellecer la salida de la consola en cada plataforma con muchos componentes combinables.
- simpletable - Tablas simples en una terminal con Go.
- spinner: paquete Go para proporcionar fácilmente opciones a un spinner de terminal.
- tabby: una pequeña biblioteca para tablas Golang súper simples.
- table - Pequeña biblioteca para tablas basadas en colores de terminales.
- tabular: imprime tablas ASCII desde utilidades de línea de comandos sin la necesidad de pasar grandes conjuntos de datos a la API.
- termbox-go: Termbox es una biblioteca para crear interfaces basadas en texto multiplataforma.
- termdash: panel de control de la terminal Go basado en termbox-go e inspirado en termui.
- termenv: compatibilidad avanzada con estilos y colores ANSI para sus aplicaciones de terminal.
- termui: panel de control de la terminal Go basado en termbox-go e inspirado en bendecido-contrib.
- uilive: biblioteca para actualizar la salida del terminal en tiempo real.
- uiprogress: biblioteca flexible para representar barras de progreso en aplicaciones de terminal.
- uitable: biblioteca para mejorar la legibilidad en aplicaciones de terminal utilizando datos tabulares.
- yacspin: otro paquete CLI Spinner más, para trabajar con spinners de terminales.
⬆ volver arriba
CLI estándar
Bibliotecas para crear aplicaciones de línea de comandos básicas o estándar.
- acmd: paquete CLI simple, útil y obstinado en Go.
- argparse: analizador de argumentos de línea de comando inspirado en el módulo argparse de Python.
- argv: vaya a la biblioteca para dividir la cadena de la línea de comando como una matriz de argumentos usando la sintaxis bash.
- carapace - Generador de finalización de argumentos de comando para spf13/cobra.
- carapace-bin: Completador de argumentos de múltiples comandos y múltiples shells.
- carapace-spec: define terminaciones simples utilizando un archivo de especificaciones.
- clímax: CLI alternativa con "rostro humano", en el espíritu del comando Go.
- clîr: una biblioteca CLI simple y clara. Libre de dependencia.
- cmd: amplía el paquete
flag
estándar para admitir subcomandos y más en forma idiomática. - cmdr: una biblioteca UI Go de línea de comandos tipo getopt, estilo POSIX/GNU.
- cobra: comandante para interacciones modernas de Go CLI.
- cadena de comandos: una biblioteca para configurar y ejecutar cadenas de comandos, como canalizaciones en shells de Unix.
- Commandeer: aplicaciones CLI aptas para desarrolladores: configura indicadores, valores predeterminados y uso en función de campos y etiquetas de estructura.
- complete: escriba las completaciones de bash en el comando Go + Go de finalización de bash.
- Dnote: un cuaderno de línea de comandos simple con sincronización multidispositivo.
- élfico: un lenguaje de programación expresivo y un shell interactivo versátil.
- env: configuración del entorno basado en etiquetas para estructuras.
- flag: biblioteca de análisis de opciones de línea de comando simple pero poderosa para el subcomando compatible con Go.
- flaggy: un paquete de banderas robusto e idiomático con excelente soporte para subcomandos.
- flagvar: una colección de tipos de argumentos de bandera para el paquete
flag
estándar de Go. - go-andotp: un programa CLI para cifrar/descifrar archivos andOTP. También se puede utilizar como biblioteca.
- go-arg: análisis de argumentos basado en estructuras en Go.
- go-commander: biblioteca Go para simplificar el flujo de trabajo CLI.
- go-flags: vaya al analizador de opciones de línea de comando.
- go-getoptions: analizador de opciones Go inspirado en la flexibilidad de GetOpt::Long de Perl.
- gocmd: biblioteca Go para crear aplicaciones de línea de comandos.
- hiboot cli: marco de aplicación cli con configuración automática e inyección de dependencia.
- trabajo - TRABAJO, convierta su comando a corto plazo en un trabajo a largo plazo.
- kingpin: analizador de líneas de comando y banderas que admite subcomandos (reemplazado por
kong
; ver más abajo). - liner: vaya a la biblioteca similar a readline para interfaces de línea de comandos.
- mcli: una biblioteca cli mínima pero muy potente para Go.
- mitchellh/cli: biblioteca Go para implementar interfaces de línea de comandos.
- mkideal/cli: paquete de línea de comandos fácil de usar y rico en funciones basado en etiquetas de estructura golang.
- mow.cli: biblioteca Go para crear aplicaciones CLI con análisis y validación sofisticados de indicadores y argumentos.
- ops: constructor/orquestador de Unikernel.
- pflag: reemplazo directo del paquete de banderas de Go, implementando --flags estilo POSIX/GNU.
- Biblioteca readline Shell con funciones de interfaz de usuario modernas y fáciles de usar.
- sand: API simple para crear intérpretes y mucho más.
- sflags: generador de banderas basado en estructuras para flag, urfave/cli, pflag, cobra, kingpin y otras bibliotecas.
- strumt: biblioteca para crear una cadena de mensajes.
- subcmd: otro enfoque para analizar y ejecutar subcomandos. Funciona junto con el paquete
flag
estándar. - encuesta: cree mensajes interactivos y accesibles con soporte completo para terminales Windows y Posix.
- teris-io/cli: API simple y completa para crear interfaces de línea de comandos en Go.
- ts: herramienta de conversión y comparación de marcas de tiempo.
- ukautz/clif: pequeño marco de interfaz de línea de comandos.
- urfave/cli: paquete simple, rápido y divertido para crear aplicaciones de línea de comandos en Go (anteriormente codegangsta/cli).
- versión: recopila y muestra información de la versión CLI en múltiples formatos junto con un aviso de actualización.
- wlog: interfaz de registro simple que admite simultaneidad y color multiplataforma.
- wmenu: estructura de menú fácil de usar para aplicaciones cli que solicitan a los usuarios que elijan.
⬆ volver arriba
Configuración
Bibliotecas para el análisis de configuración.
- aconfig: cargador de configuración simple, útil y obstinado.
- bcl: BCL es un lenguaje de configuración similar a HCL.
- cleanenv: lector de configuración minimalista (desde archivos, ENV y donde quieras).
- config: configuración de la aplicación nativa en la nube. Vincula ENV a estructuras en solo dos líneas.
- config: configura tu aplicación usando archivos, variables de entorno o indicadores en dos líneas de código
- configuración: biblioteca para inicializar estructuras de configuración a partir de variables de entorno, archivos, indicadores y etiquetas 'predeterminadas'.
- configure: proporciona configuración a través de múltiples fuentes, incluidos JSON, indicadores y variables de entorno.
- configuro: marco de carga y validación de configuración obstinado de ENV y archivos centrado en aplicaciones compatibles con 12 factores.
- confiq: formato de datos estructurados para configurar la biblioteca de decodificadores de estructuras para Go: admite múltiples formatos de datos
- confita: carga la configuración en cascada desde múltiples backends en una estructura.
- conflate: biblioteca/herramienta para fusionar múltiples archivos JSON/YAML/TOML de URL arbitrarias, validación con un esquema JSON y aplicación de valores predeterminados definidos en el esquema.
- env: analiza variables de entorno en estructuras Go (con valores predeterminados).
- env: un paquete liviano para cargar variables de entorno en estructuras.
- env: un paquete de utilidades de entorno con soporte para descomponer en estructuras
- envconfig: lea su configuración a partir de variables de entorno.
- envh: ayudas para gestionar variables de entorno.
- fig: pequeña biblioteca para leer la configuración de un archivo y de variables de entorno (con validación y valores predeterminados).
- genv: lea variables de entorno fácilmente con soporte dotenv.
- go-array: un paquete Go que lee o configura datos de un mapa, un segmento o un json.
- go-aws-ssm: paquete Go que recupera parámetros de AWS System Manager - Parameter Store.
- go-cfg: la biblioteca proporciona una forma unificada de leer datos de configuración en una estructura desde varias fuentes, como env, indicadores y archivos de configuración (.json, .yaml, .toml, .env).
- go-conf: biblioteca simple para la configuración de aplicaciones basada en estructuras anotadas. Admite la lectura de la configuración de variables de entorno, archivos de configuración y parámetros de línea de comando.
- go-ini: un paquete Go que organiza y desorganiza archivos INI.
- go-ssm-config: utilidad Go para cargar parámetros de configuración desde AWS SSM (Almacén de parámetros).
- go-up: una biblioteca de configuración simple con resolución de marcadores de posición recursivos y sin magia.
- GoCfg: administrador de configuración con contratos basados en etiquetas Struct, proveedores de valores personalizados, analizadores y generación de documentación. Personalizable pero simple.
- goConfig: analiza una estructura como entrada y completa los campos de esta estructura con parámetros de la línea de comando, variables de entorno y archivo de configuración.
- godotenv: puerto Go de la biblioteca dotenv de Ruby (carga variables de entorno desde
.env
). - gofigure: configuración de la aplicación Go simplificada.
- GoLobby/Config: GoLobby Config es un administrador de configuración liviano pero potente para el lenguaje de programación Go.
- gone/jconf - Configuración JSON modular. Mantenga sus estructuras de configuración junto con el código que configuran y delegue el análisis a submódulos sin sacrificar la serialización completa de la configuración.
- gonfig: analizador de configuración basado en etiquetas que carga valores de diferentes proveedores en una estructura segura para tipos.
- gookit/config - administración de configuración de la aplicación (cargar, obtener, configurar). admite JSON, YAML, TOML, INI, HCL. carga de múltiples archivos, fusión de anulación de datos.
- cosechador: Harvester, un paquete de configuración estática y dinámica fácil de usar que admite siembra, env vars e integración de Consul.
- hjson: Human JSON, un formato de archivo de configuración para humanos. Sintaxis relajada, menos errores, más comentarios.
- hocon: biblioteca de configuración para trabajar con el formato HOCON (un superconjunto JSON amigable para los humanos), admite funciones como variables de entorno, referencias a otros valores, comentarios y múltiples archivos.
- ingo: las banderas persistieron en un archivo de configuración similar a ini.
- ini: paquete Go para leer y escribir archivos INI.
- ini - Analizador INI y biblioteca de escritura, Unmarshal to Struct, Marshal to Json, Write File, observar archivo.
- joshbetz/config: pequeña biblioteca de configuración para Go que analiza variables de entorno, archivos JSON y recarga automáticamente en SIGHUP.
- kelseyhightower/envconfig: biblioteca Go para gestionar datos de configuración desde variables de entorno.
- koanf: biblioteca ligera y extensible para leer la configuración en aplicaciones Go. Soporte integrado para JSON, TOML, YAML, env, línea de comando.
- konf: la API más sencilla para leer/ver configuraciones de archivos, entornos, indicadores y nubes (por ejemplo, AWS, Azure, GCP).
- konfig: manejo de configuración componible, observable y de alto rendimiento para Go para la era del procesamiento distribuido.
- kong: analizador de línea de comandos compatible con estructuras de línea de comandos arbitrariamente complejas y fuentes adicionales de configuración como YAML, JSON, TOML, etc. (sucesor de
kingpin
). - mini: paquete Golang para analizar archivos de configuración de estilo ini.
- nasermirzaei89/env: paquete sencillo y útil para leer variables de entorno.
- nfigure: configuración basada en etiquetas de estructura por biblioteca desde líneas de comando (estilo Posix & Go); entorno, JSON, YAML
- cebolla: configuración basada en capas para Go, admite JSON, TOML, YAML, propiedades, etcd, env y cifrado mediante PGP.
- piper: contenedor Viper con herencia de configuración y generación de claves.
- sonic: una biblioteca de serialización y deserialización JSON increíblemente rápida.
- store: administrador de configuración liviano para Go.
- swap: crea instancias/configura estructuras de forma recursiva, según el entorno de compilación. (YAML, TOML, JSON y entorno).
- typenv: biblioteca de variables de entorno mecanografiadas, minimalista y sin dependencia.
- uConfig: gestión de configuración ligera, sin dependencia y ampliable.
- viper - Ir configuración con colmillos.
- xdg: implementación de Go de la especificación de directorio base XDG y los directorios de usuarios de XDG.
- xdg: paquete multiplataforma que sigue el estándar XDG.
- yamagiconf: el "subconjunto seguro" de configuraciones de YAML para Go.
⬆ volver arriba
Integración Continua
Herramientas de ayuda con la integración continua.
- abstruse: Abstruse es una plataforma de CI distribuida.
- Bencher: un conjunto de herramientas de evaluación comparativa continua diseñadas para detectar regresiones de rendimiento en CI.
- CDS: plataforma de código abierto de automatización de DevOps y CI/CD de nivel empresarial.
- dot: un primer sistema de integración continua local mínimo que utiliza Docker para ejecutar trabajos simultáneamente en etapas.
- drone: Drone es una plataforma de integración continua construida en Docker y escrita en Go.
- go-beautiful-html-coverage: una acción de GitHub para realizar un seguimiento de la cobertura del código en tus solicitudes de extracción, con una hermosa vista previa HTML, de forma gratuita.
- go-fuzz-action: utiliza las pruebas fuzz integradas de Go 1.18 en GitHub Actions.
- go-semver-release: automatiza el control de versiones semántico de los repositorios de Git.
- go-test-coverage: herramienta y acción de GitHub que informa problemas cuando la cobertura de la prueba está por debajo del umbral establecido.
- gomason: pruebe, cree, firme y publique sus archivos binarios go desde un espacio de trabajo limpio.
- gotestfmt: prueba la salida para humanos.
- goveralls: integración de Go para el sistema de seguimiento continuo de cobertura de código de Coveralls.io.
- muffet: verificador rápido de enlaces a sitios web en Go, consulte alternativas.
- monos: perfil de cobertura de proyecto de paquete múltiple para herramientas como monos.
- roveralls: herramienta de prueba de cobertura recursiva.
- pájaro carpintero: Woodpecker es una bifurcación comunitaria del sistema Drone CI.
⬆ volver arriba
Preprocesadores CSS
Bibliotecas para preprocesar archivos CSS.
- gcss: preprocesador CSS Pure Go.
- go-libsass: pasa al proyecto libsass 100% compatible con Sass.
⬆ volver arriba
Marcos de integración de datos
Marcos para realizar ELT / ETL
- Benthos: un puente de transmisión de mensajes entre una variedad de protocolos.
- CloudQuery: un marco de integración de datos ELT de alto rendimiento con arquitectura conectable.
- omniparser: una biblioteca ETL versátil que analiza la entrada de texto (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) en forma de transmisión y transforma los datos en salida JSON utilizando un esquema basado en datos.
⬆ volver arriba
Estructuras de datos y algoritmos
Empaquetado de bits y compresión
- bingo: empaquetado rápido, sin asignación y que preserva el orden lexicográfico de tipos nativos en bytes.
- binpacker: el empaquetador y desempaquetador binario ayuda al usuario a crear un flujo binario personalizado.
- bit: Golang establece la estructura de datos con funciones adicionales de manipulación de bits.
- crunch: paquete Go que implementa buffers para manejar varios tipos de datos fácilmente.
- go-ef: una implementación Go de la codificación Elias-Fano.
- rugiente: paquete Go que implementa conjuntos de bits comprimidos.
Juegos de puntas
- Mapa de bits: mapa de bits/conjunto de bits denso, de asignación cero y habilitado para SIMD en Go.
- bitset: paquete Go que implementa conjuntos de bits.
Filtros Bloom y Cuco
- Bloom: paquete Go que implementa filtros Bloom.
- Bloom: filtros Bloom implementados en Go.
- Bloom - Implementación del filtro Golang Bloom.
- Bloomfilter: otra implementación más de Bloomfilter en Go, compatible con la biblioteca Guava de Java.
- boomfilters: estructuras de datos probabilísticas para procesar flujos continuos e ilimitados.
- cuckoo-filter - Filtro cuco: un filtro cuco completo, configurable y con espacio optimizado en comparación con otros implementos, y todas las funciones mencionadas en el documento original están disponibles.
- cuckoofilter - Filtro cuco: una buena alternativa al filtro de conteo de floración implementado en Go.
- ring - Implementación de un filtro de floración seguro para roscas y de alto rendimiento.
Colecciones de estructuras de datos y algoritmos
- algoritmos - Algoritmos y estructuras de datos. Estudio CLRS.
- go-datastructures: colección de estructuras de datos útiles, eficaces y seguras para subprocesos.
- dioses - Ir a estructuras de datos. Contenedores, conjuntos, listas, pilas, mapas, BidiMaps, árboles, HashSet, etc.
- gostl: biblioteca de algoritmos y estructura de datos para go, diseñada para proporcionar funciones similares a C++ STL.
Iteradores
- goterator: implementación de iterador para proporcionar funciones de mapa y reducción.
- iter: implementación de iteradores y algoritmos STL de C++.
Mapas
Consulte también Base de datos para almacenes de valores-clave más complejos y Árboles para implementaciones de mapas ordenados adicionales.
- cmap: un mapa concurrente seguro para subprocesos para Go, admite el uso de
interface{}
como clave y escala automáticamente los fragmentos. - dict: diccionarios similares a Python (dict) para Go.
- go-shelve: un objeto persistente similar a un mapa para el lenguaje de programación Go. Admite múltiples almacenes de valores-clave integrados.
- goradd/maps - Interfaz de mapas genérica Go 1.18+ para mapas; mapas seguros; mapas ordenados; mapas ordenados y seguros; etc.
Algoritmos y estructuras de datos varios
- concurrent-writer: reemplazo directo altamente concurrente para
bufio.Writer
. - conjungo: una biblioteca de combinación pequeña, potente y flexible.
- count-min-log - Implementación del boceto Count-Min-Log: conteo aproximado con contadores aproximados (como el boceto Count-Min pero usando menos memoria).
- fsm: paquete de máquina de estados finitos.
- genfuncs: paquete genérico Go 1.18+ inspirado en Sequence and Map de Kotlin.
- go-generics: utilidades genéricas de corte, mapa, conjunto, iterador y rutina.
- go-geoindex: índice geográfico en memoria.
- go-rampart: determina cómo se relacionan los intervalos entre sí.
- go-rquad: árboles cuádruples de región con ubicación eficiente de puntos y búsqueda de vecinos.
- go-tuple: implementación de tupla genérica para Go 1.18+.
- go18ds: estructuras de datos Go que utilizan los genéricos Go 1.18.
- gofal: API fraccionaria para Go.
- gogu: una biblioteca de estructuras de datos y funciones de utilidad genéricas concurrentes seguras, completa, reutilizable y eficiente.
- gota - Implementación de marcos de datos, series y métodos de manipulación de datos para Go.
- ocultar: tipo de ID con clasificación hacia/desde hash para evitar el envío de ID a los clientes.
- hilbert: paquete Go para mapear valores hacia y desde curvas que llenan el espacio, como las curvas de Hilbert y Peano.
- hyperloglog: implementación de HyperLogLog con Sparse, corrección de sesgo LogLog-Beta y reducción de espacio TailCut.
- quadtree: quadtree genérico, de asignación cero y cubierto con pruebas del 100 %.
- sectores: funciones que operan en sectores; como
package strings
pero adaptados para trabajar con rodajas. - sectores: funciones puras y genéricas para sectores.
Tipos que aceptan valores NULL
- nan - Asignación cero Estructuras anulables en una biblioteca con útiles funciones de conversión, clasificadores y desclasificadores.
- null: tipos de Go que aceptan valores NULL que se pueden ordenar/desordenar hacia/desde JSON.
- typ: tipos nulos, conversión segura de tipos primitivos y obtención de valores de estructuras complejas.
Colas
- deque: una cola de doble extremo altamente optimizada.
- deque - Deque rápido de búfer de anillo (cola de doble extremo).
- goconcurrentqueue: cola FIFO concurrente.
- hacha: cola de tareas distribuida y tolerante a fallos.
- memlog: una estructura de datos en memoria fácil de usar, liviana, segura para subprocesos y de solo agregar, inspirada en Apache Kafka.
- queue: múltiples implementaciones de colas genéricas y seguras para subprocesos para Go.
Conjuntos
- dsu: implementación de estructura de datos de conjuntos disjuntos en Go.
- golang-set: conjuntos de alto rendimiento seguros para subprocesos y no seguros para subprocesos para Go.
- goset: una implementación útil de colección de conjuntos para Go.
- set: implementación de estructura de datos de conjunto simple en Go usando LinkedHashMap.
Análisis de texto
- bleve: biblioteca de indexación de texto moderna para go.
- go-adaptive-radix-tree: implementación de Go del árbol Adaptive Radix.
- GO-EDLIB-Biblioteca de algoritmos de distancia y edición de comparación de cuerdas (Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler, etc.) compatible con Unicode.
- Levenshtein - Levenshtein Distancia y métricas de similitud con costos de edición personalizables y bonificación similar a Winkler para el prefijo común.
- Levenshtein: implementación para calcular la distancia de Levenshtein en GO.
- MSPM - Algoritmo de coincidencia de patrones de múltiples cuerdas para la recuperación de información.
- Parsefields - Herramientas para registros similares a PARSE JSON para recopilar campos y eventos únicos.
- Ptrie: una implementación del árbol de prefijo.
- Trie - Trie Implementación en GO.
Árboles
- Hashsplit: divide los bytes en trozos y organizan trozos en árboles, con límites determinados por contenido, no de posición.
- Merkle: cálculo de espacio -eficiente de los hash de raíz de Merkle y las pruebas de inclusión.
- Skiplist - Implementación muy rápida de Skiplist.
- SKIPLIST - SKIPLIST Implementación en GO.
- TAP - Mapa persistente y ordenado rápidamente usando montones de árbol.
- Treemap: mapa genérico clasificado por llave usando un árbol rojo negro debajo del capó.
Tubería
- ordenado de manera concurrente: el módulo GO que procesa el trabajo simultáneamente y devuelve la salida en un canal en el orden de entrada.
- Parapipe: tubería FIFO que es paralela a la ejecución en cada etapa mientras mantiene el orden de mensajes y resultados.
- Pipeline: una implementación de tuberías con ventilador y abanico.
⬆ De vuelta a la cima
Base de datos
cachés
Almacenes de datos con registros expirados, almacenes de datos distribuidos en memoria o subconjuntos en memoria de bases de datos basadas en archivos.
- 2Q - Implementación de caché en memoria 2Q.
- bcache: eventualmente la biblioteca de caché de memoria de memoria distribuida consistente.
- BigCache: caché de clave/valor eficiente para gigabytes de datos.
- Cache - Clave en memoria: almacén de valor con tiempo de vencimiento, 0 dependencias, <100 LOC, 100% de cobertura.
- CACHE2GO - Clave en memoria: caché de valor que admite la invalidación automática según los tiempos de espera.
- Cachego - Componente de caché de Golang para múltiples controladores.
- ClusteredBigCache - BigCache con soporte de agrupación y vencimiento del elemento individual.
- coherencia-go-client: implementación completa de Oracle Coherence Cache API para aplicaciones GO utilizando GRPC como transporte de red.
- CouchCache - Micro -servicio de almacenamiento en caché Restful respaldado por CouchBase Server.
- ECHOVAULT: un almacén de datos en memoria distribuido integrable compatible con los clientes de Redis.
- FastCache: caché de InMemory segura de hilo rápido para una gran cantidad de entradas. Minimiza la sobrecarga de GC.
- GCACHE - Biblioteca de caché con soporte para caché vencido, LFU, LRU y ARC.
- GDCACHE: una biblioteca de caché pura no intrusiva implementada por Golang, puede usarla para implementar su propio caché distribuido.
- GO-Cache: una biblioteca flexible de almacenamiento en caché de GO múltiples para lidiar con la memoria caché en memoria y compartido mediante la adopción del patrón de cache-asides.
- Go-Freelru una biblioteca LRU de LRU de LRU sin GC con bloqueo, fragmento, desalojo y vencimiento opcionales.
- Go-Mcache-Clave rápida en la memoria: Value Store/Cache Biblioteca. Cachés de puntero.
- GOCACHE: una biblioteca de caché GO completa con múltiples tiendas (memoria, memcache, redis, ...), encadenable, cargable, caché de métricas y más.
- GOCACHE - Una biblioteca de AChe de GO Free GO de una carrera de datos con alto rendimiento y funcionalidad de Auto Pruge
- GroupCache: GroupCache es una biblioteca de almacenamiento en caché y relleno de caché, destinada como un reemplazo para Memcached en muchos casos.
- ICACHE: un paquete de caché de alto rendimiento, genérico, seguro de hilo y dependencia cero.
- Imcache: una biblioteca genérica en memoria de caché Go. Admite vencimiento, expiración deslizante, límite de entradas máximas, devoluciones de llamada de desalojo y fragmentos.
- NSCACHE: un marco de almacenamiento en caché de GO que admite múltiples controladores de origen de datos.
- Otter: un caché sin bloqueo de alto rendimiento para Go. Muchas veces más rápido que Ristretto y sus amigos.
- Pocache: Pocache es un paquete de caché mínimo que se centra en una estrategia de almacenamiento de almacenamiento optimista preventivo.
- Sturdyc: una biblioteca de almacenamiento en caché con características de concurrencia avanzadas diseñadas para hacer que las aplicaciones pesadas de E/S fueran robustas y altamente desempeñadas.
- Theine: alto rendimiento, caché en memoria casi óptimo con vencimiento y genéricos de TTL proactivos.
- TimedMap: mapa con pares de valores clave expirados.
- TTLCACHE: un caché en memoria con vencimiento del elemento y genéricos.
- TTLCACHE - Almacenamiento de valor de clave en memoria con TTL para cada registro.
Bases de datos implementadas en GO
- Badger - Tienda de valor clave rápido en Go.
- BBOLT: una base de datos de clave/valor incrustada para GO.
- BitCask: BitCask es una base de datos de valor clave de valor (KV) integrable, persistente y rápido escrita en Pure Go con rendimiento predecible de lectura/escritura, baja latencia y alto rendimiento gracias al diseño de la tarjeta de bits (LSM+WAL).
- BUNTDB - Base de datos de clave/valor rápida, integrable y de valor en memoria para GO con indexación personalizada y soporte espacial.
- Clover: una base de datos NoSQL orientada a documentos liviana escrita en puro golang.
- Cucaracha: almacén de datos transaccional escalable, replicado geográfico.
- Coffer: base de datos de valor clave de ácido simple que admite transacciones.
- Columna: almacén en memoria de alto rendimiento, columnar e integrable con indexación y transacciones de mapa de bits.
- Covenantsql - Covensql es una base de datos SQL en blockchain.
- Databunker - Servicio de almacenamiento de información de identificación personal (PII) creado para cumplir con GDPR y CCPA.
- DGRAPH - Base de datos de gráficos de alto rendimiento, distribuido, de baja latencia.
- DiskV-Tienda de valor clave de valor de disco local respaldada por disco.
- Dolt - Dolt - es GIT para los datos.
- DTF: un administrador de transacciones distribuido. Soporte de XA, TCC, SAGA, mensajes confiables.
- ELIASDB-Base de datos de gráficos transaccionales sin dependencia con API REST, búsqueda de frases y lenguaje de consulta similar a SQL.
- GODIS: un Golang implementó un servidor y clúster de alto rendimiento de Redis.
- GolevelDB - Implementación de la base de datos de clave/valor niveldb en GO.
- Hare: un sistema de gestión de bases de datos simple que almacena cada tabla como un archivo de texto de JSON delimitado por línea.
- IMMUDB - IMMUDB es una base de datos inmutable ligera y de alta velocidad para sistemas y aplicaciones escritas en GO.
- InfluxDB - almacén de datos escalable para métricas, eventos y análisis en tiempo real.
- LEDISDB - LEDISDB es un NoSQL de alto rendimiento como Redis basado en LevelDB.
- Levigo - Levigo es un envoltorio de Go para LevelDB.
- LIBRADB - LIBRADB es una base de datos simple con menos de 1000 líneas de código para el aprendizaje.
- LINDB - LINDB es una base de datos escalable, de alto rendimiento y alta disponibilidad distribuida de series de tiempo.
- LotusDB - Base de datos rápida K/V compatible con LSM y B+Tree.
- MILVUS - MILVUS es una base de datos vectorial para integrar la gestión, análisis y búsqueda.
- Moss: Moss es un motor de almacenamiento de valor llave LSM simple escrito en 100% GO.
- NutSDB - NutSDB es una tienda/valor de clave/valor persistente simple, rápida, integrable y persistente escrita en puro Go. Admite transacciones totalmente serializables y muchas estructuras de datos, como LIST, SET, SET SET.
- Objectbox-go-Base de datos de objetos integrado de alto rendimiento (NoSQL) con API GO.
- Pebble - Base de datos de valor clave inspirada en RocksDB/LevelDB en GO.
- PILADB - Motor de base de datos relajante ligero basado en estructuras de datos de pila.
- POGREB-Tienda de valor clave integrada para cargas de trabajo pesadas.
- Prometheus - Sistema de monitoreo y base de datos de series temporales.
- Pudge - Tienda de clave/valor rápida y simple escrita usando la biblioteca estándar de Go.
- Redka - Redis reimplementado con SQLite.
- RosedB: una base de datos KV integrada basada en LSM+WAL, admite cadena, lista, hash, set, zset.
- ROTOM: un pequeño servidor Redis construido con Golang, compatible con protocolos Res.
- RQLITE: la base de datos relacional, ligera, distribuida, construida en SQLite.
- TEMPDB - Tienda de valores clave para artículos temporales.
- TIDB - TIDB es una base de datos SQL distribuida. Inspirado en el diseño de Google F1.
- TIEDOT: su base de datos NoSQL alimentada por Golang.
- UNITDB - Base de datos Fast Timeseries para IoT, aplicaciones de mensajería en tiempo real. Acceda a unitdb con pubSub a través de TCP o WebSocket usando github.com/unit-io/unitd aplicación.
- Vasto: una tienda de valor clave de alto rendimiento distribuida. En el disco. Eventual consistente. JA. Capaz de crecer o encogerse sin interrupción del servicio.
- Victoriametrics: base de datos de series de tiempo de código abierto rápida, efectiva y escalable de código abierto. Puede usarse como almacenamiento remoto a largo plazo para Prometheus. Admite PROMQL.
Migración del esquema de la base de datos
- Atlas: un conjunto de herramientas de base de datos. Una CLI diseñada para ayudar a las empresas a trabajar mejor con sus datos.
- Avro - Descubra esquemas SQL y conviértalos en esquemas Avro. Consulta registros SQL en Avro Bytes.
- ByteBase - Cambio de esquema de base de datos seguro y control de versiones para equipos DevOps.
- Darwin - Biblioteca de evolución del esquema de la base de datos para Go.
- DBMate: una herramienta de migración de base de datos ligera y agnóstica de marco.
- FIXCIONES DE GO-APARTAMENTOS DE ESTILO DJANGO PARA LA EXCELENTE BASE DE DATOS DE DATOS ENCENDIDOS DE GOLANG.
- GO-PG-Migrate: paquete amigable para la CLI para la gestión de migraciones de GO-PG.
- GO-PG-Migraciones: un paquete GO para ayudar a escribir migraciones con Go-PG/PG.
- Goavro: un paquete GO que codifica y decodifica los datos de Avro.
- Godfish - Gerente de migración de bases de datos, trabaja con el lenguaje de consulta nativa. Soporte para Cassandra, MySQL, Postgres, SQLite3.
- Ganso - Herramienta de migración de bases de datos. Puede administrar la evolución de su base de datos creando scripts SQL o GO incrementales.
- GORM -SEEDER - SIEMBRADOR DE BASE DE DATOS SIMPLE PARA GORM ORM.
- Gormigrate - Helper de migración de esquema de base de datos para Gorm ORM.
- Libschema: defina sus migraciones por separado en cada biblioteca. Migraciones para bibliotecas de código abierto. MySQL y PostgreSQL.
- Migrate - Migraciones de bases de datos. Biblioteca CLI y Golang.
- Migrator - Biblioteca de migración de base de datos de GO Simple Dead.
- Migrador: la base de datos MySQL migrador diseñado para ejecutar migraciones a sus características y administrar la actualización del esquema de la base de datos con el código GO Intuitive.
- Esquema: biblioteca para incrustar migraciones de esquema para bases de datos compatibles con base de datos/SQL dentro de sus binarios GO.
- Skeema - Sistema de gestión de esquemas de SQL puro para MySQL, con soporte para fragmentos y herramientas externas de cambio de esquema en línea.
- Soda - Migración de bases de datos, creación, ORM, etc. para MySQL, PostgreSQL y SQLite.
- SQL -Migrate - Herramienta de migración de bases de datos. Permite integrar migraciones en la aplicación utilizando GO-Bindata.
- SQLize - Generador de migración de bases de datos. Permite generar migración SQL del modelo y SQL existente por diferencias.
Herramientas de la base de datos
- Chproxy - HTTP proxy para la base de datos de Clickhouse.
- Clickhouse -Bulk: recopila pequeñas inserciones y envía grandes solicitudes a los servidores de Clickhouse.
- DBBENCH - Herramienta de evaluación comparativa de bases de datos con soporte para varias bases de datos y scripts.
- DG: un generador de datos rápidos que produce archivos CSV a partir de datos relacionales generados.
- Dinago: simplifique el trabajo con AWS Dynamodb.
- Gatewayd: puerta de enlace de base de datos nativa de nube y marco para construir aplicaciones basadas en datos. Al igual que las puertas de enlace API, para bases de datos.
- GO -MYSQL - GO Toolset para manejar el protocolo MySQL y la replicación.
- Gorm-Multitenancy-Soporte de múltiples tenientes para bases de datos administradas por GORM.
- HASQL - Biblioteca para acceder a instalaciones de bases de datos SQL multi -host.
- Octillery - GO PAGACIÓN PARA FRAVE DEBECHAS DE DATACIÓN (admite cada SQL de ORM o RAW).
- Onedump: copia de seguridad de la base de datos de diferentes controladores a diferentes destinos con un comando y configuración.
- PG_TIMETABLE - Programación avanzada para PostgreSQL.
- PGWEB - navegador de base de datos PostgreSQL basado en la web.
- Preparación: use declaraciones SQL preparadas sin cambiar su código.
- PERST - Simplifique y acelere el desarrollo, ⚡ Instante, en tiempo real, alto rendimiento en cualquier aplicación de Postgres, existente o nueva.
- RDB - Redis RDB File Parser para desarrollo secundario y análisis de memoria.
- RWDB - RWDB proporciona capacidad de réplica de lectura para la configuración de múltiples servidores de bases de datos.
- VITESS: Vitess proporciona servidores y herramientas que facilitan la escala de bases de datos MySQL para servicios web a gran escala.
- WESCALE - Wescale es un proxy de base de datos diseñado para mejorar la escalabilidad, el rendimiento, la seguridad y la resistencia de sus aplicaciones.
Constructores de consultas sql
Bibliotecas para construir y usar SQL.
- BQB - Builder de consultas ligero y fácil de aprender.
- BuildSQLX - Biblioteca GO Base de consultas de consultas para PostgreSQL.
- Builq - Construir consultas SQL fácilmente en Go.
- DBQ - Operaciones de base de datos Boilerplate cero para GO.
- DotsQL - Biblioteca Go que lo ayuda a mantener los archivos SQL en un solo lugar y usarlos con facilidad.
- Gendry: constructor SQL no invasivo y una poderosa aglutinante de datos.
- Godbal - Capa de abstracción de la base de datos (DBAL) para Go. Apoye el constructor SQL y obtenga el resultado fácilmente.
- Gobrete - Biblioteca Idiomatic SQL Builder and Query.
- GOSQL - SQL Consultor Builder con un mejor soporte de valores nulos.
- Hotcoal: asegure su SQL artesanal contra la inyección.
- Igor - Capa de abstracción para PostgreSQL que admite la funcionalidad avanzada y utiliza la sintaxis similar a Gorm.
- JET - Marco para escribir consultas SQL seguras de tipo en GO, con la capacidad de convertir fácilmente el resultado de la consulta de la base de datos en la estructura de objeto arbitraria deseada.
- Ormlite: paquete liviano que contiene algunas características y ayudantes de ORM para bases de datos SQLite.
- OZZO-DBX-Métodos de recuperación de datos potentes, así como capacidades de construcción de consultas de DB y db.
- QRY - Herramienta que genera constantes a partir de archivos con consultas SQL sin procesar.
- SG: un gen SQL para generar SQL estándar (soporte: CRUD) escrito en GO.
- SQ - SQL Builder y Struct Mapper de tipo seguro para GO.
- SQLC - Genere el código de tipo seguro desde SQL.
- SQLF - Fast SQL Query Builder.
- Sqlingo: un DSL ligero para construir SQL en Go.
- SQRL - SQL Query Builder, horquilla de ardilla con rendimiento mejorado.
- Squalus: capa delgada sobre el paquete GO SQL que facilita la realización de consultas.
- Squirrel - GO LIBRACESA que te ayuda a construir consultas SQL.
- XO: genere código Idiomático GO para bases de datos basadas en definiciones de esquemas existentes o consultas personalizadas que admiten PostgreSQL, MySQL, SQLite, Oracle y Microsoft SQL Server.
⬆ De vuelta a la cima
Controladores de la base de datos
Interfaces para múltiples backends
- Cayley - Base de datos de gráficos con soporte para backends múltiples.
- DSC - Conectividad de almacén de datos para archivos estructurados SQL, NoSQL.
- Dynamo: una abstracción de valor clave simple para almacenar tipos de datos algebraicos y de datos vinculados en AWS Storage Services: AWS Dynamodb y AWS S3.
- GO-TRANSACTION-MANAGER-Manager de transacciones con múltiples adaptadores (SQL, SQLX, Gorm, Mongo, ...) controla los límites de la transacción.
- GOKV - Simple Key -Value Store Abstraction e implementaciones para GO (Redis, Consul, Etcd, BBolt, BadgerDB, LevelDB, Memcached, DynamodB, S3, PostgreSQL, MongoDB, CockroachdB y muchos más).
Controladores de bases de datos relacionales
- Avatica - Apache Avatica/Phoenix SQL Driver para base de datos/SQL.
- BGC - Conectividad de almacén de datos para BigQuery para Go.
- Firebirdsql - Conductor SQL Firebird RDBMS para Go.
- GO -ADODB - Controlador de base de datos de objetos de Microsoft ActiveX para GO que usa la base de datos/SQL.
- GO -MSSQLDB - Microsoft MSSQL Driver para Go.
- GO -OCI8 - Oracle Driver para GO que usa la base de datos/SQL.
- Go-SQL-Driver/MySQL-MySQL Driver For Go.
- GO -SQLITE3 - controlador SQLITE3 para GO que usa la base de datos/SQL.
- Godror - Driver de Oracle para Go, usando el controlador ODPI -C.
- GoFreetds - Microsoft MSSQL Driver. Ve a envoltura sobre Freetds.
- KSQL: una biblioteca de Golang SQL simple y potente
- PGX - PostgreSQL Driver Supporting Características más allá de las expuestas por la base de datos/SQL.
- Pig: un envoltorio PGX simple para ejecutar y escanear los resultados de la consulta fácilmente.
- PQ - Controlador Pure Go Postgres para base de datos/SQL.
- Sqinn -go - sqlite con puro Go.
- SQLhooks: adjunte ganchos a cualquier base de datos/controlador SQL.
- SurrealDB.Go - SurrealDb Driver For Go.
- YDB-GO-SDK-Controlador nativo y de base de datos/SQL YDB (base de datos Yandex)
Controladores de base de datos NoSQL
- AeroSpike-Client-go-Aerospike Client en el lenguaje GO.
- Arangolita: controlador de golang liviano para Arangodb.
- ASC - Conectividad de almacén de datos para Aerospike para GO.
- FORESTDB - VAYA ANITACIONES PARA FORESTDB.
- GO -CouchBase - CLIENTE COUCHBASE en GO.
- GO-MONGOX: una biblioteca Go Mongo basada en el controlador oficial, con operaciones de documentos optimizadas, vinculación genérica de estructuras a colecciones, crud incorporado, agregación, actualizaciones de campo automatizadas, validación de estructura, ganchos y programación basada en complementos.
- Go -Pilosa - Go Library de clientes para Pilosa.
- GO -REJSON - Golang Client del módulo Rejson de Redislabs utilizando el cliente Redigo Golang. Almacene y manipule las estructuras como objetos JSON en Redis con facilidad.
- GOCB - SDK oficial de CouchBase Go.
- GOCOSMOS - REST Cliente y
database/sql
para Azure Cosmos DB. - GOCQL - GO LENGUACIÓN DEL LENGUABLE PARA APACHE CASSANDRA.
- GODIS - Redis Client Implement by Golang, inspirado en JEDIS.
- GodScache: un envoltorio para el paquete de datos de datos de Google Cloud Platform Go que agrega almacenamiento en caché usando MemCached.
- Gomemcache - Biblioteca de cliente Memcache para el lenguaje de programación GO.
- GOMEMCACHED: un cliente binario Memcached para ir con soporte para fragmentar el uso de hashing consistente, junto con SASL.
- GORETHINK - Vaya al controlador de idiomas para RethinkDB.
- Goriak - GO LENGUAJE DIRMADOR DE RIAK KV.
- KIVIK - Kivik proporciona una biblioteca de clientes GOPHERJS Common Go y GopherJS para CouchDB, PouchDB y bases de datos similares.
- MGM - ODM basado en el modelo MongoDB para GO (basado en el controlador oficial de MongoDB).
- MGO - (sin mantenimiento) MongoDB Driver para el lenguaje GO que implementa una selección rica y bien probada de características bajo una API muy simple después de modismos de GO estándar.
- Mongo-Go-Driver-Conductor oficial de MongoDB para el idioma GO.
- Neo4j - Neo4j REST API Bindings para Golang.
- Neo4j -go - Neo4j REST Client en Golang.
- Neoísmo - Cliente Neo4J para Golang.
- QMGO - El controlador MongoDB para Go. Se basa en el conductor oficial de MongoDB pero más fácil de usar como MGO.
- REDEO - Servidores/servicios TCP compatibles con Redis -Protocol.
- REDIGO - Redigo es un cliente GO para la base de datos Redis.
- Redis - Redis Client para Golang.
- Rueidis - Cliente Redis Resp3 rápido con tuberías automáticas y almacenamiento en caché del lado del cliente asistido por servidor.
- XREDIS - TIPSAFE, personalizable, limpio y fácil de usar Redis Client.
Bases de datos analíticas y de búsqueda
- Clickhouse -go - Cliente SQL Cliente para ir con una compatibilidad
database/sql
. - EFFDSL - Elasticsearch Query Builder para Go.
- Elastic - Elasticsearch Client para Go.
- Elasticsql - Convertir SQL a Elasticsearch DSL en GO.
- Elastigo - Biblioteca de clientes Elasticsearch.
- GO -ElasticSearch - Cliente oficial de Elasticsearch para Go.
- Goes - Biblioteca para interactuar con Elasticsearch.
- Skizze - Servicio de estructuras de datos probabilísticas y almacenamiento.
⬆ De vuelta a la cima
Fecha y hora
Bibliotecas para trabajar con fechas y horarios.
- Aproximadamente: una extensión de duración que respalda las duraciones de análisis/impresión en días, semanas y años.
- Carbono: un paquete de golang simple, semántico y amigable para el desarrollador para DateTime.
- Carbono: extensión de tiempo simple con muchos métodos Utilizados, portados por la biblioteca de carbono PHP.
- Cronrange - Parses Expresiones de rango de tiempo al estilo Cron, verificaciones si el tiempo dado está dentro de algún rangos.
- Fecha: aumenta la hora de trabajar con fechas, rangos de fecha, tramos de tiempo, períodos y hora del día.
- DateParse - Fecha de análisis sin conocer el formato por adelantado.
- DURAFMT - Biblioteca de formato de duración de tiempo para Go.
- Feiertage - Conjunto de funciones para calcular los días festivos en Alemania, incl. Especialización en los estados de Alemania (Bundesländer). Cosas como Pascua, Pentecostés, Acción de Gracias ...
- GO -Anytime - Pan Fechas/Times como "El próximo 22 de diciembre a las 3pm" y varía como "desde hoy hasta el próximo jueves" sin conocer el formato de antemano.
- GO -DATBIN: un simple PKG de análisis de fecha y hora.
- GO-Persian-Calendar: la implementación del calendario persa (Hijri solar) en GO (Golang).
- GO -Str2Duration - Convierta la cadena a la duración. Support Time.Dury devuelto cadena y más.
- GO -Sunrise: calcule los tiempos de amanecer y al atardecer para una ubicación determinada.
- Go -Week: un paquete eficiente para trabajar con fechas de la semana ISO8601.
- Gostradamus: un paquete Go para trabajar con fechas.
- ISO8601: analice eficientemente ISO8601 Fecha de fecha sin regex.
- Kair - Fecha y hora - Biblioteca de formato de Golang.
- Ahora, ahora es un kit de herramientas de tiempo para Golang.
- Strftime - Formatero Strftime compatible con C99.
- Timespan: para interactuar con intervalos de tiempo, definidos como una hora de inicio y una duración.
- TimeUtil: extensiones útiles (Timedelta, Strftime, ...) al paquete de tiempo del Golang.
- Martes - Función Strftime compatible con Ruby.
⬆ De vuelta a la cima
Sistemas distribuidos
Paquetes que ayudan con la construcción de sistemas distribuidos.
- ARPC-Comunicación de red más efectiva, admitir la llamada bidireccional, notificar, transmitir.
- Bedrock: proporciona una base mínima, modular y compuesta para desarrollar rápidamente servicios y más marcos específicos de uso en GO.
- Capilares: Marco de procesamiento de datos por lotes distribuidos.
- Celeriac - Biblioteca para agregar apoyo para interactuar y monitorear a los trabajadores de apio, tareas y eventos en GO.
- Consistente: hashing consistente con cargas limitadas.
- consistente - hashing consistente con réplicas configurables.
- DHT - BitTorrent Kademlia DHT Implementación.
- Digota - Microservicio de comercio electrónico GRPC.
- hacer