process 3.0.1

  • Installing
  • Versions
  • 95


Build Status - Coverage Status -

A generic process invocation abstraction for Dart.

Like dart:io, package:process supplies a rich, Dart-idiomatic API for spawning OS processes.

Unlike dart:io, package:process:

  • Can be used to implement custom process invocation backends.
  • Comes with a record-replay implementation out-of-the-box, making it super easy to test code that spawns processes in a hermetic way.


  • General cleanup


  • Cleanup getExecutablePath() to better respect the platform


  • Bumped package:file dependency


  • Fixed method getArguments to qualify the map method with the specific String type


  • Remove set exitCode instances


  • Fix SDK constraint.
  • rename .analysis_options file to analaysis_options.yaml.
  • Use covariant in place of @checked.
  • Update comment style generics.


  • Bumped maximum Dart SDK version to 2.0.0-dev.infinity


  • relax dependency requirement for intl


  • relax dependency requirement for platform


  • Fix a strong mode function expression return type inference bug with Dart 1.23.0-dev.10.0.


  • Fixed bug in ReplayProcessManager whereby it could try to write to stdout or stderr after the streams were closed.


  • Bumped package:file dependency to 2.0.1


  • Added support to transparently find the right executable under Windows.


  • The executable and arguments parameters have been merged into one command parameter in the run, runSync, and start methods of ProcessManager.
  • Added support for sanitization of command elements in RecordingProcessManager and ReplayProcessManager via the CommandElement class.


  • Initial version

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  process: "^3.0.1"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter packages get

Alternatively, your editor might support pub get or flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

      import 'package:process/process.dart';
Version Uploaded Documentation Archive
3.0.1 Apr 10, 2018 Go to the documentation of process 3.0.1 Download process 3.0.1 archive
3.0.0 Apr 9, 2018 Go to the documentation of process 3.0.0 Download process 3.0.0 archive
2.0.9 Mar 20, 2018 Go to the documentation of process 2.0.9 Download process 2.0.9 archive
2.0.8 Mar 7, 2018 Go to the documentation of process 2.0.8 Download process 2.0.8 archive
2.0.7 Jan 2, 2018 Go to the documentation of process 2.0.7 Download process 2.0.7 archive
2.0.6 Nov 1, 2017 Go to the documentation of process 2.0.6 Download process 2.0.6 archive
2.0.5 Jul 13, 2017 Go to the documentation of process 2.0.5 Download process 2.0.5 archive
2.0.4 Jul 11, 2017 Go to the documentation of process 2.0.4 Download process 2.0.4 archive
2.0.3 Apr 5, 2017 Go to the documentation of process 2.0.3 Download process 2.0.3 archive
2.0.2 Mar 27, 2017 Go to the documentation of process 2.0.2 Download process 2.0.2 archive

All 15 versions...


We analyzed this package on Jun 19, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.63.0
  • pana: 0.11.3


Describes how popular the package is relative to other packages. [more]
95 / 100
Code health derived from static analysis. [more]
96 / 100
Reflects how tidy and up-to-date the package is. [more]
95 / 100
Overall score:
Weighted score of the above. [more]
Learn more about scoring.


Detected platforms: Flutter, other

Primary library: package:process/process.dart with components: io.


  • Use constrained dependencies.

    The pubspec.yaml contains 2 dependencies without version constraints. Specify version ranges for the following dependencies: file, platform.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 38 hints.

    Strong-mode analysis of lib/src/interface/local_process_manager.dart gave the following hint:

    line: 59 col: 30
    'SYSTEM_ENCODING' is deprecated and shouldn't be used.

    Strong-mode analysis of lib/src/interface/process_manager.dart gave the following hint:

    line: 123 col: 28
    'SYSTEM_ENCODING' is deprecated and shouldn't be used.

    Similar analysis of the following files failed:

    • lib/src/record_replay/recording_process_manager.dart (hint)
    • lib/src/record_replay/replay_process_manager.dart (hint)
    • lib/src/record_replay/run_manifest_entry.dart (hint)
  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use process.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.28.0 <2.0.0
file >=2.0.1 5.0.1
intl >=0.14.0 <0.16.0 0.15.6
meta ^1.1.2 1.1.5
path ^1.5.1 1.6.1
platform >=1.0.1 2.1.2
Dev dependencies
test ^0.12.33