Skip to main content

No project description provided

Project description

Define your per-directory command aliases in Yaml, to get quick shortcuts (and avoid having to remember long commands).

WARNING: This project is still experimental, and things may change suddenly. Suggestions are welcome.

Configuration

Configuration is held in a file, usually named ./.aliases, as a dictionary serialized in YAML format.

The main section is commands, a dict mapping alias names to their specification.

Command specification

  • command: command to be run, as a string

    • will be tokenized via shlex.split

    • string-format-style placeholders will be replaced:

      • positional arguments ({}, {1}) -> variadic arguments to the command

      • ..or explicit: {args[1]}

      • environment: {env[USER]}

      • vars (see below): {vars[USER]}

      • extra arguments will be appended to the command

  • env: environment for the command

    • not considered in string formatting

    • will go through the same formatting as commands

  • vars: to be replaced in env/command formatting

Notes

  • we want some way to prevent automatic appending of varargs

  • we might want to use jinja for formatting, so we can have conditionals / defaults

  • we might want inheritance, rather than having “nested” aliasing

Examples

commands:
  test:
    command: xvfb-run py.test --reuse-db -vvv ./tests/
    env:
      DJANGO_SETTINGS_MODULE: fooproject.settings.testing
      PYTHONPATH: "{env[HOME]}/Projects/fooproject"
commands:
  manage:
    command: python manage.py
    env:
      DJANGO_SETTINGS_MODULE: fooproject.settings.testing
      PYTHONPATH: "{env[HOME]}/Projects/fooproject"
      LOG_LEVEL: DEBUG

  runserver:
    command: aliasfile manage runserver

  migrate:
    command: aliasfile manage migrate

  shell:
    command: aliasfile manage shell

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aliasfile-0.1.1.tar.gz (9.0 kB view hashes)

Uploaded Source

Built Distributions

aliasfile-0.1.1-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

aliasfile-0.1.1-py2-none-any.whl (12.0 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page