fprime-tools/pyproject.toml
2025-06-24 12:04:15 -07:00

95 lines
2.8 KiB
TOML

[build-system]
requires = ["setuptools", "setuptools_scm[toml]>=6.2", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "fprime-tools"
dynamic = ["version"]
description = "F Prime Flight Software tooling, helpers and core data types"
readme = "README.md"
requires-python = ">=3.9"
license = {file = "LICENSE.txt"}
keywords = ["fprime", "embedded", "nasa", "flight", "software"]
authors = [
{name = "Michael Starch", email = "Michael.D.Starch@jpl.nasa.gov"},
{name = "Thomas Boyer-Chammard", email = "Thomas.Boyer.Chammard@jpl.nasa.gov"},
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Operating System :: Unix",
"Operating System :: POSIX",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"License :: OSI Approved :: Apache Software License",
]
dependencies = [
"Markdown>=3.3.4",
"pexpect>=4.8.0",
"pytest>=6.2.4",
"cookiecutter>=2.2.3",
"gcovr>=6.0",
"urllib3>=2.5.0",
"requests>=2.31.0",
]
[project.optional-dependencies]
test = [
"pytest",
]
dev = [
"black",
"pylama",
"pylint",
"pre-commit",
"sphinx",
"sphinxcontrib.mermaid",
"sphinx-rtd-theme",
"sphinx-autoapi",
"sphinx-autoapi",
"recommonmark",
]
[project.urls]
Homepage = "https://fprime.jpl.nasa.gov"
Documentation = "https://nasa.github.io/fprime/"
Repository = "https://github.com/fprime-community/fprime-tools"
####
# Entry Points:
#
# Defines the list of entry-level (scripts) that are defined by this package. This allows
# standard use of utilities that ship as part of F prime.
####
[project.scripts]
fprime-util = "fprime.util.__main__:main"
fprime-version-check = "fprime.util.versioning:main"
####
# setuptools_scm dynamically generates version number from git, as well as automatically
# include all data files tracked by git (e.g. cookiecutter templates).
# See https://setuptools.pypa.io/en/latest/userguide/datafiles.html
####
[tool.setuptools_scm]
####
# Additional notes
#
# With regards to the configuration of the older versions of setup.py:
# - package_data: included by default, and setuptools_scm will automatically include all files tracked by git
# - package discovery (src/): setuptools will automatically discover all packages as we use the src-layout
#
# Reference:
# - https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
# - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#src-layout
####