Metadata-Version: 2.3
Name: pyxmake
Version: 1.31.2.post1
Summary: Harmonized software interfaces and workflows to simplify complex build events
License: MIT
Keywords: pyxmake,standalone
Author: Garbade, Marc
Author-email: marc.garbade@dlr.de
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: all
Provides-Extra: client
Provides-Extra: confluence
Provides-Extra: core
Provides-Extra: devel
Provides-Extra: f2py
Provides-Extra: generator
Provides-Extra: lint
Provides-Extra: poetry
Provides-Extra: setup
Provides-Extra: typer
Requires-Dist: anybadge ; (python_version >= "3.7" and python_version < "4.0") and (extra == "lint")
Requires-Dist: atlassian-python-api (>=3.14) ; (python_version >= "3.7") and (extra == "confluence")
Requires-Dist: black (>=22.10,<23.0) ; (python_version == "3.7") and (extra == "lint")
Requires-Dist: black (>=24.1) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "lint")
Requires-Dist: meson (>=1.8) ; (python_version >= "3.8") and (extra == "generator" or extra == "setup")
Requires-Dist: ninja (>=1.11) ; (python_version >= "3.8") and (extra == "generator" or extra == "setup")
Requires-Dist: numpy (>=1.16,<1.17) ; (python_version == "2.7" or python_version == "3.5") and (extra == "f2py")
Requires-Dist: numpy (>=1.18,<1.19) ; (python_version == "3.6") and (extra == "f2py")
Requires-Dist: numpy (>=1.21,<1.22) ; (python_version == "3.7") and (extra == "f2py")
Requires-Dist: numpy (>=1.22,<1.23) ; (python_version == "3.8") and (extra == "f2py")
Requires-Dist: numpy (>=1.22,<2.0) ; (python_version >= "3.9" and python_version < "3.11") and (extra == "f2py")
Requires-Dist: numpy (>=1.26) ; (python_version >= "3.13" and python_version < "4.0") and (extra == "f2py")
Requires-Dist: numpy (>=1.26,<1.27) ; (python_version >= "3.11" and python_version < "3.13") and (extra == "f2py")
Requires-Dist: pillow (<12) ; (python_version >= "3.10" and sys_platform == "linux") and (extra == "f2py")
Requires-Dist: poetry-core (>=1.0) ; (python_version == "2.7" or python_version >= "3.5" and python_version < "4.0") and (extra == "core" or extra == "setup")
Requires-Dist: poetry-dynamic-versioning (>=1.8) ; (python_version >= "3.8") and (extra == "setup")
Requires-Dist: pyc-core (>=1.15) ; (python_version == "2.7" or python_version >= "3.5" and python_version < "4.0") and (extra == "all" or extra == "devel")
Requires-Dist: pylint (>=3.0) ; (python_version >= "3.8") and (extra == "lint")
Requires-Dist: pylint ; (python_version == "3.7") and (extra == "lint")
Requires-Dist: pyx-client (>1.31) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "client")
Requires-Dist: pyx-core (>1.31) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
Requires-Dist: pyx-poetry (>1.31) ; (python_version == "2.7" or python_version >= "3.5" and python_version < "4.0") and (extra == "all" or extra == "core" or extra == "devel" or extra == "poetry" or extra == "setup")
Requires-Dist: pyx-webservice (>1.31) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: scipy (>=1.10,<1.16) ; (python_version >= "3.9" and python_version < "3.13") and (extra == "f2py")
Requires-Dist: scipy (>=1.15) ; (python_version >= "3.13") and (extra == "f2py")
Requires-Dist: scipy (>=1.2,<2.0) ; (python_version == "2.7" or python_version == "3.5") and (extra == "f2py")
Requires-Dist: scipy (>=1.5,<2.0) ; (python_version == "3.6") and (extra == "f2py")
Requires-Dist: scipy (>=1.6,<2.0) ; (python_version == "3.7") and (extra == "f2py")
Requires-Dist: scipy (>=1.8,<1.9) ; (python_version == "3.8") and (extra == "f2py")
Requires-Dist: typer (>=0.16,<0.17) ; (python_version >= "3.7" and python_version < "3.10") and (extra == "typer")
Requires-Dist: typer (>=0.26) ; (python_version >= "3.10") and (extra == "typer")
Project-URL: Changelog, https://gitlab.com/dlr-sy/pyxmake/-/blob/master/CHANGELOG.md
Project-URL: Documentation, https://dlr-sy.gitlab.io/pyxmake
Project-URL: Repository, https://gitlab.com/dlr-sy/pyxmake
Description-Content-Type: text/markdown

[![doi](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.13352143-red.svg)](https://zenodo.org/records/13352143)
[![doc](https://img.shields.io/static/v1?label=Pages&message=User%20Guide&color=blue&style=flat&logo=gitlab)](https://dlr-sy.gitlab.io/pyxmake)
[![PyPi](https://img.shields.io/pypi/v/pyxmake?label=PyPi)](https://pypi.org/project/pyxmake/)

# PyXMake
PyXMake is a python-based, cross-platform build tool for compiling and distributing software projects and their documentation. The package provides harmonized software interfaces and predefined workflows to selected third-party developer tools with stricter default settings to simplify their handling. Experienced users can use a collection of distinct build classes to set up more elaborate builds jobs.

Please refer to the [PyXMake User Guide](https://dlr-sy.gitlab.io/pyxmake/) for further guidance.
## Installation
`pip install pyxmake` installs `pyx-core` with all dependencies. The following extras are provided to further personalize your lcoal python environment:

- `pyxmake[all]` installs `pyx-client`,`pyx-poetry` & `pyc-core`
- `pyxmake[client]` installs `pyx-client`
- `pyxmake[confluence]` installs `atlassian-python-api`
- `pyxmake[core]` installs `poetry-core` & `pyx-poetry`
- `pyxmake[devel]` installs `pyx-poetry` & `pyc-core`]
- `pyxmake[f2py]` installs `numpy`,`scipy` & `pillow`
- `pyxmake[generator]` installs `meson` & `ninja`
- `pyxmake[lint]` installs `anybadge`,`black` & `pylint`
- `pyxmake[poetry]` installs `pyx-poetry`
- `pyxmake[typer]` installs `typer`
- `pyxmake[setup]` installs `poetry-core`,`poetry-dynamic-versioning`,`pyx-poetry`,`meson` & `ninja`

> [!NOTE]  
>This project itself an empty metapackage for user convenience and should not be used as a dependency for any package.

## Usage
The package is structured into different build classes, whereby each class represents one distinct build event with some presets. These classes can be accessed directly to create a custom python-based build script.
## Reference
Currently, the following SY-STM software projects are built and maintained by using PyXMake:
* [PyXMake](https://gitlab.com/dlr-sy/pyxmake) (User Guide & Reference Guide)
* [MCODAC](https://gitlab.com/dlr-sy/mcodac) (Reference Guide, Libraries)
* [BEOS](https://gitlab.com/dlr-sy/beos) (Reference Guide, Libraries)
* [Boxbeam](https://gitlab.com/dlr-sy/boxbeam) (Reference Guide, Libraries)
* [Displam](https://gitlab.com/dlr-sy/displam) (Executable)
## Example
Please refer to the linked [repository](https://gitlab.com/dlr-sy/pyxmake) for additional application examples.
## Contact
* [Marc Garbade](mailto:marc.garbade@dlr.de)
## Support
* [List of Contributors](https://gitlab.com/dlr-sy/pyxmake/-/blob/master/CONTRIBUTING.md)
