Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anowell/are-we-learning-yet
How ready is Rust for Machine Learning?
https://github.com/anowell/are-we-learning-yet
machine-learning
Last synced: 3 months ago
JSON representation
How ready is Rust for Machine Learning?
- Host: GitHub
- URL: https://github.com/anowell/are-we-learning-yet
- Owner: anowell
- License: cc-by-4.0
- Created: 2016-06-22T04:11:18.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T00:13:13.000Z (7 months ago)
- Last Synced: 2024-04-16T22:33:07.778Z (7 months ago)
- Topics: machine-learning
- Language: Rust
- Homepage: http://arewelearningyet.com
- Size: 9.86 MB
- Stars: 422
- Watchers: 23
- Forks: 60
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# are-we-learning-yet
**Rust is a systems programming language, but is it a machine learning language?**
[arewelearningyet.com](http://arewelearningyet.com)
Inspired by [Are We Web Yet?](http://arewewebyet.org/), this project aims to catalog the the Rust ML ecosystem.
## Contributing
Feedback, issues, and pull requests are welcome and appreciated for adding missing crates,
providing additional resources, or improving the content.### Running locally
- Requires [`cobalt >=0.17.5`](https://cobalt-org.github.io/)
- Recommend [`just`](https://github.com/casey/just) as a task runner (or using the commands in the [Justfile](Justfile))```
# GitHub OAuth token avoids 403 rate limiting errors while generated crate data
# Tip: set in `.env` file and `just` will pick it up automatically
export GITHUB_TOKEN=# Scrape crate/repo data for sitegen
just scrape# Start a dev server on port 3000
cobalt serve
```The site should be running on [localhost:3000](http://localhost:3000)
### How it works
The repo consists of 2 key parts:
- **the scraper tool** is responsible for reading [crates.yaml](_data/crates.yaml), fetching
additional metadata about the crate from crates.io and the GitHub API, and generating a score used for ordering crates.
The fetched data is cached in a `_tmp` directory to speed up repeated site generation and avoid abusing the APIs,
and the scraper outputs `_data/crates_generated.yaml` which is used by the cobalt site generation. To force regeneration
of all crate data, remove the cached data with `just clean`. For more details, see the [scraper README](_scraper).
- **the site content** is the rest of the repo which follows the layout established by [cobalt.rs](https://cobalt-org.github.io/).
Cobalt uses this content to generate a static site into a `_site` directory (`cobalt build`) and can also start a local development
server that rebuilds the site anytime content changes (`cobalt serve`). For more details, see
[cobalt.rs](https://cobalt-org.github.io/) documentation.Note: `cobalt serve` does not trigger the scraper to rerun when `crates.yaml` (or the scraper) changes. Currently you must rerun `just scrape`
to update `crates_generated.yaml`.### Publishing
[arewelearningyet.com](arewelearningyet.com) is served by Github Pages.
Every merge into master is automatically published by a [Github Actions job](.github/workflows).Additionally, to ensure crate statistics (download counts and stars)
are regularly updated, the publishing task is also run as a weekly cron job.