commit bce714ae3bc2bc0720f8e4bdfef7dcbe5024e763 Author: Universebenzene Date: Wed Oct 8 21:21:47 2025 +0800 Initial import 0.5.2 diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000000000..3efd4343035f9 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,39 @@ +pkgbase = python-optimagic + pkgdesc = Tools to solve difficult numerical optimization problems + pkgver = 0.5.2 + pkgrel = 1 + url = https://optimagic.readthedocs.io + arch = any + license = MIT + checkdepends = python-pytest + checkdepends = python-pandas + checkdepends = python-statsmodels + checkdepends = python-annotated-types + checkdepends = python-typing_extensions + checkdepends = python-sqlalchemy + checkdepends = python-cloudpickle + checkdepends = python-pybaum + checkdepends = python-joblib + checkdepends = python-plotly + checkdepends = python-jinja + checkdepends = python-yaml + checkdepends = python-seaborn + makedepends = python-hatchling + makedepends = python-hatch-vcs + makedepends = python-build + makedepends = python-installer + source = https://github.com/optimagic-dev/optimagic/archive/refs/tags/v0.5.2.tar.gz + md5sums = 8f4c5242ec5a63919e56ceb2ef937e8a + +pkgname = python-optimagic + depends = python>=3.10 + depends = python-cloudpickle + depends = python-joblib + depends = python-numpy + depends = python-pandas + depends = python-plotly + depends = python-pybaum>=0.1.2 + depends = python-scipy>=1.2.1 + depends = python-sqlalchemy>=1.3 + depends = python-annotated-types + depends = python-typing_extensions diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000..e896dcd6056dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +src +pkg +*.src.tar.gz +*.tar.gz +*.tar.bz2 +*.part +*.pkg.tar.* +*.log diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000000000..5a2673b3c05a3 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,108 @@ +# Maintainer: Astro Benzene + +pkgbase=python-optimagic +_pyname=${pkgbase#python-} +pkgname=("python-${_pyname}") +# "python-${_pyname}-doc") +pkgver=0.5.2 +pkgrel=1 +pkgdesc="Tools to solve difficult numerical optimization problems" +arch=('any') +url="https://optimagic.readthedocs.io" +license=('MIT') +makedepends=('python-hatchling' + 'python-hatch-vcs' + 'python-build' + 'python-installer') # wheel required by new setuptools +# 'python-sphinx-copybutton' +# 'python-sphinx-panels' +# 'python-sphinx-furo' +# 'python-sphinx_design' +# 'python-sphinxcontrib-bibtex' +# 'python-sphinxcontrib-mermaid' +# 'python-intersphinx-registry' +# 'python-myst-nb' +# 'python-pandas' +# 'python-plotly' +# 'python-pybaum' +# 'python-annotated-types' +# 'python-scipy' +checkdepends=('python-pytest' +# 'python-pytest-xdist' + 'python-pandas' + 'python-statsmodels' + 'python-annotated-types' + 'python-typing_extensions' + 'python-sqlalchemy' + 'python-cloudpickle' + 'python-pybaum' + 'python-joblib' + 'python-plotly' + 'python-jinja' + 'python-yaml' + 'python-seaborn') +## 'python-bayesian-optimization' +## 'python-colorama' +##) +#source=("https://files.pythonhosted.org/packages/source/${_pyname:0:1}/${_pyname}/${_pyname}-${pkgver}.tar.gz") +source=("https://github.com/optimagic-dev/optimagic/archive/refs/tags/v${pkgver}.tar.gz") +md5sums=('8f4c5242ec5a63919e56ceb2ef937e8a') + +get_pyver() { + python -c "import sys; print('$1'.join(map(str, sys.version_info[:2])))" +} + +prepare() { + cd ${srcdir}/${_pyname}-${pkgver} + +# sed -i -e "s/@/\%s@/" -e "/pulls/s/\#/\%s\#/" docs/source/conf.py + export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} +} + +build() { + cd ${srcdir}/${_pyname}-${pkgver} + python -m build --wheel --no-isolation + +# msg "Building Docs" +# mkdir -p dist/lib +# bsdtar -xpf dist/${_pyname/-/_}-${pkgver}-py3-none-any.whl -C dist/lib +# PYTHONPATH="../dist/lib" make -C docs html +} + +check() { + cd ${srcdir}/${_pyname}-${pkgver} + + PYTHONPATH="src" pytest tests \ + --deselect=tests/optimagic/optimization/test_many_algorithms.py::test_nag_dfols_starting_at_optimum \ + --ignore=tests/optimagic/optimizers/test_bayesian_optimizer.py || warning "Tests failed" # -vv -l -ra --color=yes -o console_output_style=count -p xdist -n 4 # +# --deselect=parfive/tests/test_downloader.py::test_ftp #|| warning "Tests failed" # -vv -l -ra --color=yes -o console_output_style=count -p xdist -n 4 # +} + +package_python-optimagic() { + depends=('python>=3.10' + 'python-cloudpickle' + 'python-joblib' + 'python-numpy' + 'python-pandas' + 'python-plotly' + 'python-pybaum>=0.1.2' + 'python-scipy>=1.2.1' + 'python-sqlalchemy>=1.3' + 'python-annotated-types' + 'python-typing_extensions') +# optdepends=('python-optimagic-doc: Documentation for optimagic') + cd ${srcdir}/${_pyname}-${pkgver} + + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -D -m644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}" + python -m installer --destdir="${pkgdir}" dist/*.whl +} + +#package_python-optimagic-doc() { +# pkgdesc="Documentation for Python optimagic" +# cd ${srcdir}/${_pyname}-${pkgver}/docs/_build +# +# install -D -m644 ../../LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" +# install -d -m755 "${pkgdir}/usr/share/doc/${pkgbase}" +# cp -a html "${pkgdir}/usr/share/doc/${pkgbase}" +#}