Open
Description
Modern Python packaging wants us to use pyproject.toml
rather than setup.py
. Notably, the --install-option
argument does not work with the latest setuptools, and the replacement, --config-settings
, strongly recommends pyproject.toml.
The file might look somewhat like
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "ihm"
version = "2.4"
url='https://github.com/ihmwg/python-ihm'
authors = [
{name="Ben Webb", email="ben@salilab.org"}
]
readme = "README.md"
description='Package for handling IHM mmCIF and BinaryCIF files'
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering",
]
dependencies=['msgpack']
[tool.ruff.lint]
select = ["E", "F"]
ignore = ["E402"]
[tool.setuptools]
packages=['ihm', 'ihm.util']
ext-modules = [
{name="ihm._format", sources=["src/ihm_format.c", "src/cmp.c", "src/ihm_format.i"], include_dirs=['src'], swig_opts=['-keyword', '-nodefaultctor', '-nodefaultdtor', '-noproxy']}
]
This doesn't currently handle the precompiled SWIG wrapper that we use in setup.py, though.