https://github.com/a-k-o-r-a/crates_api
Dart package to access the crates.io api.
https://github.com/a-k-o-r-a/crates_api
api-wrapper crates-io dart dart-library rust
Last synced: 2 months ago
JSON representation
Dart package to access the crates.io api.
- Host: GitHub
- URL: https://github.com/a-k-o-r-a/crates_api
- Owner: A-K-O-R-A
- License: mit
- Created: 2022-12-15T18:10:31.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-18T16:15:33.000Z (over 3 years ago)
- Last Synced: 2025-01-29T17:44:40.245Z (over 1 year ago)
- Topics: api-wrapper, crates-io, dart, dart-library, rust
- Language: Dart
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://pub.dev/packages/crates_api)
[](https://pub.dev/packages/crates_api/publisher)
## Crates.io API Wrapper for Dart
This wrapper lets you easily interact with the crates.io api.
- Exposes all API types
- Simple dart api
- _soon_ 100% API Coverage
Note: Before using this package you should read the [Crates.io Package Policies](https://crates.io/policies#crawlers).
## Example
See `example/example.dart`
```dart
import 'package:crates_api/crates_api.dart';
import 'package:crates_api/types/v1/error.dart';
void main() async {
var api = CratesAPI("crates_api.dart testing");
var versionR = api.crate("diesel").version("2.0.2");
try {
var versionMetadata = await versionR.metadata();
var versionDownloads = await versionR.downloads();
var checksum = versionMetadata.checksum;
print(
"Checksum of diesel version 2.0.2 $checksum",
);
var downloadEntry = versionDownloads[0];
var entryVersion = downloadEntry.version;
var entryDate = downloadEntry.date;
var entryDownloads = downloadEntry.downloads;
print(
"Version $entryVersion was downloaded $entryDownloads times on $entryDate");
} on APIException catch (e) {
print(e.errors.map((e) => e.detail));
}
}
```