Coder Social home page Coder Social logo

areweasyncyet.rs's Introduction

Are we async yet

Build Status

areweasyncyet.rs is a website for tracking development progress of async/await syntax of Rust programming language in the language itself as well as its ecosystem.

It's implemented as a static page generator, and deployed to GitHub Pages via Travis.

Building

To build the site locally, you would need a GitHub personal access token for fetching data from GitHub. You can refer to this article for how to create such token.

Once you get the token, put it into .env file like this:

GITHUB_TOKEN={your token}

and then execute cargo run.

You may also want to enable logs by adding

RUST_LOG=areweasyncyet=debug

to the .env file.

From there, the generated HTML will be in the _site directory. You can use any web server to check it out in your browser:

cd _site
python3 -m http.server

Development

The Rust code handles issue data from GitHub. Content mainly resides in data.yml and templates directory.

After the first execution, fetched data will be stored in cache.json file in the current directory to avoid repeatedly fetching data when updating data.yml and templates. If the latest data from GitHub is needed, simply remove the cache.json file.

areweasyncyet.rs's People

Contributors

95th avatar anirudhrowjee avatar blackgear avatar cassaundra avatar centril avatar diwic avatar dtolnay avatar ftt avatar huxi avatar johntitor avatar nihaals avatar nodakai avatar ohsayan avatar orhideous avatar pjenvey avatar rubdos avatar sclaire-1 avatar upsuper avatar xvilka avatar yoshuawuyts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

areweasyncyet.rs's Issues

proposal: track executor/reactor independence?

Howdie folks, love what you're doing here <3

I want the ecosystem to be in a state where my choice of future's reactor/executor has nothing to do with the HTTP client library, etc

I noticed this today: seanmonstar/reqwest#1060

There are loads of cases where libraries expect specific reactors/executors and don't export agnostic Futures that don't care about how they are executed

Imagine being able to select an arbitrary HTTP or DB client from crates.io and not have it break because you updated the executor, or just happened to use an entirely different executor

At the moment it seems like you basically have to choose tokio or async-std first, and then hope that this half of the ecosystem has the library you need

To me, this seems like an important milestone for the Rust community to track

Cheers!

Request: async ecosystem monitoring

Some comments on your reddit post point towards the wish to monitor the ecosystem: tokio/romio, maybe other executors.

Since there was no issue on here to discuss how these could be represented on the areweasyncyet.rs website, I figured I should open one.

Actix: async ecosystem

How about an Actix mention in async ecosystem?

Something like:

Actix provides a higher-level abstraction for tokio which simplifies the creation and management of tokio event loops.

Bold "asynchronous I/O is already possible"

This would make it more obvious that it's already possible since at first glance you see

async syntax and blockers

async/await syntax not stabilized yet

which might make it seem like it's "not possible" or "not easy" if you fail to register the word "syntax" entirely.

Move repository to rust-lang

Hello, the current rustasync organisation is considered deprecated, and the Rust Programming Language organisation is trying to consolidate managing Rust's GitHub organisations, as such we'd like you to consider moving your repository to the main rust-lang organisation instead.

How Do I Move To rust-lang?

You won't be able to transfer your repository directly, you'll need to transfer your repository to @Mark-Simulacrum, who will then move your repository to the rust-lang organisation. They will also be able to assist with joining the organization if you aren't a member already.

cc/ @upsuper

Prominently track RFC 2071 (Named existentials and impl Trait variable declarations)

rust-lang/rfcs#2071

This is a major component of the usability of async code in Rust that seems often left out of the discussion of the viability of Rust for async code. Without it you can't have an async fn or return an impl Trait type from a trait method. I think it should be added as one of the bullet points to the "async syntax and blockers" section.

Unfortunately its tracking issue (rust-lang/rust#44686) was closed in favor of the larger rust-lang/rust#34511 so I'm not sure how well its implementation and stabilization status can be tracked.

Filter out issues with "AsyncAwait-Deferred" label

Currently 23 of the 32 open "A-async-await" issues are also "AsyncAwait-Deferred". That label is for issues that are not expected to block async-await stabilization, so perhaps they should be filtered out?

Set up GitHub releases

I'd like to propose that GitHub releases are used and cut each time a new version of the site goes up so that people can select Watch Releases and GitHub and subscribe this way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.