diff --git a/Community-libraries.md b/Community libraries.md similarity index 97% rename from Community-libraries.md rename to Community libraries.md index 99922cb..2157f68 100644 --- a/Community-libraries.md +++ b/Community libraries.md @@ -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 [](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 [](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): [](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): [](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) [](https://travis-ci.org/mitsuhiko/redis-rs) - * [mneumann/rust-redis](https://github.com/mneumann/rust-redis) [](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): [](https://travis-ci.org/blackbeam/rust-mysql-simple) - * PostgreSql - * [sfackler/rust-postgres](https://github.com/sfackler/rust-postgres): [](https://travis-ci.org/sfackler/rust-postgres) - * Sqlite - * [linuxfood/rustsqlite](https://github.com/linuxfood/rustsqlite): Sqlite3 bindings [](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): [](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): [](https://travis-ci.org/dwrensha/capnproto-rust) -* Character Encoding - * [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding): [](https://travis-ci.org/lifthrasiir/rust-encoding) -* CSV - * [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv): [](https://travis-ci.org/BurntSushi/rust-csv) - * [Geal/rust-csv](https://github.com/Geal/rust-csv): [](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): [](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): [](https://travis-ci.org/mneumann/rust-msgpack) -* ProtocolBuffers - * [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf): [](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): [](https://travis-ci.org/mneumann/rust-toml) -* Tnetstring - * [erickt/rust-tnetstring](https://github.com/erickt/rust-tnetstring): [](https://travis-ci.org/erickt/rust-tnetstring) -* XML - * [bjz/sax-rs](https://github.com/bjz/sax-rs): bindings to libxml2's SAX parser [](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 [![Build Status](https://travis-ci.org/DanielFath/xml-parser.png?branch=master)](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) [![Build Status](https://travis-ci.org/SiegeLord/RustGnuplot.png)](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): [![Build Status](https://travis-ci.org/jeaye/ncurses-rs.png?branch=master)](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): [![Build Status](https://travis-ci.org/kenz-gelsoft/wxRust.png?branch=master)](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) [](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): [](https://travis-ci.org/erickt/rust-zmq) -* STOMP - * [zslayton/stomp-rs](https://github.com/zslayton/stomp-rs): [](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): [![cadencemarseille/rust-pcre Build Status](https://travis-ci.org/cadencemarseille/rust-pcre.png?branch=master)](https://travis-ci.org/cadencemarseille/rust-pcre) - * [erickt/rustpcre](https://github.com/erickt/rustpcre) - * [uasi/rust-pcre](https://github.com/uasi/rust-pcre): [](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): [](https://travis-ci.org/erickt/rust-mustache) - - -## Testing - -* QuickCheck - * [mcandre/rustcheck](https://github.com/mcandre/rustcheck) - * [BurntSushi/quickcheck](https://github.com/BurntSushi/quickcheck): [](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 [](https://travis-ci.org/chris-morgan/rust-http) - * [teepee/teepee](https://github.com/teepee/teepee) [](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): [](https://travis-ci.org/Ogeon/rustful) - * [skade/widmann](https://github.com/skade/widmann): inspired by Sinatra. [](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 [](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 [](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 [](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): [](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): [](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) [](https://travis-ci.org/mitsuhiko/redis-rs) + * [mneumann/rust-redis](https://github.com/mneumann/rust-redis) [](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): [](https://travis-ci.org/blackbeam/rust-mysql-simple) + * PostgreSql + * [sfackler/rust-postgres](https://github.com/sfackler/rust-postgres): [](https://travis-ci.org/sfackler/rust-postgres) + * Sqlite + * [linuxfood/rustsqlite](https://github.com/linuxfood/rustsqlite): Sqlite3 bindings [](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): [](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): [](https://travis-ci.org/dwrensha/capnproto-rust) +* Character Encoding + * [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding): [](https://travis-ci.org/lifthrasiir/rust-encoding) +* CSV + * [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv): [](https://travis-ci.org/BurntSushi/rust-csv) + * [Geal/rust-csv](https://github.com/Geal/rust-csv): [](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): [](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): [](https://travis-ci.org/mneumann/rust-msgpack) +* ProtocolBuffers + * [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf): [](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): [](https://travis-ci.org/mneumann/rust-toml) +* Tnetstring + * [erickt/rust-tnetstring](https://github.com/erickt/rust-tnetstring): [](https://travis-ci.org/erickt/rust-tnetstring) +* XML + * [bjz/sax-rs](https://github.com/bjz/sax-rs): bindings to libxml2's SAX parser [](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 [![Build Status](https://travis-ci.org/DanielFath/xml-parser.png?branch=master)](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) [![Build Status](https://travis-ci.org/SiegeLord/RustGnuplot.png)](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): [![Build Status](https://travis-ci.org/jeaye/ncurses-rs.png?branch=master)](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): [![Build Status](https://travis-ci.org/kenz-gelsoft/wxRust.png?branch=master)](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) [](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): [](https://travis-ci.org/erickt/rust-zmq) +* STOMP + * [zslayton/stomp-rs](https://github.com/zslayton/stomp-rs): [](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): [![cadencemarseille/rust-pcre Build Status](https://travis-ci.org/cadencemarseille/rust-pcre.png?branch=master)](https://travis-ci.org/cadencemarseille/rust-pcre) + * [erickt/rustpcre](https://github.com/erickt/rustpcre) + * [uasi/rust-pcre](https://github.com/uasi/rust-pcre): [](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): [](https://travis-ci.org/erickt/rust-mustache) + + +## Testing + +* QuickCheck + * [mcandre/rustcheck](https://github.com/mcandre/rustcheck) + * [BurntSushi/quickcheck](https://github.com/BurntSushi/quickcheck): [](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 [](https://travis-ci.org/chris-morgan/rust-http) + * [teepee/teepee](https://github.com/teepee/teepee) [](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): [](https://travis-ci.org/Ogeon/rustful) + * [skade/widmann](https://github.com/skade/widmann): inspired by Sinatra. [](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 [](https://travis-ci.org/nathansizemore/rustic-io) + +## XML See [Encoding](Community-libraries#encoding) \ No newline at end of file