Skip to content

Commit 2ac512c

Browse files
adds pyproject
removes setup.py fixes pyproject typo sets max line to 88 columns Fix code style issues with Black Revert to c955e81 addresses review comments fixes optional dependencies migrates flake and unit test rules to pyproject toml addresses review comments
1 parent 9a8e0c1 commit 2ac512c

5 files changed

+75
-10
lines changed

.coveragerc

-4
This file was deleted.

.flake8

-5
This file was deleted.

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
4545
- DOC: Convert CompareFlights example notebooks to .rst files [#576](https://github.com/RocketPy-Team/RocketPy/pull/576)
4646
- MNT: Refactor inertia calculations using parallel axis theorem [#573] (https://github.com/RocketPy-Team/RocketPy/pull/573)
4747
- ENH: Optional argument to show the plot in Function.compare_plots [#563](https://github.com/RocketPy-Team/RocketPy/pull/563)
48+
- BLD: Change setup.py to pyproject.toml [#589](https://github.com/RocketPy-Team/RocketPy/pull/589)
4849

4950
### Fixed
5051

pyproject.toml

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
[project]
2+
name = "rocketpy"
3+
version = "1.2.2"
4+
description="Advanced 6-DOF trajectory simulation for High-Power Rocketry."
5+
dynamic = ["dependencies"]
6+
readme = "README.md"
7+
requires-python = ">=3.8"
8+
authors = [
9+
{name = "Giovani Hidalgo Ceotto", email = "[email protected]"}
10+
]
11+
classifiers = [
12+
"Programming Language :: Python :: 3",
13+
"License :: OSI Approved :: MIT License",
14+
"Operating System :: OS Independent",
15+
"Topic :: Rocket Flight Simulation :: Libraries :: Python Modules",
16+
]
17+
18+
[project.urls]
19+
homepage = "https://rocketpy.org/"
20+
documentation = "https://docs.rocketpy.org/"
21+
repository = "https://github.com/RocketPy-Team/RocketPy"
22+
23+
[build-system]
24+
requires = ["setuptools"]
25+
build-backend = "setuptools.build_meta"
26+
27+
[tool.setuptools]
28+
py-modules = ['rocketpy']
29+
30+
[tool.setuptools.dynamic]
31+
dependencies = { file = ["requirements.txt"] }
32+
33+
[project.optional-dependencies]
34+
tests = [
35+
"pytest",
36+
"pytest-coverage",
37+
"black[jupyter]",
38+
"flake8-black",
39+
"flake8-pyproject",
40+
"pandas",
41+
"numericalunits==1.25",
42+
"pylint",
43+
"isort"
44+
]
45+
46+
env_analysis = [
47+
"windrose>=1.6.8",
48+
"timezonefinder",
49+
"jsonpickle",
50+
"ipython",
51+
"ipywidgets>=7.6.3"
52+
]
53+
54+
[tool.black]
55+
line-length = 88
56+
include = '\.py$|\.ipynb$'
57+
skip-string-normalization = true
58+
59+
[tool.coverage.report]
60+
# Regexes for lines to exclude from consideration
61+
exclude_also = [
62+
#Don't complain about exceptions or warnings not being covered by tests
63+
"warnings.warn*"
64+
]
65+
66+
[tool.flake8]
67+
max-line-length = 88
68+
max-module-lines = 3000
69+
ignore = ['E203', 'W503']
70+
exclude = [
71+
'.git,__pycache__',
72+
]

requirements-tests.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ pytest
22
pytest-coverage
33
black[jupyter]
44
flake8-black
5+
flake8-pyproject
56
pandas
67
numericalunits==1.25
78
pylint
8-
isort
9+
isort

0 commit comments

Comments
 (0)