skip to navigation
skip to content

Not Logged In

madseq 0.4.1

Parser/transformator for MAD-X sequences

Latest Version: 0.4.4

Description

Script to parse MAD-X sequences from a source file and perform simple transformations on the elements.

Dependencies

  • docopt to parse command line options
  • pydicti to store and access element attributes
  • pyyaml to parse slicing definition and use YAML output format

Installation

The setup is to be performed as follows

python setup.py install

Usage

The command should be called as follows:

Usage:
    madseq.py [-j|-y] [-s <slice>] [<input>] [<output>]
    madseq.py (--help | --version)

Options:
    -j, --json                      Use JSON as output format
    -y, --yaml                      Use YAML as output format
    -s <slice>, --slice=<slice>     Set slicing definition file
    -h, --help                      Show this help
    -v, --version                   Show version information

If <input> is not specified the standard input stream will be used to read the input file. Respectively, the standard output stream will be used if <output> is not specified.

The slicing definition defines a list of slicing instructions where each entry is a dictionary with the following groups of mutually exclusive keys:

str type: match only elements with the specified type
str name: match only elements with the specified name

bool use_at: use manually entered AT values, default is True

float density: slice element with the specified number of slices per meter
int slice: slice element using a fixed count, default=1

bool makethin: whether to convert the slices to MULTIPOLE

bool template: whether to put a template for the element in front

str style: slicing style, either 'uniform' or 'loop', defaults to 'uniform'

Example file:

- type: drift
  density: 10
- name: B1DK1
  slice: 10
  makethin: true
  style: uniform

Note, that even if an element is matched by multiple rules, only the first one will be used.

Caution

  • Do not use multi line commands in the input sequences. At the moment these are not parsed correctly!
  • Do not add any at= position arguments in the input sequences. The madseq script takes care of this responsibility.

Changelog

0.4.1

  • use different names for slices
  • fix sequence name in comment before templates

0.4.0

  • add ‘use_at’ slicing option that enables to use AT values

0.3.2

  • internal: remove attribute access for Element properties
  • fix bugged Element.copy and .__contains__ regarding to base elements
  • fix JSON/YAML serialization errors
  • fix bugged implementation for predefined elements
  • fix bugged LOOP style
  • fix bugged makethin
  • fix bugged use_optics
  • rename ‘use_optics’ => ‘template’. technically, this is a change in the public interface, but we are still in 0.X and furthermore the feature was not working before anyway.

0.3.1

  • use semantic versioning <http://semver.org/>
  • fix deep attribute lookup for elements

0.3

  • redesigned command line
  • fix erroneous parsing of MAD-X arrays, like KNL={…}
  • remove inline attributes for slicing
  • extended slicing via slicing configuration file
  • fix usability of template (predefined) elements
 
File Type Py Version Uploaded on Size
madseq-0.4.1.tar.gz (md5) Source 2014-05-03 13KB
  • Downloads (All Versions):
  • 36 downloads in the last day
  • 205 downloads in the last week
  • 622 downloads in the last month