Skip to main content

Cython binding to MAD-X

Project description

Latest Version License: CC0, Apache, Non-Free Python versions Test Status Coverage

cpymad is a Cython binding to MAD-X for giving full control and access to a MAD-X interpreter within the python environment.

This version of cpymad should be built against MAD-X 5.04.02. It can be installed on linux, Windows and Mac (but I can’t offer much help for Mac). Python 3 is recommended but not (yet) required.

License

The cpymad source code itself is under free license.

However, the MAD-X software package and henceforth all binary cpymad package distributions are NOT FREE.

For more details, see COPYING.rst and the MAD-X license.

Reporting issues

cpymad is NOT maintained by CERN members and links against an unofficial build of MAD-X that is not supported by CERN, i.e. this binary may have problems that the official binary does not have and vice versa.

If you have a problem with a sequence file, first try to check if that problem remains when using the MAD-X command line client distributed by CERN, then:

  • Report the issue to CERN only if it can be reproduced with their official command line client.
  • Report the issue here only if it can not be reproduced with their official command line client.

For issues regarding the cpymad code itself or usage information, I’m happy to answer. Please keep it precise, specific, and concise and provide all the necessary information.

Changelog

1.0.10

Date: 07.12.2018

  • fix broken caching logic in travis config
  • move type constants to cpymad.types
  • export a MAD-X dtype to python type mapping from cpymad.types

1.0.9

Date: 21.11.2018

  • suppress internal stack traces
  • raise exception for failed twiss instead of returning invalid table that will crash later on
  • fix incorrect Element.position attribute for sequences with refer=entry or refer=exit
  • allow passing parameters with underscore suffix to commands, this allows passing parameters as bare words that conflict with python keywords (e.g. madx.command.select(class_='quadrupole')
  • improve repr() for Table: show column names

1.0.8

Date: 18.10.2018

  • add Table.dframe() method to return pandas dataframe (provisional API)
  • return success status from Madx.input (MAD-X errorflag)
  • update install instructions to account for symbol visibility
  • fix MAD-X crash on errors due to interposition of error by libc (linux)
  • automatically update documentation from travis
  • add quit method to shutdown the interpreter and wait for the process
  • fix file deletion in case of errors within temp_filename context
  • make Madx usable as context manager
  • use the correct line continuation in .bat example
  • fix manylinux build error: not creating libmadx.c
  • fix “Permission denied” error when having to clone MAD-X etc
  • fix incorrect ABI in the -cp27mu- wheel
  • allow specifying MAD-X/cpymad source tarballs for manylinux build
  • rework usage of data volumes in manylinux container: readonly cpymad folder
  • automatically build and upload manylinux releases from travis!
  • fix rare race-condition in stream reader -> delayed output
  • replace some magic numbers with human readable names
  • use coverage combine instead of custom path hack before uploading coverage data
  • move cpymad package to unimportable subdirectory
  • update to MAD-X 5.04.02

Older versions

The full changelog is available online in CHANGES.rst.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
cpymad-1.0.10.post1-cp27-cp27m-manylinux1_x86_64.whl (8.2 MB) Copy SHA256 hash SHA256 Wheel cp27
cpymad-1.0.10.post1-cp27-cp27mu-manylinux1_x86_64.whl (8.2 MB) Copy SHA256 hash SHA256 Wheel cp27
cpymad-1.0.10.post1-cp27-none-win32.whl (3.8 MB) Copy SHA256 hash SHA256 Wheel cp27
cpymad-1.0.10.post1-cp27-none-win_amd64.whl (4.3 MB) Copy SHA256 hash SHA256 Wheel cp27
cpymad-1.0.10.post1-cp33-none-win32.whl (3.8 MB) Copy SHA256 hash SHA256 Wheel cp33
cpymad-1.0.10.post1-cp33-none-win_amd64.whl (4.3 MB) Copy SHA256 hash SHA256 Wheel cp33
cpymad-1.0.10.post1-cp34-cp34m-manylinux1_x86_64.whl (8.2 MB) Copy SHA256 hash SHA256 Wheel cp34
cpymad-1.0.10.post1-cp34-cp34m-win32.whl (3.8 MB) Copy SHA256 hash SHA256 Wheel cp34
cpymad-1.0.10.post1-cp34-cp34m-win_amd64.whl (4.3 MB) Copy SHA256 hash SHA256 Wheel cp34
cpymad-1.0.10.post1-cp35-cp35m-manylinux1_x86_64.whl (8.2 MB) Copy SHA256 hash SHA256 Wheel cp35
cpymad-1.0.10.post1-cp35-cp35m-win32.whl (3.9 MB) Copy SHA256 hash SHA256 Wheel cp35
cpymad-1.0.10.post1-cp35-cp35m-win_amd64.whl (4.4 MB) Copy SHA256 hash SHA256 Wheel cp35
cpymad-1.0.10.post1-cp36-cp36m-manylinux1_x86_64.whl (8.3 MB) Copy SHA256 hash SHA256 Wheel cp36
cpymad-1.0.10.post1-cp36-cp36m-win32.whl (3.9 MB) Copy SHA256 hash SHA256 Wheel cp36
cpymad-1.0.10.post1-cp36-cp36m-win_amd64.whl (4.4 MB) Copy SHA256 hash SHA256 Wheel cp36
cpymad-1.0.10.post1-cp37-cp37m-manylinux1_x86_64.whl (8.3 MB) Copy SHA256 hash SHA256 Wheel cp37
cpymad-1.0.10.post1-cp37-cp37m-win32.whl (3.9 MB) Copy SHA256 hash SHA256 Wheel cp37
cpymad-1.0.10.post1-cp37-cp37m-win_amd64.whl (4.4 MB) Copy SHA256 hash SHA256 Wheel cp37
cpymad-1.0.10.post1.tar.gz (171.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page