dtorrent_task 0.4.0 copy "dtorrent_task: ^0.4.0" to clipboard
dtorrent_task: ^0.4.0 copied to clipboard

BitTorrent download client package written by pure Dart language.

12
likes
140/ 160
pub points
59%
popularity

We analyzed this package 4 days ago, and awarded it 140 pub points (of a possible 160):

partial
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

Issue tracker URL doesn't exist.

At the time of the analysis https://github.com/moham96/dtorrent_task/issues was unreachable. Make sure that the website is reachable via HEAD requests.

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: BSD-3-Clause.

OK
Provide documentation
20 / 20trigger folding of the section

10/10 points: 20% or more of the public API has dartdoc comments

95 out of 363 API elements (26.2 %) have documentation comments.

Some symbols that are missing documentation: dtorrent_task, dtorrent_task.AllComplete, dtorrent_task.AllComplete.AllComplete, dtorrent_task.BITFIELD_TYPE, dtorrent_task.BadException.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Web

Because:

  • package:dtorrent_task/dtorrent_task.dart that imports:
  • package:dtorrent_task/src/task_events.dart that imports:
  • package:dtorrent_task/src/file/download_file_manager_events.dart that imports:
  • package:dtorrent_task/src/file/download_file.dart that imports:
  • package:dtorrent_task/src/piece/piece_base.dart that imports:
  • package:dtorrent_task/src/piece/piece.dart that imports:
  • package:dtorrent_task/src/utils.dart that imports:
  • package:dtorrent_common/dtorrent_common.dart that imports:
  • package:dtorrent_common/src/dtorrent_common_base.dart that imports:
  • dart:io

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:dtorrent_task/dtorrent_task.dart that imports:
  • package:dtorrent_task/src/task_events.dart that imports:
  • package:dtorrent_task/src/file/download_file_manager_events.dart that imports:
  • package:dtorrent_task/src/file/download_file.dart that imports:
  • package:dtorrent_task/src/piece/piece_base.dart that imports:
  • package:dtorrent_task/src/piece/piece.dart that imports:
  • package:dtorrent_task/src/utils.dart that imports:
  • package:dtorrent_common/dtorrent_common.dart that imports:
  • package:dtorrent_common/src/dtorrent_common_base.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

failed
Pass static analysis
30 / 50trigger folding of the section

30/50 points: code has no errors, warnings, lints, or formatting issues

Found 12 issues. Showing the first 2:

WARNING: The value of the field '_e' isn't used.

lib/src/peer/protocol/peer.dart:1209:19

     ╷
1209 │   final Exception _e;
     │                   ^^
     ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/peer/protocol/peer.dart

INFO: The variable name 'LSD_HOST_STRING' isn't a lowerCamelCase identifier.

lib/src/lsd/lsd.dart:14:23

   ╷
14 │   static final String LSD_HOST_STRING = '239.192.152.143:6771\r\n';
   │                       ^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/lsd/lsd.dart

OK
Support up-to-date dependencies
40 / 40trigger folding of the section

10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
args ^2.4.2 2.5.0 2.5.0
b_encode_decode ^1.0.4 1.0.4 1.0.4
bittorrent_dht ^0.0.10 0.0.12 0.0.12
collection ^1.0.0 1.19.0 1.19.0
crypto ^3.0.3 3.0.5 3.0.5
dart_ipify ^1.1.1 1.1.1 1.1.1
dtorrent_common ^1.0.5 1.0.7 1.0.7
dtorrent_parser ^1.0.8 1.0.8 1.0.8
dtorrent_tracker ^1.3.17 1.3.18 1.3.18
events_emitter2 ^1.0.3 1.0.4 1.0.4
logging ^1.2.0 1.2.0 1.2.0
mime ^1.0.4 1.0.6 2.0.0
utp_protocol ^1.0.4 1.0.4 1.0.4
Transitive dependencies
Package Constraint Compatible Latest
async - 2.11.0 2.11.0
http - 1.2.2 1.2.2
http_parser - 4.1.0 4.1.0
meta - 1.16.0 1.16.0
path - 1.9.0 1.9.0
source_span - 1.10.0 1.10.0
string_scanner - 1.3.0 1.3.0
synchronized - 3.3.0+3 3.3.0+3
term_glyph - 1.2.1 1.2.1
typed_data - 1.3.2 1.3.2
web - 1.1.0 1.1.0

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

The constraint `^1.0.4` on mime does not support the stable version `2.0.0`, that was published 0 days ago.

When mime is 30 days old, this package will no longer be awarded points in this category.

Try running dart pub upgrade --major-versions mime to update the constraint.

10/10 points: Package supports latest stable Dart and Flutter SDKs

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.12, Dart 3.5.3.

Check the analysis log for details.