Are there any categories or subcategories that should be added on crates.io? Should any categories be split or merged?
You can see the list of categories here and their crates here.
To get some data, here are most popular keywords in each category:
- algorithms = hash, algorithm, random, mathematics, math, sort, graph, numerics, rng, algorithms
- api-bindings = api, gstreamer, audio, ffi, multimedia, gnome, database, amqp, video, gmp
- asynchronous = async, futures, tokio, asynchronous, io, future, non-blocking, networking, http, concurrency
- authentication = authentication, security, cryptography, password, serialization, web, encryption, jwt, crypto, merkle
- caching = cache, caching, memoization, lazy, redis, lru
- command-line-interface = cli, terminal, argument, color, clap, tui, parser, git, console, readline
- command-line-utilities = cli, git, command-line, cargo, file, terminal, markdown, tool, search, command-line-tool
- compression = compression, gzip, zlib, deflate, decompression, encoding, compress
- concurrency = concurrency, parallel, thread, atomic, futures, lock-free, coroutine, mutex, threadpool, actor
- config = config, configuration, json, yaml, toml, environment, dotenv, settings, env
- cryptography = cryptography, crypto, hash, security, encryption, digest, block-cipher, password, curve25519, authentication
- data-structures = data-structures, data-structure, vec, map, array, tree, vector, hashmap, container, graph
- database = database, sql, nosql, postgres, lmdb, orm, postgresql, migration, client, graph
- database-implementations = database, blockchain, storage, graph, search, bitcoin
- date-and-time = time, date, calendar, cron, chrono, duration, schedule, float, periodic
- development-tools = cargo, git, cargo-subcommand, kailua, cli, build, macro, testing, language, plugin
- development-tools::build-utils = build, cargo, subcommand, cli
- development-tools::cargo-plugins = cargo, subcommand, plugin, cargo-subcommand, tests, mobile, build, ios, android, cli
- development-tools::debugging = logging, log, debug, logger, slog, elf, dwarf, binary, structured, file
- development-tools::ffi = ffi, c, bindings, compiler, ios, objective-c, gnome, gstreamer, win32
- development-tools::procedural-macro-helpers = syn, nom, proc-macro, derive, macro, enum, macros, reflection, type
- development-tools::profiling = tests, benchmark, profiler, mobile, ios, android, cargo, timer
- development-tools::testing = testing, test, mock, mocking, tdd, bdd, quickcheck, unit-test, property, tests
- email = email, imap, mime
- embedded = arm, cortex-m, stm32, embedded, svd2rust, embedded-hal-driver, no-std, hal, embedded-hal, no_std
- emulators = emulator, interpreter, machine, learning, esolang
- encoding = serde, serialization, encoding, json, base64, parser, encode, binary, decode, deserialization
- external-ffi-bindings = ffi, bindings, wayland, dpdk, compositor, audio, networking, ffi-wrapper, cryptography, database
- filesystem = filesystem, file, directory, fs, io, storage, path, fuse, archive, files
- game-engines = gamedev, graphics, engine, 2d, sprite, game-engine, ai, ecs, gui, vector
- games = game, chess, games, gamedev, vector, steam, cards, graphics, sprite, 2d
- gui = gui, wayland, web, ui, graphics, asmjs, webasm, tui, javascript, window
- hardware-support = arm, cortex-m, embedded-hal-driver, hal, stm32, serial, svd2rust, embedded-hal, hardware, embedded
- internationalization = unicode, character-property, internationalization, localization, text, i18n, l10n, version, intl, grapheme
- localization = localization, internationalization, l10n, i18n, intl, chinese
- memory-management = allocator, memory, slab, pool, rc, alloc, box, no_std, malloc
- multimedia = image, audio, gstreamer, multimedia, graphics, video, dsp, gnome, ffi, p2p
- multimedia::audio = audio, sound, music, mp3, decoder, gamedev, signal, codec, midi, dsp
- multimedia::encoding = audio, webm
- multimedia::images = image, color, svg, rgb, bitmap, gif, jpeg, bmp, palette, png
- multimedia::video = video, youtube, encoder, subtitle, hardware, animation
- network-programming = networking, network, http, dns, tokio, protocol, dpdk, proxy, async, packet
- no-std = arm, cortex-m, no_std, stm32, embedded, cryptography, svd2rust, hash, embedded-hal-driver, wasm
- os = system, command, memory, os, window, linux, process
- os::macos-apis = system, macos
- os::unix-apis = system, linux, unix, freebsd, udp, docker, process, memory, ipc, shared
- os::windows-apis = windows, ffi, win32
- parser-implementations = parser, parsing, atom, nom, lexer, ssh, csv, json, javascript, bytecode
- parsing = parser, parsing, nom, peg, text, html, xml, grammar, parse, protocol
- rendering = graphics, gamedev, rendering, vulkan, gui, sprite, glsl, shadertoy, shaders, character-property
- rendering::data-formats = graphics, text, image, font, glsl, ttf, opengl, 2d, 3d
- rendering::engine = game, ffi
- rendering::graphics-api = graphics, vulkan, opengl, vulkan-api, spir-v, gui, graphics-programming, input, bindings, gpu
- rust-patterns = macro, error, iterator, derive, string, no_std, static, di, data-structure, async
- science = math, linear-algebra, mathematics, science, astronomy, machine-learning, units, weather, numerics, physics
- simulation = simulation
- template-engine = template, html, templating, web, template-engine, jinja2, handlebars, macro
- text-editors = cickets
- text-processing = text, unicode, nlp, string, character-property, markdown, fuzzy, parser, cli, parsing
- value-formatting = format, numbers, bytes, formatting, string, humanize, float
- visualization = visualization, plot, gui
- wasm = wasm, javascript, binding-generator, webassembly, js
- web-programming = web, http, javascript, rocket, wasm, api, microservices, iron, zipkin, html
- web-programming::http-client = http, client, hyper, rest, api, request, https, web, jsonrpc, tokio
- web-programming::http-server = http, web, server, framework, hyper, iron, rocket, file, static, middleware
- web-programming::websocket = websocket, websockets, web, http, async, rfc6455, io, pubsub, tokio
And here are most popular keywords, except the keywords listed above:
sys google aws implementation core data rusoto winsdk amazon types wrapper imag generator piston matrix utility information simple pim interface codegen utils code stream rpc trait personal management fast line support safe package queue collection distributed geometry slice name python buffer tcp sdk tls binding byte shell number lib set event traits read functional index reader regex bit generic driver protocol- specification concurrent common functions protobuf ip socket util integer utilities mio telegram crates gfx url channel rusty algebra rustc state linear dsl drone hex assert java query service simd diesel helper raw message runtime manager irc to performance reproto tower tools syntax strings backend compile stack bot basic programming metrics persistent jit unic ascii library x11 id statistics ethereum sync table native find llvm write list generate access free extension term builder impl iter gl module lock num kernel struct events geo mac collision filter rand token cell streaming dynamic repl metadata trie application documentation check pretty bioinformatics optimization size project specs easy serialize distributed-systems hashing graphql sgx option convert device chat empty str collections block user ansi try uuid decoding pure intel editor object automation std noise build- dependencies panic info allegro endian range numeric display structure distance around distribution net conversion control heap standard grpc interact vm unsafe ruby sqlite cipher diff cpu tty router blas touch print tiny windowing complete open x86 from ci elastic value domain brainfuck backup cryptocurrency stats port source cross-platform db expression gis keyboard procedural status css checksum generation base i2c virtual content gtk-rs actix fixed key multi gen store loop pi xmpp qt pattern immutable synchronization amethyst proc chain ssl link raspberry hello validation script ring run ref analysis s3 crate r2d2 ucd reserve node local task bittorrent libc match scoped ndarray notify exonum between genetic operations minecraft assembly transport level gtk applications japanese reactive mango bloom scripting split pdf structures stable auth output osx ext idl monitor elasticsearch sdl2 reference create count typed slack extra kubernetes pipe twitter values bindgen uhttp result ast messaging sputnikvm posix go conduit mysql fft systemd cpp update platform servo mongo