mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
Add a parser generator library.
@@ -1,263 +1,264 @@
|
||||
See also:
|
||||
|
||||
* [Awesome Rust](https://github.com/kud1ing/awesome-rust)
|
||||
* [Travis CI Status](http://hiho.io/rust-ci/)
|
||||
* [Rust Kit Library Browser](http://rustkit.io/)
|
||||
|
||||
## Audio
|
||||
|
||||
See [[Computer Graphics and Game Development]].
|
||||
|
||||
## Collections
|
||||
|
||||
See [[Containers]].
|
||||
|
||||
## Compression
|
||||
|
||||
We want compression/decompression support for TAR and ZIP file formats.
|
||||
|
||||
* [alexcrichton/rust-compress](https://github.com/alexcrichton/rust-compress): compression algorithms, all written in rust [<img src="https://travis-ci.org/alexcrichton/rust-compress.png?branch=master">](https://travis-ci.org/alexcrichton/rust-compress)
|
||||
* [erickt/rustzlib](https://github.com/erickt/rustzlib): libzlib bindings
|
||||
* [thestinger/rust-snappy](https://github.com/thestinger/rust-snappy): libsnappy bindings
|
||||
|
||||
## Computation
|
||||
|
||||
* GMP
|
||||
* [thestinger/rust-gmp](https://github.com/thestinger/rust-gmp)
|
||||
* OpenCL
|
||||
* [eholk/rust-opencl](https://github.com/eholk/rust-opencl): OpenCL bindings [<img src="https://travis-ci.org/eholk/rust-opencl.png?branch=master">](https://travis-ci.org/eholk/rust-opencl)
|
||||
|
||||
## Concurrency
|
||||
* task management, actor, OTP, [[Bikeshed mapreduce]], pools
|
||||
|
||||
## Crypto
|
||||
|
||||
* [DaGenix/rust-crypto](https://github.com/DaGenix/rust-crypto): [<img src="https://travis-ci.org/DaGenix/rust-crypto.png?branch=master">](https://travis-ci.org/DaGenix/rust-crypto)
|
||||
* LibNSS
|
||||
* [mletterle/rust-nss](https://github.com/mletterle/rust-nss)
|
||||
* libsodium
|
||||
* [dnaq/sodiumoxide](https://github.com/dnaq/sodiumoxide)
|
||||
* OpenSSL
|
||||
* [sfackler/rust-openssl](https://github.com/sfackler/rust-openssl): [<img src="https://travis-ci.org/sfackler/rust-openssl.png?branch=master">](https://travis-ci.org/sfackler/rust-openssl)
|
||||
|
||||
## CSV
|
||||
See [Encoding](Community-libraries#encoding)
|
||||
|
||||
## Database Access
|
||||
|
||||
* NoSql
|
||||
* LevelDB
|
||||
* [thestinger/rust-leveldb](https://github.com/thestinger/rust-leveldb)
|
||||
* LMDB
|
||||
* [esummers/rust-lightning](https://github.com/esummers/rust-lightning)
|
||||
* MongoDB
|
||||
* [10gen-interns/mongo-rust-driver-prototype](https://github.com/10gen-interns/mongo-rust-driver-prototype)
|
||||
* Redis
|
||||
* [mitsuhiko/redis-rs](https://github.com/mitsuhiko/redis-rs) [<img src="https://travis-ci.org/mitsuhiko/redis-rs.png?branch=master">](https://travis-ci.org/mitsuhiko/redis-rs)
|
||||
* [mneumann/rust-redis](https://github.com/mneumann/rust-redis) [<img src="https://travis-ci.org/mneumann/rust-redis.png?branch=master">](https://travis-ci.org/mneumann/rust-redis)
|
||||
* SQL
|
||||
* [wycats/rust-arel](https://github.com/wycats/rust-arel): An in-progress port of the Ruby SQL building library arel
|
||||
* MySql
|
||||
* [blackbeam/rust-mysql-simple](https://github.com/blackbeam/rust-mysql-simple): [<img src="https://travis-ci.org/blackbeam/rust-mysql-simple.png?branch=master">](https://travis-ci.org/blackbeam/rust-mysql-simple)
|
||||
* PostgreSql
|
||||
* [sfackler/rust-postgres](https://github.com/sfackler/rust-postgres): [<img src="https://travis-ci.org/sfackler/rust-postgres.png?branch=master">](https://travis-ci.org/sfackler/rust-postgres)
|
||||
* Sqlite
|
||||
* [linuxfood/rustsqlite](https://github.com/linuxfood/rustsqlite): Sqlite3 bindings [<img src="https://travis-ci.org/kud1ing/rustsqlite.png?branch=master">](https://travis-ci.org/kud1ing/rustsqlite)
|
||||
|
||||
## Date and Time
|
||||
|
||||
Wanted library: [[Lib datetime]]
|
||||
|
||||
* [lifthrasiir/rust-chrono](https://github.com/lifthrasiir/rust-chrono)
|
||||
* [luisbg/rust-datetime](https://github.com/luisbg/rust-datetime)
|
||||
* [tedhorst/rust_datetime](https://github.com/tedhorst/rust_datetime)
|
||||
|
||||
## Embedded Languages
|
||||
* Lua
|
||||
* [kballard/rust-lua](https://github.com/kballard/rust-lua) (Lua 5.1): [<img src="https://travis-ci.org/kballard/rust-lua.png?branch=master">](https://travis-ci.org/kballard/rust-lua)
|
||||
* [tomaka/rust-hl-lua](https://github.com/tomaka/rust-hl-lua) (Lua 5.2)
|
||||
* Python
|
||||
* [lukemetz/rustpy](https://github.com/lukemetz/rustpy)
|
||||
|
||||
## Encoding
|
||||
* [Base64](https://github.com/mozilla/rust/blob/master/src/libserialize/base64.rs)
|
||||
* Cap'n Proto
|
||||
* [dwrensha/capnproto-rust](https://github.com/dwrensha/capnproto-rust): [<img src="https://travis-ci.org/dwrensha/capnproto-rust.png?branch=master">](https://travis-ci.org/dwrensha/capnproto-rust)
|
||||
* Character Encoding
|
||||
* [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding): [<img src="https://travis-ci.org/lifthrasiir/rust-encoding.png?branch=rust-0.9-pre">](https://travis-ci.org/lifthrasiir/rust-encoding)
|
||||
* CSV
|
||||
* [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv): [<img src="https://api.travis-ci.org/BurntSushi/rust-csv.png">](https://travis-ci.org/BurntSushi/rust-csv)
|
||||
* [Geal/rust-csv](https://github.com/Geal/rust-csv): [<img src="https://travis-ci.org/Geal/rust-csv.png?branch=master">](https://travis-ci.org/Geal/rust-csv)
|
||||
* Erlang External Term Format [(about)](http://erlang.org/doc/apps/erts/erl_ext_dist.html)
|
||||
* [seriyps/rust-erl-ext](https://github.com/seriyps/rust-erl-ext)
|
||||
* [LeebDeveloper/retf](https://github.com/LeebDeveloper/retf)
|
||||
* HTML
|
||||
* [veddan/rust-htmlescape](https://github.com/veddan/rust-htmlescape): [<img src="https://travis-ci.org/veddan/rust-htmlescape.png?branch=master">](https://travis-ci.org/veddan/rust-htmlescape)
|
||||
* [JSON](https://github.com/mozilla/rust/blob/master/src/libserialize/json.rs)
|
||||
* MsgPck
|
||||
* [mneumann/rust-msgpack](https://github.com/mneumann/rust-msgpack): [<img src="https://travis-ci.org/mneumann/rust-msgpack.png?branch=master">](https://travis-ci.org/mneumann/rust-msgpack)
|
||||
* ProtocolBuffers
|
||||
* [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf): [<img src="https://travis-ci.org/stepancheg/rust-protobuf.png?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf)
|
||||
* [tildeio/buffoon](https://github.com/tildeio/buffoon)
|
||||
* S-Expressions
|
||||
* [darkf/rust_sexpr](https://github.com/darkf/rust_sexpr)
|
||||
* TOML
|
||||
* [mneumann/rust-toml](https://github.com/mneumann/rust-toml): [<img src="https://travis-ci.org/mneumann/rust-toml.png?branch=master">](https://travis-ci.org/mneumann/rust-toml)
|
||||
* Tnetstring
|
||||
* [erickt/rust-tnetstring](https://github.com/erickt/rust-tnetstring): [<img src="https://travis-ci.org/erickt/rust-tnetstring.png?branch=master">](https://travis-ci.org/erickt/rust-tnetstring)
|
||||
* XML
|
||||
* [bjz/sax-rs](https://github.com/bjz/sax-rs): bindings to libxml2's SAX parser [<img src="https://travis-ci.org/bjz/sax-rs.png?branch=master">](https://travis-ci.org/bjz/sax-rs)
|
||||
* [DanielFath/xml-parser](https://github.com/DanielFath/xml-parser): A hybrid pull, DOM parser written in pure Rust [](https://travis-ci.org/DanielFath/xml-parser)
|
||||
* [Florob/RustyXML](https://github.com/Florob/RustyXML): an XML parser written in Rust
|
||||
* [netvl/rust-xml](https://github.com/netvl/rust-xml): a streaming XML library
|
||||
|
||||
## Graphics
|
||||
|
||||
* Gnuplot
|
||||
* [SiegeLord/RustGnuplot] (https://github.com/SiegeLord/RustGnuplot) [](https://travis-ci.org/SiegeLord/RustGnuplot)
|
||||
|
||||
See also [[Computer Graphics and Game Development]].
|
||||
|
||||
## GUI
|
||||
|
||||
* Cocoa
|
||||
* [mozilla-servo/rust-cocoa](https://github.com/mozilla-servo/rust-cocoa)
|
||||
* Conrod
|
||||
* [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod)
|
||||
* Gtk
|
||||
* [JeremyLetang/rgtk](https://github.com/JeremyLetang/rgtk)
|
||||
* ncurses
|
||||
* [drhodes/rust-ncurses](https://github.com/drhodes/rust-ncurses)
|
||||
* [eevee/amulet](https://github.com/eevee/amulet)
|
||||
* [jeaye/ncurses-rs](https://github.com/jeaye/ncurses-rs): [](https://travis-ci.org/jeaye/ncurses-rs.png)
|
||||
* [pnkfelix/rust-curses](https://github.com/pnkfelix/rust-curses)
|
||||
* Termbox
|
||||
* [gchp/rustbox](https://github.com/gchp/rustbox)
|
||||
* [apribadi/rust-termbox](https://github.com/apribadi/rust-termbox)
|
||||
* wxWidgets
|
||||
* [kenz-gelsoft/wxRust](https://github.com/kenz-gelsoft/wxRust): [](https://travis-ci.org/kenz-gelsoft/wxRust)
|
||||
|
||||
## IO
|
||||
* AIO, SIO, stdio
|
||||
* [filesystem](https://github.com/mozilla/rust/blob/master/src/libstd/os.rs)
|
||||
* [path manipulation](https://github.com/mozilla/rust/blob/master/src/libstd/path.rs)
|
||||
* <> or fileinput.
|
||||
* timers
|
||||
|
||||
## Localizability
|
||||
* one aspect of L10n is to map a key to a text, based on the current locale (eg Java's [ResourceBundle](http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html) or [GNU gettext](http://www.gnu.org/software/gettext/))
|
||||
* another aspect is to format a string based on the current locale (eg Java's [MessageFormat](http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html))
|
||||
* See [issue #4630](https://github.com/mozilla/rust/issues/4630)
|
||||
|
||||
## Mathematics
|
||||
|
||||
* [bjz/cgmath-rs](https://github.com/bjz/cgmath-rs) (Linear algebra and math library for graphics)
|
||||
* [bjz/lmath-rs](https://github.com/bjz/lmath-rs)
|
||||
* [cmr/linalg](https://github.com/cmr/linalg) (Linear algebra library)
|
||||
|
||||
## Misc
|
||||
* low-level OS services
|
||||
* [zargony/rust-fuse](https://github.com/zargony/rust-fuse): Library for filesystems in userspace (FUSE) [<img src="https://travis-ci.org/zargony/rust-fuse.png?branch=master">](https://travis-ci.org/zargony/rust-fuse)
|
||||
* Simple search on a filesystem (eg Ruby's [glob](http://ruby-doc.org/core-2.0/Dir.html#method-c-glob))
|
||||
* unit testing
|
||||
* FFI, ctypes
|
||||
* dlopen, os processes
|
||||
* standard predicates
|
||||
* text, numeric, sorted
|
||||
* error-trapping wrappers, in-place task?
|
||||
* Consistent error handling
|
||||
* quotas, accounting
|
||||
* reflection
|
||||
|
||||
## Networking
|
||||
|
||||
* GUID
|
||||
* [UUID](https://github.com/mozilla/rust/blob/master/src/libuuid/lib.rs)
|
||||
* NanoMsg
|
||||
* [glycerine/rust-nanomsg](https://github.com/glycerine/rust-nanomsg)
|
||||
* ZeroMQ
|
||||
* [erickt/rust-zmq](https://github.com/erickt/rust-zmq): [<img src="https://travis-ci.org/erickt/rust-zmq.png?branch=master">](https://travis-ci.org/erickt/rust-zmq)
|
||||
* STOMP
|
||||
* [zslayton/stomp-rs](https://github.com/zslayton/stomp-rs): [<img src="https://travis-ci.org/zslayton/stomp-rs.png?branch=master">](https://travis-ci.org/zslayton/stomp-rs)
|
||||
|
||||
## NoSQL
|
||||
See [Database Access](Community-libraries#wiki-database-access)
|
||||
|
||||
## Operating system specific
|
||||
|
||||
* Windows
|
||||
* [klutzy/rust-windows](https://github.com/klutzy/rust-windows): Win32/Win64 wrapper for Rust
|
||||
|
||||
## Parser Generator
|
||||
|
||||
* [erickt/ragel](https://github.com/erickt/ragel)
|
||||
* [jesse99/rparse](https://github.com/jesse99/rparse)
|
||||
* [kevinmehall/rust-peg](https://github.com/kevinmehall/rust-peg)
|
||||
* [Valloric/nailed](https://github.com/Valloric/nailed): A Rust PEG parser generator
|
||||
|
||||
## Random Numbers
|
||||
* [random](https://github.com/mozilla/rust/blob/master/src/libcstd/rand.rs)
|
||||
|
||||
## Regular Expressions
|
||||
See the [regex crate](http://doc.rust-lang.org/regex/).
|
||||
|
||||
* [glennsl/rust-re](https://github.com/glennsl/rust-re)
|
||||
* [sanxiyn/rree](https://github.com/sanxiyn/rree)
|
||||
* PCRE
|
||||
* [cadencemarseille/rust-pcre](https://github.com/cadencemarseille/rust-pcre): [](https://travis-ci.org/cadencemarseille/rust-pcre)
|
||||
* [erickt/rustpcre](https://github.com/erickt/rustpcre)
|
||||
* [uasi/rust-pcre](https://github.com/uasi/rust-pcre): [<img src="https://travis-ci.org/uasi/rust-pcre.png?branch=master">](https://travis-ci.org/uasi/rust-pcre)
|
||||
* re2
|
||||
* [nickdesaulniers/rust-re2](https://github.com/nickdesaulniers/rust-re2)
|
||||
|
||||
## String manipulation
|
||||
* Slicing w/o copy, stringref
|
||||
* Ropes
|
||||
* Tokenizer
|
||||
* Unicode
|
||||
* [Unicode](https://github.com/mozilla/rust/blob/master/src/libextra/unicode.rs)
|
||||
* Convertions between text encodings. Ideally, with a customizable way of handling conversion errors.
|
||||
* Unicode normalization (NFD, NFC, NFKD, NFKC)
|
||||
* Collator (locale sensitive string comparison), with a configurable degree of strictness
|
||||
|
||||
## SQL
|
||||
See [Database Access](Community-libraries#wiki-database-access)
|
||||
|
||||
## Template engine
|
||||
|
||||
* Mustache
|
||||
* [erickt/rust-mustache](https://github.com/erickt/rust-mustache): [<img src="https://travis-ci.org/erickt/rust-mustache.png?branch=master">](https://travis-ci.org/erickt/rust-mustache)
|
||||
|
||||
|
||||
## Testing
|
||||
|
||||
* QuickCheck
|
||||
* [mcandre/rustcheck](https://github.com/mcandre/rustcheck)
|
||||
* [BurntSushi/quickcheck](https://github.com/BurntSushi/quickcheck): [<img src="https://api.travis-ci.org/BurntSushi/quickcheck.png">](https://travis-ci.org/BurntSushi/quickcheck)
|
||||
|
||||
## Web Programming
|
||||
|
||||
See also http://arewewebyet.com/
|
||||
|
||||
* common client + server functionality
|
||||
* [chris-morgan/rust-http](https://github.com/chris-morgan/rust-http): Superceeded by Teepee [<img src="https://travis-ci.org/chris-morgan/rust-http.png?branch=master">](https://travis-ci.org/chris-morgan/rust-http)
|
||||
* [teepee/teepee](https://github.com/teepee/teepee) [<img src="https://travis-ci.org/teepee/teepee.png?branch=master">](https://travis-ci.org/teepee/teepee)
|
||||
* [SimonSapin/rust-url](https://github.com/SimonSapin/rust-url)
|
||||
* [url.rs](https://github.com/mozilla/rust/blob/master/src/liburl/lib.rs)
|
||||
* client
|
||||
* [andelf/rust-httpc](https://github.com/andelf/rust-httpc)
|
||||
* [carllerche/curl-rust](https://github.com/carllerche/curl-rust)
|
||||
* server framework
|
||||
* [conduit-rust/conduit](https://github.com/conduit-rust/conduit)
|
||||
* [Earlz/rustymvc](https://github.com/Earlz/rustymvc)
|
||||
* [erickt/rust-mongrel2](https://github.com/erickt/rust-mongrel2): bindings for the [Mongrel2](http://mongrel2.org) webserver
|
||||
* [iron/iron](https://github.com/iron/iron): Middleware based, concurrency oriented pure Rust framework.
|
||||
* [jroweboy/oxidize](https://github.com/jroweboy/oxidize)
|
||||
* [nickel-org/nickel.rs](https://github.com/nickel-org/nickel.rs): inspired by Express.js, which is inspired by Sinatra.
|
||||
* [Ogeon/rustful](https://github.com/Ogeon/rustful): [<img src="https://travis-ci.org/Ogeon/rustful.png?branch=master">](https://travis-ci.org/Ogeon/rustful)
|
||||
* [skade/widmann](https://github.com/skade/widmann): inspired by Sinatra. [<img src="https://travis-ci.org/skade/widmann.png?branch=master">](https://travis-ci.org/skade/widmann)
|
||||
* [WebeWizard/libhttpd](https://github.com/WebeWizard/libhttpd)
|
||||
* [nathansizemore/rustic-io](https://github.com/nathansizemore/rustic-io): Websocket abstraction inspired by socket.io [<img src="https://travis-ci.org/nathansizemore/rustic-io.png?branch=master">](https://travis-ci.org/nathansizemore/rustic-io)
|
||||
|
||||
## XML
|
||||
See also:
|
||||
|
||||
* [Awesome Rust](https://github.com/kud1ing/awesome-rust)
|
||||
* [Travis CI Status](http://hiho.io/rust-ci/)
|
||||
* [Rust Kit Library Browser](http://rustkit.io/)
|
||||
|
||||
## Audio
|
||||
|
||||
See [[Computer Graphics and Game Development]].
|
||||
|
||||
## Collections
|
||||
|
||||
See [[Containers]].
|
||||
|
||||
## Compression
|
||||
|
||||
We want compression/decompression support for TAR and ZIP file formats.
|
||||
|
||||
* [alexcrichton/rust-compress](https://github.com/alexcrichton/rust-compress): compression algorithms, all written in rust [<img src="https://travis-ci.org/alexcrichton/rust-compress.png?branch=master">](https://travis-ci.org/alexcrichton/rust-compress)
|
||||
* [erickt/rustzlib](https://github.com/erickt/rustzlib): libzlib bindings
|
||||
* [thestinger/rust-snappy](https://github.com/thestinger/rust-snappy): libsnappy bindings
|
||||
|
||||
## Computation
|
||||
|
||||
* GMP
|
||||
* [thestinger/rust-gmp](https://github.com/thestinger/rust-gmp)
|
||||
* OpenCL
|
||||
* [eholk/rust-opencl](https://github.com/eholk/rust-opencl): OpenCL bindings [<img src="https://travis-ci.org/eholk/rust-opencl.png?branch=master">](https://travis-ci.org/eholk/rust-opencl)
|
||||
|
||||
## Concurrency
|
||||
* task management, actor, OTP, [[Bikeshed mapreduce]], pools
|
||||
|
||||
## Crypto
|
||||
|
||||
* [DaGenix/rust-crypto](https://github.com/DaGenix/rust-crypto): [<img src="https://travis-ci.org/DaGenix/rust-crypto.png?branch=master">](https://travis-ci.org/DaGenix/rust-crypto)
|
||||
* LibNSS
|
||||
* [mletterle/rust-nss](https://github.com/mletterle/rust-nss)
|
||||
* libsodium
|
||||
* [dnaq/sodiumoxide](https://github.com/dnaq/sodiumoxide)
|
||||
* OpenSSL
|
||||
* [sfackler/rust-openssl](https://github.com/sfackler/rust-openssl): [<img src="https://travis-ci.org/sfackler/rust-openssl.png?branch=master">](https://travis-ci.org/sfackler/rust-openssl)
|
||||
|
||||
## CSV
|
||||
See [Encoding](Community-libraries#encoding)
|
||||
|
||||
## Database Access
|
||||
|
||||
* NoSql
|
||||
* LevelDB
|
||||
* [thestinger/rust-leveldb](https://github.com/thestinger/rust-leveldb)
|
||||
* LMDB
|
||||
* [esummers/rust-lightning](https://github.com/esummers/rust-lightning)
|
||||
* MongoDB
|
||||
* [10gen-interns/mongo-rust-driver-prototype](https://github.com/10gen-interns/mongo-rust-driver-prototype)
|
||||
* Redis
|
||||
* [mitsuhiko/redis-rs](https://github.com/mitsuhiko/redis-rs) [<img src="https://travis-ci.org/mitsuhiko/redis-rs.png?branch=master">](https://travis-ci.org/mitsuhiko/redis-rs)
|
||||
* [mneumann/rust-redis](https://github.com/mneumann/rust-redis) [<img src="https://travis-ci.org/mneumann/rust-redis.png?branch=master">](https://travis-ci.org/mneumann/rust-redis)
|
||||
* SQL
|
||||
* [wycats/rust-arel](https://github.com/wycats/rust-arel): An in-progress port of the Ruby SQL building library arel
|
||||
* MySql
|
||||
* [blackbeam/rust-mysql-simple](https://github.com/blackbeam/rust-mysql-simple): [<img src="https://travis-ci.org/blackbeam/rust-mysql-simple.png?branch=master">](https://travis-ci.org/blackbeam/rust-mysql-simple)
|
||||
* PostgreSql
|
||||
* [sfackler/rust-postgres](https://github.com/sfackler/rust-postgres): [<img src="https://travis-ci.org/sfackler/rust-postgres.png?branch=master">](https://travis-ci.org/sfackler/rust-postgres)
|
||||
* Sqlite
|
||||
* [linuxfood/rustsqlite](https://github.com/linuxfood/rustsqlite): Sqlite3 bindings [<img src="https://travis-ci.org/kud1ing/rustsqlite.png?branch=master">](https://travis-ci.org/kud1ing/rustsqlite)
|
||||
|
||||
## Date and Time
|
||||
|
||||
Wanted library: [[Lib datetime]]
|
||||
|
||||
* [lifthrasiir/rust-chrono](https://github.com/lifthrasiir/rust-chrono)
|
||||
* [luisbg/rust-datetime](https://github.com/luisbg/rust-datetime)
|
||||
* [tedhorst/rust_datetime](https://github.com/tedhorst/rust_datetime)
|
||||
|
||||
## Embedded Languages
|
||||
* Lua
|
||||
* [kballard/rust-lua](https://github.com/kballard/rust-lua) (Lua 5.1): [<img src="https://travis-ci.org/kballard/rust-lua.png?branch=master">](https://travis-ci.org/kballard/rust-lua)
|
||||
* [tomaka/rust-hl-lua](https://github.com/tomaka/rust-hl-lua) (Lua 5.2)
|
||||
* Python
|
||||
* [lukemetz/rustpy](https://github.com/lukemetz/rustpy)
|
||||
|
||||
## Encoding
|
||||
* [Base64](https://github.com/mozilla/rust/blob/master/src/libserialize/base64.rs)
|
||||
* Cap'n Proto
|
||||
* [dwrensha/capnproto-rust](https://github.com/dwrensha/capnproto-rust): [<img src="https://travis-ci.org/dwrensha/capnproto-rust.png?branch=master">](https://travis-ci.org/dwrensha/capnproto-rust)
|
||||
* Character Encoding
|
||||
* [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding): [<img src="https://travis-ci.org/lifthrasiir/rust-encoding.png?branch=rust-0.9-pre">](https://travis-ci.org/lifthrasiir/rust-encoding)
|
||||
* CSV
|
||||
* [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv): [<img src="https://api.travis-ci.org/BurntSushi/rust-csv.png">](https://travis-ci.org/BurntSushi/rust-csv)
|
||||
* [Geal/rust-csv](https://github.com/Geal/rust-csv): [<img src="https://travis-ci.org/Geal/rust-csv.png?branch=master">](https://travis-ci.org/Geal/rust-csv)
|
||||
* Erlang External Term Format [(about)](http://erlang.org/doc/apps/erts/erl_ext_dist.html)
|
||||
* [seriyps/rust-erl-ext](https://github.com/seriyps/rust-erl-ext)
|
||||
* [LeebDeveloper/retf](https://github.com/LeebDeveloper/retf)
|
||||
* HTML
|
||||
* [veddan/rust-htmlescape](https://github.com/veddan/rust-htmlescape): [<img src="https://travis-ci.org/veddan/rust-htmlescape.png?branch=master">](https://travis-ci.org/veddan/rust-htmlescape)
|
||||
* [JSON](https://github.com/mozilla/rust/blob/master/src/libserialize/json.rs)
|
||||
* MsgPck
|
||||
* [mneumann/rust-msgpack](https://github.com/mneumann/rust-msgpack): [<img src="https://travis-ci.org/mneumann/rust-msgpack.png?branch=master">](https://travis-ci.org/mneumann/rust-msgpack)
|
||||
* ProtocolBuffers
|
||||
* [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf): [<img src="https://travis-ci.org/stepancheg/rust-protobuf.png?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf)
|
||||
* [tildeio/buffoon](https://github.com/tildeio/buffoon)
|
||||
* S-Expressions
|
||||
* [darkf/rust_sexpr](https://github.com/darkf/rust_sexpr)
|
||||
* TOML
|
||||
* [mneumann/rust-toml](https://github.com/mneumann/rust-toml): [<img src="https://travis-ci.org/mneumann/rust-toml.png?branch=master">](https://travis-ci.org/mneumann/rust-toml)
|
||||
* Tnetstring
|
||||
* [erickt/rust-tnetstring](https://github.com/erickt/rust-tnetstring): [<img src="https://travis-ci.org/erickt/rust-tnetstring.png?branch=master">](https://travis-ci.org/erickt/rust-tnetstring)
|
||||
* XML
|
||||
* [bjz/sax-rs](https://github.com/bjz/sax-rs): bindings to libxml2's SAX parser [<img src="https://travis-ci.org/bjz/sax-rs.png?branch=master">](https://travis-ci.org/bjz/sax-rs)
|
||||
* [DanielFath/xml-parser](https://github.com/DanielFath/xml-parser): A hybrid pull, DOM parser written in pure Rust [](https://travis-ci.org/DanielFath/xml-parser)
|
||||
* [Florob/RustyXML](https://github.com/Florob/RustyXML): an XML parser written in Rust
|
||||
* [netvl/rust-xml](https://github.com/netvl/rust-xml): a streaming XML library
|
||||
|
||||
## Graphics
|
||||
|
||||
* Gnuplot
|
||||
* [SiegeLord/RustGnuplot] (https://github.com/SiegeLord/RustGnuplot) [](https://travis-ci.org/SiegeLord/RustGnuplot)
|
||||
|
||||
See also [[Computer Graphics and Game Development]].
|
||||
|
||||
## GUI
|
||||
|
||||
* Cocoa
|
||||
* [mozilla-servo/rust-cocoa](https://github.com/mozilla-servo/rust-cocoa)
|
||||
* Conrod
|
||||
* [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod)
|
||||
* Gtk
|
||||
* [JeremyLetang/rgtk](https://github.com/JeremyLetang/rgtk)
|
||||
* ncurses
|
||||
* [drhodes/rust-ncurses](https://github.com/drhodes/rust-ncurses)
|
||||
* [eevee/amulet](https://github.com/eevee/amulet)
|
||||
* [jeaye/ncurses-rs](https://github.com/jeaye/ncurses-rs): [](https://travis-ci.org/jeaye/ncurses-rs.png)
|
||||
* [pnkfelix/rust-curses](https://github.com/pnkfelix/rust-curses)
|
||||
* Termbox
|
||||
* [gchp/rustbox](https://github.com/gchp/rustbox)
|
||||
* [apribadi/rust-termbox](https://github.com/apribadi/rust-termbox)
|
||||
* wxWidgets
|
||||
* [kenz-gelsoft/wxRust](https://github.com/kenz-gelsoft/wxRust): [](https://travis-ci.org/kenz-gelsoft/wxRust)
|
||||
|
||||
## IO
|
||||
* AIO, SIO, stdio
|
||||
* [filesystem](https://github.com/mozilla/rust/blob/master/src/libstd/os.rs)
|
||||
* [path manipulation](https://github.com/mozilla/rust/blob/master/src/libstd/path.rs)
|
||||
* <> or fileinput.
|
||||
* timers
|
||||
|
||||
## Localizability
|
||||
* one aspect of L10n is to map a key to a text, based on the current locale (eg Java's [ResourceBundle](http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html) or [GNU gettext](http://www.gnu.org/software/gettext/))
|
||||
* another aspect is to format a string based on the current locale (eg Java's [MessageFormat](http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html))
|
||||
* See [issue #4630](https://github.com/mozilla/rust/issues/4630)
|
||||
|
||||
## Mathematics
|
||||
|
||||
* [bjz/cgmath-rs](https://github.com/bjz/cgmath-rs) (Linear algebra and math library for graphics)
|
||||
* [bjz/lmath-rs](https://github.com/bjz/lmath-rs)
|
||||
* [cmr/linalg](https://github.com/cmr/linalg) (Linear algebra library)
|
||||
|
||||
## Misc
|
||||
* low-level OS services
|
||||
* [zargony/rust-fuse](https://github.com/zargony/rust-fuse): Library for filesystems in userspace (FUSE) [<img src="https://travis-ci.org/zargony/rust-fuse.png?branch=master">](https://travis-ci.org/zargony/rust-fuse)
|
||||
* Simple search on a filesystem (eg Ruby's [glob](http://ruby-doc.org/core-2.0/Dir.html#method-c-glob))
|
||||
* unit testing
|
||||
* FFI, ctypes
|
||||
* dlopen, os processes
|
||||
* standard predicates
|
||||
* text, numeric, sorted
|
||||
* error-trapping wrappers, in-place task?
|
||||
* Consistent error handling
|
||||
* quotas, accounting
|
||||
* reflection
|
||||
|
||||
## Networking
|
||||
|
||||
* GUID
|
||||
* [UUID](https://github.com/mozilla/rust/blob/master/src/libuuid/lib.rs)
|
||||
* NanoMsg
|
||||
* [glycerine/rust-nanomsg](https://github.com/glycerine/rust-nanomsg)
|
||||
* ZeroMQ
|
||||
* [erickt/rust-zmq](https://github.com/erickt/rust-zmq): [<img src="https://travis-ci.org/erickt/rust-zmq.png?branch=master">](https://travis-ci.org/erickt/rust-zmq)
|
||||
* STOMP
|
||||
* [zslayton/stomp-rs](https://github.com/zslayton/stomp-rs): [<img src="https://travis-ci.org/zslayton/stomp-rs.png?branch=master">](https://travis-ci.org/zslayton/stomp-rs)
|
||||
|
||||
## NoSQL
|
||||
See [Database Access](Community-libraries#wiki-database-access)
|
||||
|
||||
## Operating system specific
|
||||
|
||||
* Windows
|
||||
* [klutzy/rust-windows](https://github.com/klutzy/rust-windows): Win32/Win64 wrapper for Rust
|
||||
|
||||
## Parser Generator
|
||||
|
||||
* [erickt/ragel](https://github.com/erickt/ragel)
|
||||
* [jesse99/rparse](https://github.com/jesse99/rparse)
|
||||
* [kevinmehall/rust-peg](https://github.com/kevinmehall/rust-peg)
|
||||
* [Valloric/nailed](https://github.com/Valloric/nailed): A Rust PEG parser generator
|
||||
* [ptal/Rust.peg](https://github.com/ptal/Rust.peg): Parser and AST generator, on-going work.
|
||||
|
||||
## Random Numbers
|
||||
* [random](https://github.com/mozilla/rust/blob/master/src/libcstd/rand.rs)
|
||||
|
||||
## Regular Expressions
|
||||
See the [regex crate](http://doc.rust-lang.org/regex/).
|
||||
|
||||
* [glennsl/rust-re](https://github.com/glennsl/rust-re)
|
||||
* [sanxiyn/rree](https://github.com/sanxiyn/rree)
|
||||
* PCRE
|
||||
* [cadencemarseille/rust-pcre](https://github.com/cadencemarseille/rust-pcre): [](https://travis-ci.org/cadencemarseille/rust-pcre)
|
||||
* [erickt/rustpcre](https://github.com/erickt/rustpcre)
|
||||
* [uasi/rust-pcre](https://github.com/uasi/rust-pcre): [<img src="https://travis-ci.org/uasi/rust-pcre.png?branch=master">](https://travis-ci.org/uasi/rust-pcre)
|
||||
* re2
|
||||
* [nickdesaulniers/rust-re2](https://github.com/nickdesaulniers/rust-re2)
|
||||
|
||||
## String manipulation
|
||||
* Slicing w/o copy, stringref
|
||||
* Ropes
|
||||
* Tokenizer
|
||||
* Unicode
|
||||
* [Unicode](https://github.com/mozilla/rust/blob/master/src/libextra/unicode.rs)
|
||||
* Convertions between text encodings. Ideally, with a customizable way of handling conversion errors.
|
||||
* Unicode normalization (NFD, NFC, NFKD, NFKC)
|
||||
* Collator (locale sensitive string comparison), with a configurable degree of strictness
|
||||
|
||||
## SQL
|
||||
See [Database Access](Community-libraries#wiki-database-access)
|
||||
|
||||
## Template engine
|
||||
|
||||
* Mustache
|
||||
* [erickt/rust-mustache](https://github.com/erickt/rust-mustache): [<img src="https://travis-ci.org/erickt/rust-mustache.png?branch=master">](https://travis-ci.org/erickt/rust-mustache)
|
||||
|
||||
|
||||
## Testing
|
||||
|
||||
* QuickCheck
|
||||
* [mcandre/rustcheck](https://github.com/mcandre/rustcheck)
|
||||
* [BurntSushi/quickcheck](https://github.com/BurntSushi/quickcheck): [<img src="https://api.travis-ci.org/BurntSushi/quickcheck.png">](https://travis-ci.org/BurntSushi/quickcheck)
|
||||
|
||||
## Web Programming
|
||||
|
||||
See also http://arewewebyet.com/
|
||||
|
||||
* common client + server functionality
|
||||
* [chris-morgan/rust-http](https://github.com/chris-morgan/rust-http): Superceeded by Teepee [<img src="https://travis-ci.org/chris-morgan/rust-http.png?branch=master">](https://travis-ci.org/chris-morgan/rust-http)
|
||||
* [teepee/teepee](https://github.com/teepee/teepee) [<img src="https://travis-ci.org/teepee/teepee.png?branch=master">](https://travis-ci.org/teepee/teepee)
|
||||
* [SimonSapin/rust-url](https://github.com/SimonSapin/rust-url)
|
||||
* [url.rs](https://github.com/mozilla/rust/blob/master/src/liburl/lib.rs)
|
||||
* client
|
||||
* [andelf/rust-httpc](https://github.com/andelf/rust-httpc)
|
||||
* [carllerche/curl-rust](https://github.com/carllerche/curl-rust)
|
||||
* server framework
|
||||
* [conduit-rust/conduit](https://github.com/conduit-rust/conduit)
|
||||
* [Earlz/rustymvc](https://github.com/Earlz/rustymvc)
|
||||
* [erickt/rust-mongrel2](https://github.com/erickt/rust-mongrel2): bindings for the [Mongrel2](http://mongrel2.org) webserver
|
||||
* [iron/iron](https://github.com/iron/iron): Middleware based, concurrency oriented pure Rust framework.
|
||||
* [jroweboy/oxidize](https://github.com/jroweboy/oxidize)
|
||||
* [nickel-org/nickel.rs](https://github.com/nickel-org/nickel.rs): inspired by Express.js, which is inspired by Sinatra.
|
||||
* [Ogeon/rustful](https://github.com/Ogeon/rustful): [<img src="https://travis-ci.org/Ogeon/rustful.png?branch=master">](https://travis-ci.org/Ogeon/rustful)
|
||||
* [skade/widmann](https://github.com/skade/widmann): inspired by Sinatra. [<img src="https://travis-ci.org/skade/widmann.png?branch=master">](https://travis-ci.org/skade/widmann)
|
||||
* [WebeWizard/libhttpd](https://github.com/WebeWizard/libhttpd)
|
||||
* [nathansizemore/rustic-io](https://github.com/nathansizemore/rustic-io): Websocket abstraction inspired by socket.io [<img src="https://travis-ci.org/nathansizemore/rustic-io.png?branch=master">](https://travis-ci.org/nathansizemore/rustic-io)
|
||||
|
||||
## XML
|
||||
See [Encoding](Community-libraries#encoding)
|
||||
Reference in New Issue
Block a user