Metadata-Version: 2.3
Name: pyx-core
Version: 1.24.0
Summary: All core functionalities for using PyXMake as a build system
License: MIT
Keywords: compilation,documentation,packaging
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: core
Provides-Extra: devel
Requires-Dist: GitPython (>=2.1,<2.2) ; python_version == "2.7"
Requires-Dist: GitPython (>=3,<3.1.15) ; python_version == "3.5"
Requires-Dist: GitPython (>=3,<3.1.19) ; python_version == "3.6"
Requires-Dist: GitPython (>=3.1.24) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: Jinja2 (>=3.0,<4.0) ; python_version == "3.6"
Requires-Dist: Jinja2 (>=3.1) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: Pillow (>=10.0) ; python_version >= "3.12" and python_version < "4.0"
Requires-Dist: Pillow (>=6.2,<6.3) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: Pillow (>=9.2) ; python_version >= "3.7" and python_version < "3.12"
Requires-Dist: autodocsumm (>=0.2.6,<0.3.0) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: beautifulsoup4 (>=4.11) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: beautifulsoup4 (>=4.8,<5.0) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: cmake (>=3.26) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: cmake (>=3.26,<3.27.8) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: contextlib2 (>=0.6,<0.7) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: contextlib2 (>=21.6) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: cryptography (>=3.1,<4.0) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: cryptography (>=38.0) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: distlib (>=0.3.5)
Requires-Dist: dnspython (>=2.2) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: fastapi (>=0.115) ; python_version >= "3.8" and python_version < "4.0"
Requires-Dist: fastapi (>=0.79,<0.80) ; python_version == "3.7"
Requires-Dist: future (>=0.18) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
Requires-Dist: git-filter-repo (>=2.34) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: html2text (>=2020.1,<2021.0) ; python_version == "3.7"
Requires-Dist: html2text (>=2024.2) ; python_version >= "3.8" and python_version < "4.0"
Requires-Dist: httpx (>=0.24,<0.25) ; python_version == "3.7"
Requires-Dist: httpx (>=0.26) ; python_version >= "3.8"
Requires-Dist: keyring (>=18.0,<18.1) ; python_version == "2.7"
Requires-Dist: keyring (>=19,<24.1) ; python_version >= "3.5" and python_version < "3.7"
Requires-Dist: keyring (>=23.0) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: markupsafe (>=2.0,<3.0) ; python_version == "3.6"
Requires-Dist: markupsafe (>=2.1) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: numpy (>=1.16,<2.0) ; python_version == "2.7" or python_version == "3.5"
Requires-Dist: numpy (>=1.18,<2.0) ; python_version == "3.6"
Requires-Dist: numpy (>=1.21,<2.0) ; python_version == "3.7"
Requires-Dist: numpy (>=1.22) ; python_version >= "3.8" and python_version < "4.0"
Requires-Dist: packaging (>=20.9,<21.0) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: packaging (>=21.0) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: paramiko (>=2.9) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
Requires-Dist: pipreqs (>=0.4) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
Requires-Dist: psutil (>=5.7) ; sys_platform == "windows" and python_version == "3.5"
Requires-Dist: psutil (>=5.8) ; python_version == "2.7" or python_version >= "3.6" and python_version < "4.0"
Requires-Dist: psutil (>=5.8) ; sys_platform != "windows" and python_version == "3.5"
Requires-Dist: pyc-core (>=1.10) ; (python_version == "2.7" or python_version >= "3.5" and python_version < "3.7") and (extra == "all" or extra == "devel")
Requires-Dist: pyc-core ; (python_version >= "3.7" and python_version < "4.0") and (extra == "all" or extra == "devel")
Requires-Dist: pydantic (>=1.8) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: pyinstaller (>=5.3) ; python_version >= "3.7" and python_version < "3.12"
Requires-Dist: pytest (>=7.1) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: pytest-cov (>=3,<5.0) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: python-dateutil (>=2.8) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: python-multipart (>=0.0.5) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: pythonsed ; sys_platform == "win32"
Requires-Dist: pywin32 (==228) ; (python_version == "2.7" or python_version >= "3.5") and python_version < "3.7" and sys_platform == "win32"
Requires-Dist: pywin32 (>=306,<307) ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32"
Requires-Dist: pyx-poetry (>=1.21) ; (python_version == "2.7" or python_version >= "3.5" and python_version < "3.7") and (extra == "all" or extra == "core")
Requires-Dist: pyx-poetry ; (python_version >= "3.7" and python_version < "4.0") and (extra == "all" or extra == "core")
Requires-Dist: rapidfuzz (>=2.15,<3.3) ; python_version == "3.7"
Requires-Dist: rapidfuzz (>=3,<4.0) ; python_version >= "3.8" and python_version < "4.0"
Requires-Dist: recommonmark (>=0.7) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: requests (>=2.25,<3.0) ; python_version >= "3.5" and python_version < "3.7"
Requires-Dist: requests (>=2.28) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: requests-toolbelt (>=0.10) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: requests-toolbelt (>=0.8,<10) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: scipy (>=1.10) ; python_version >= "3.9" and python_version < "3.13"
Requires-Dist: scipy (>=1.2,<2.0) ; python_version == "2.7" or python_version == "3.5"
Requires-Dist: scipy (>=1.5,<2.0) ; python_version == "3.6"
Requires-Dist: scipy (>=1.6,<2.0) ; python_version == "3.7"
Requires-Dist: scipy (>=1.8,<1.9) ; python_version == "3.8"
Requires-Dist: setuptools (>=39.0,<40.0) ; python_version == "2.7"
Requires-Dist: setuptools (>=49.0,<50.0) ; python_version == "3.5"
Requires-Dist: setuptools (>=58.0,<59.0) ; python_version == "3.6"
Requires-Dist: setuptools (>=64.0,<65.0) ; python_version == "3.7"
Requires-Dist: setuptools (>=69,<70) ; python_version == "3.8"
Requires-Dist: setuptools (>=70,<71) ; python_version >= "3.9" and python_version < "4.0"
Requires-Dist: six (>=1.15) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
Requires-Dist: sphinx (>=3.0,<4.0) ; python_version == "3.6"
Requires-Dist: sphinx (>=5.1,<6.0) ; python_version == "3.7"
Requires-Dist: sphinx (>=6.2,<7.0) ; python_version == "3.8"
Requires-Dist: sphinx (>=7.4,<8.0) ; python_version == "3.9"
Requires-Dist: sphinx (>=8.1) ; python_version >= "3.10" and python_version < "4.0"
Requires-Dist: sphinx-rtd-theme (>=1.3,<2.0) ; python_version == "3.7"
Requires-Dist: sphinx-rtd-theme (>=3) ; python_version >= "3.8" and python_version < "4.0"
Requires-Dist: sphinxcontrib-bibtex (>=1.0,<2.0) ; python_version == "3.6"
Requires-Dist: sphinxcontrib-bibtex (>=2.5) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: sphinxemoji (>=0.2,<0.3) ; python_version >= "3.7" and python_version < "3.9"
Requires-Dist: sphinxemoji (>=0.3) ; python_version >= "3.9" and python_version < "4.0"
Requires-Dist: starlette (>=0.19,<0.20) ; python_version == "3.7"
Requires-Dist: starlette (>=0.43,<0.44) ; python_version == "3.8"
Requires-Dist: starlette (>=0.45) ; python_version >= "3.9" and python_version < "4.0"
Requires-Dist: stdlib-list (>=0.10,<0.11) ; python_version >= "3.7" and python_version < "3.9"
Requires-Dist: stdlib-list (>=0.11) ; python_version >= "3.9" and python_version < "4.0"
Requires-Dist: stdlib-list (>=0.8,<0.9) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: svn (>=1.0) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
Requires-Dist: tomlkit (>=0.12) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: tomlkit (>=0.5,<1) ; python_version == "2.7" or python_version >= "3.5" and python_version < "3.7"
Requires-Dist: uvicorn (>=0.17) ; python_version >= "3.7" and python_version < "4.0"
Requires-Dist: whichcraft (>=0.6) ; python_version == "2.7" or python_version >= "3.5" and python_version < "4.0"
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/pyx-core?label=PyPi)](https://pypi.org/project/pyx-core)

# PyXMake
> This subpackage belongs to [PyXMake](https://gitlab.com/dlr-sy/pyxmake) and contains all core functionalities. It is installed automatically with the parent project. However, it is also separately available as a build system dependency. Please refer to the linked [repository](https://gitlab.com/dlr-sy/pyxmake) for documentation and application examples. If you came across the project via the [GitLab Catalog Explorer](https://gitlab.com/explore/catalog), you can jump directly to the [CI/CD Catalog section](#cicd-catalog)

## Downloading
Use GIT to get the latest code base. From the command line, use
```
git clone https://gitlab.dlr.de/dlr-sy/pyxmake pyxmake
```
If you check out the repository for the first time, you have to initialize all submodule dependencies first. Execute the following from within the repository. 
```
git submodule update --init --recursive
```
To fetch all required metadata for each submodule, use
```
git submodule foreach --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master) || git checkout main'
```
To update all refererenced submodules to the latest production level, use
```
git submodule foreach --recursive 'git pull origin $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master) || git pull origin main'
```
## Installation
PyXMake can be installed from source using [poetry](https://python-poetry.org). If you don't have [poetry](https://python-poetry.org) installed, run
```
pip install poetry --pre --upgrade
```
to install the latest version of [poetry](https://python-poetry.org) within your python environment. Use
```
poetry update
```
to update all dependencies in the lock file or directly execute
```
poetry install
```
to install all dependencies from the lock file. Last, you should be able to import PyXMake as a python package.
```python
import PyXMake
```
## CI/CD Catalog
[PyXMake](https://gitlab.com/dlr-sy/pyxmake) provides its software development and deployment capabilities as pre-built [CI/CD components](https://docs.gitlab.com/ee/ci/components/). The individual components can be integrated either directly via the CI/CD Catalog or classically via the "include" syntax. The components are divided into three groups:
* General
* Python
* Docker

To include a given component, use
```yaml
include:
  - component: $CI_SERVER_FQDN/<groupname>/PyXMake/<component>@<tag>
```
where *\<groupname\>* depends on the local Gitlab repository, *\<component\>* refers to the name of the component under *templates\/*\* and *\<tag\>* to a specific version. *\<tag\>* can also be set to *master* to always use the latest yet potentially unstable version.
## Contact
* [Marc Garbade](mailto:marc.garbade@dlr.de)
