pen 0.1.7

  • Installing
  • Versions
  • 51

pen pub package Build Status

A pubspec authoring tool. (forked from den)


pub global activate pen


# `pen ...` requires Dart >=1.7, on 1.6 use `pub global run pen ...`

# Create a pubspec.  Field value prompts default to your local git info.
pen spec
# Bypass prompts, accept defaults.
pen spec --force

# Bump your pubspec version (and do a tagged version commit if in a git repo)
pen bump patch               # 1.2.3 -> 1.2.4
pen bump minor               # 1.2.3 -> 1.3.0
pen bump major --pre-id beta # 1.2.3 -> 2.0.0-beta.0
pen bump release --pre       # 1.0.0-dev.2 -> 1.0.0-dev.3
pen bump release             # 1.0.0-dev.2 -> 1.0.0
pen bump build               # 1.0.2+1 -> 1.0.2+2
pen bump breaking            # 0.5.1 -> 0.6.0 / 1.2.3 -> 2.0.0
pen bump 1.2.3-dev           # 1.2.2 -> 1.2.3-dev
pen bump minor -m "ver{v}"   # Custom commit message.

# Install dependencies (defaults to '>={latest stable} <{next breaking}')
pen install polymer browser
pen install unittest --dev
pen install polymer#any
pen install git:// -sgit
pen install git:// -sgit
pen install path/to/foo -spath

# Uninstall dependencies
pen uninstall junk kludge

# Keep dependencies up-to-date

# Show outdated (all by deafult)
pen fetch
pen fetch polymer

# Update outdated to '>={latest stable} <{next breaking}' (all by default)
pen pull
pen pull polymer

# Install comprehensive TAB-completion for pen
pen completion install

# Complete commands, options, package names, etc.
pen i[TAB] -> install
pen install unit[TAB] -> unittest
pen uninstall j[TAB] -> junk
pen fetch p[TAB] -> polymer
pen pull p[TAB] -> polymer

###Package Authors

Add the following package installation instructions to your README:

pub global activate pen
pen install <your package name>

##^ Constraints

pen install and pen pull will take advantage of ^ constraints e.g. ^1.2.3 if either of:

  • Your sdk constraint disallows pre-1.8.0 SDKs when ^ was introduced.
  • You pass the --caret flag, which updates your sdk constraint for you.

Otherwise, they will use range syntax e.g. >=1.2.3 <2.0.0

##Programmatic Usage

The underlying functionality is available as a Dart API through the pen_api package, which this package is merely a command-line interface for.


pen install was inspired by npm install --save and bower install --save pen fetch and pen pull were inspired by david and david update.


  • Forked

Use this package as an executable

1. Install it

You can install the package from the command line:

$ pub global activate pen

2. Use it

The package has the following executables:

$ pen
Version Uploaded Documentation Archive
0.1.9 Dec 9, 2017 Go to the documentation of pen 0.1.9 Download pen 0.1.9 archive
0.1.8 Dec 2, 2017 Go to the documentation of pen 0.1.8 Download pen 0.1.8 archive
0.1.7 Dec 2, 2017 Go to the documentation of pen 0.1.7 Download pen 0.1.7 archive


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

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


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


Detected platforms: unsure

Error(s) prevent platform classification:

Fix dependencies in pubspec.yaml.


  • Fix dependencies in pubspec.yaml.

    Running pub upgrade failed with the following output:

    ERR: Because every version of pen_api depends on github ^3.0.0 which depends on quiver >=0.20.0 <0.25.0, every version of pen_api requires quiver >=0.20.0 <0.25.0.
     So, because pen depends on both quiver ^0.18.2 and pen_api ^0.1.1, version solving failed.
  • Fix platform conflicts.

    Error(s) prevent platform classification:

    Fix dependencies in pubspec.yaml.

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • 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 pen.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.8.0 <2.0.0