Metadata-Version: 2.4
Name: w7x
Version: 0.8.1
Summary: The w7x package is a simulation framework that defines interfaces for simulation codes with interchangeable backends, computation pipelines in a directed acyclic graph that communicate via a central state.
Project-URL: Homepage, https://gitlab.mpcdf.mpg.de/dboe/w7x
Project-URL: Documentation, https://dboe.pages.mpcdf.de/w7x
Project-URL: Repository, https://gitlab.mpcdf.mpg.de/dboe/w7x
Project-URL: Issues, https://gitlab.mpcdf.mpg.de/dboe/w7x/-/issues/
Project-URL: Changelog, https://gitlab.mpcdf.mpg.de/dboe/w7x/-/blob/master/CHANGELOG.md
Author-email: Daniel Böckenhoff <dboe@ipp.mpg.de>
Maintainer-email: Daniel Böckenhoff <dboe@ipp.mpg.de>
License-Expression: MIT
License-File: AUTHORS.rst
License-File: LICENSE.rst
Keywords: Wendelstein 7-X,distributed computing,extender,field line tracer,numerical modeling,simulation,state,vmec
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: dask[complete,distributed]>=2021.06.00
Requires-Dist: dill
Requires-Dist: gitpython>=3.1.31
Requires-Dist: hydra-core
Requires-Dist: netcdf4
Requires-Dist: numpy>=1.20.0
Requires-Dist: osa
Requires-Dist: pathlib; python_version < '3.10'
Requires-Dist: requests
Requires-Dist: rna[config,plotting]>=1.0.0
Requires-Dist: scikit-learn
Requires-Dist: scipy>=1.9.2
Requires-Dist: tfields[io]>=0.6.0
Provides-Extra: dot
Requires-Dist: graphviz; extra == 'dot'
Provides-Extra: full
Requires-Dist: graphviz; extra == 'full'
Requires-Dist: hyperopt; extra == 'full'
Provides-Extra: hyperopt
Requires-Dist: hyperopt; extra == 'hyperopt'
Description-Content-Type: text/x-rst

w7x
===

..
    [shields-start]

|pypi| |python| |license| |pipeline| |release| |coverage| |docs| |pre-commit|

.. |pypi| image:: https://img.shields.io/pypi/v/w7x.svg
    :target: https://pypi.org/project/w7x/
    :alt: Latest release on PyPI
.. |python| image:: https://img.shields.io/pypi/pyversions/w7x.svg
    :target: https://pypi.org/project/w7x/
    :alt: Supported python versions
.. |license| image:: https://img.shields.io/pypi/l/w7x.svg
    :target: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/blob/master/LICENSE.rst
    :alt: MIT licensed
.. |pipeline| image:: https://gitlab.mpcdf.mpg.de/dboe/w7x/badges/master/pipeline.svg
    :target: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/pipelines
    :alt: Pipeline status
.. |release| image:: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/badges/release.svg
    :target: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/releases
    :alt: Latest release tag
.. |coverage| image:: https://gitlab.mpcdf.mpg.de/dboe/w7x/badges/master/coverage.svg
    :target: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/commits/master
    :alt: Test coverage
.. |docs| image:: https://img.shields.io/website-up-down-green-red/https/dboe.pages.mpcdf.de/w7x.svg?label=docs
    :target: https://dboe.pages.mpcdf.de/w7x
    :alt: Documentation
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
    :target: https://github.com/pre-commit/pre-commit
    :alt: pre-commit

..
    [shields-end]

Overview
--------

..
    [overview-start]

The `w7x` package is a **simulation framework** that defines **interfaces for simulation codes** with interchangeable **backends**, **computation pipelines** in a directed acyclic **graph**.
It provides access to simulation codes that **does not require the user to be a domain expert** of the specific codes and **will take care** about particularities (like binary installation, sanity checks, output files/format, passing on the output to follow-on codes etc).

The package is named after the Wendelstein 7-X stellarator, but it is **generic** enough to be used for any **magnetic confinement fusion** device.

..
    [overview-end]

Licensed under the ``MIT``

Resources
~~~~~~~~~

..
    [resources-start]

- Documentation: https://dboe.pages.mpcdf.de/w7x
- Source code: https://gitlab.mpcdf.mpg.de/dboe/w7x
- Examples: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/tree/master/examples
- Bug reports: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/issues/
- Changelog: https://gitlab.mpcdf.mpg.de/dboe/w7x/-/blob/master/CHANGELOG.md

- PyPI: https://pypi.org/project/w7x/

..
    [resources-end]

Installation
~~~~~~~~~~~~

..
    [install-start]
    
.. code-block:: shell

    pip install w7x

..
    [install-end]

Usage
~~~~~

..
    [usage-start]

A simulation starts from a state built of configuration parts, which codes such as
VMEC then advance through interchangeable backends:

.. code-block:: python

    import w7x

    state = w7x.State(
        w7x.config.CoilSets.Ideal(),
        w7x.config.Plasma.Vacuum(),
        w7x.config.Equilibria.InitialGuess(),
    )

..
    [usage-end]
