From 9a9b8747dbfd9f08cc4b83fc0cc81abbdb94cf41 Mon Sep 17 00:00:00 2001 From: Tim Mensinger Date: Thu, 29 Feb 2024 18:12:04 +0100 Subject: [PATCH] Move setup.cfg contents to pyproject.toml --- pyproject.toml | 76 +++++++++++++++++++++++++++++++++++++++++++++++++- setup.cfg | 47 ------------------------------- 2 files changed, 75 insertions(+), 48 deletions(-) delete mode 100644 setup.cfg diff --git a/pyproject.toml b/pyproject.toml index 372edfd8..1e9c26b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,73 @@ +# Reference: https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#static-vs-dynamic-metadata + +# ====================================================================================== +# Project metadata +# ====================================================================================== + +[project] +name = "lcm" +dynamic = ["version"] +authors = [ + { name = "Tim Mensinger", email = "mensingertim@gmail.com" }, + { name = "Hans-Martin von Gaudecker", email = "hmgaudecker@uni-bonn.de" }, + { name = "Janos Gabler" }, +] +description = "This package aims to generalize and facilitate the specification, solving, and estimation of dynamic choice models." +readme = { file = "README.md", content-type = "text/markdown" } +license = { file = "LICENSE" } +keywords = [ + "Dynamic programming", + "Econometrics", + "Economics", + "Estimation", + "Life cycle models", + "Statistics", +] +classifiers = [ + "Development Status :: 1 - Planning", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Scientific/Engineering", +] +requires-python = ">=3.11" +dependencies = [ + "dags", + "jax>=0.4.10", + "jaxlib>=0.4.10", + "numpy", + "pandas", +] + +[project.urls] +Repository = "https://github.com/opensourceeconomics/lcm" +Github = "https://github.com/opensourceeconomics/lcm" +Tracker = "https://github.com/OpenSourceEconomics/lcm/issues" + + +# ====================================================================================== +# Build system configuration +# ====================================================================================== + [build-system] requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.0"] - +build-backend = "setuptools.build_meta" [tool.setuptools_scm] write_to = "src/lcm/_version.py" +[tool.check-manifest] +ignore = ["src/lcm/_version.py"] + + +# ====================================================================================== +# Ruff configuration +# ====================================================================================== [tool.ruff] target-version = "py311" @@ -70,6 +133,9 @@ extend-ignore = [ [tool.ruff.lint.pydocstyle] convention = "google" +# ====================================================================================== +# NBQA configuration +# ====================================================================================== [tool.nbqa.config] black = "pyproject.toml" @@ -78,6 +144,10 @@ black = "pyproject.toml" black = 1 +# ====================================================================================== +# Pytest configuration +# ====================================================================================== + [tool.pytest.ini_options] markers = [ "wip: Tests that are work-in-progress.", @@ -87,6 +157,10 @@ markers = [ norecursedirs = ["docs", ".envs"] +# ====================================================================================== +# yamlfix configuration +# ====================================================================================== + [tool.yamlfix] line_length = 88 sequence_style = "block_style" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 18891142..00000000 --- a/setup.cfg +++ /dev/null @@ -1,47 +0,0 @@ -[metadata] -name = lcm -description = This package aims to generalize and facilitate the specification, solving, and estimation of dynamic choice models. -long_description = file: README.md -long_description_content_type = text/markdown -url = https://github.com/opensourceeconomics/lcm -author = Janos Gabler, Tim Mensinger, Hans-Martin von Gaudecker -author_email = hmgaudecker@uni-bonn.de -license = MIT -license_files = LICENSE -classifiers = - Development Status :: 1 - Planning - Intended Audience :: Science/Research - License :: OSI Approved :: MIT License - Operating System :: MacOS :: MacOS X - Operating System :: POSIX - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - Topic :: Scientific/Engineering -keywords = - economics - econometrics - statistics - estimation - life cycle models - dynamic programming - -[options] -packages = find: -install_requires = - dags - jax>=0.4.10 - jaxlib>=0.4.10 - numpy - pandas -python_requires = >=3.11 -include_package_data = True -package_dir = - =src -zip_safe = False - -[options.packages.find] -where = src - -[check-manifest] -ignore = - src/lcm/_version.py