Metadata-Version: 2.0
Name: cpymad
Version: 1.0.8
Summary: Cython binding to MAD-X
Home-page: https://github.com/hibtc/cpymad
Author: Thomas Gläßle
Author-email: t_glaessle@gmx.de
License: GPLv3+
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Dist: setuptools (>=18.0)
Requires-Dist: numpy
Requires-Dist: minrpc (>=0.0.8)

cpymad
------
|Version| |License| |Python| |Tests| |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 |VERSION|. 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.

.. _Cython: https://cython.org/
.. _MAD-X: https://cern.ch/mad
.. |VERSION| replace:: 5.04.02


Links
~~~~~

- `Getting started`_
- `Installation`_
- `Source code`_
- `Documentation`_
- `Issue tracker`_
- `Latest release`_
- `MAD-X source`_

.. _Getting started: http://hibtc.github.io/cpymad/getting-started
.. _Installation: http://hibtc.github.io/cpymad/installation
.. _Source code: https://github.com/hibtc/cpymad
.. _Documentation: http://hibtc.github.io/cpymad
.. _Issue tracker: https://github.com/hibtc/cpymad/issues
.. _Latest release: https://pypi.org/project/cpymad#files
.. _MAD-X source: https://github.com/MethodicalAcceleratorDesign/MAD-X


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`_.

.. _COPYING.rst: https://github.com/hibtc/cpymad/blob/master/COPYING.rst
.. _MAD-X license: https://github.com/MethodicalAcceleratorDesign/MAD-X/blob/master/License.txt


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.

.. Badges:

.. |Tests| image::      https://api.travis-ci.org/hibtc/cpymad.svg?branch=master
   :target:             https://travis-ci.org/hibtc/cpymad
   :alt:                Test Status

.. |Coverage| image::   https://coveralls.io/repos/hibtc/cpymad/badge.svg?branch=master
   :target:             https://coveralls.io/r/hibtc/cpymad
   :alt:                Coverage

.. |Version| image::    https://img.shields.io/pypi/v/cpymad.svg
   :target:             https://pypi.org/project/cpymad
   :alt:                Latest Version

.. |License| image::    https://img.shields.io/badge/license-CC0,_Apache,_Non--Free-red.svg
   :target:             https://github.com/hibtc/cpymad/blob/master/COPYING.rst
   :alt:                License: CC0, Apache, Non-Free

.. |Python| image::     https://img.shields.io/pypi/pyversions/cpymad.svg
   :target:             https://pypi.org/project/cpymad#files
   :alt:                Python versions

Changelog
~~~~~~~~~

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


1.0.7
=====
Date: 19.09.2018

- fix io.UnsupportedOperation on python2 when sys.stdout is not a file
- increase minrpc dependency to better comply with redirected stdouts
- fix DeprecationWarning due to not importing ABCs from collections.abc
- improvements in test suite and automatic style checks


1.0.6
=====
Date: 28.08.2018

- remove unused ``error_log`` from ``Madx``
- support passing arbitrary callables to ``Madx(stdout=...)``
- support passing non-file ``IOBase`` objects as ``stdout``
- default to ``sys.stdout``
- can pass almost arbitrary MAD-X scripts to ``input``, including
  comments/multiline commands


Older versions
==============

The full changelog is available online in CHANGES.rst_.

.. _CHANGES.rst: https://github.com/hibtc/cpymad/blob/master/CHANGES.rst


