Skip to content

Commit

Permalink
Bump sectionproperties to 3.1.0, add nbQA, add flake8-pytest-style
Browse files Browse the repository at this point in the history
  • Loading branch information
robbievanleeuwen committed Oct 11, 2023
1 parent 8976127 commit 639a254
Show file tree
Hide file tree
Showing 20 changed files with 232 additions and 121 deletions.
4 changes: 3 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
[flake8]
select = B,B9,C,D,DAR,E,F,N,RST,S,W
select = B,B9,C,D,DAR,E,F,N,PT,RST,S,W
ignore = B028,B905,E203,E501,E741,RST201,RST203,RST301,RST303,W503
max-line-length = 80
docstring-convention = google
per-file-ignores = tests/*:S101,__init__.py:F401,post.py:C901
rst-roles = class,const,func,meth,mod,ref
rst-directives = deprecated
pytest-fixture-no-parentheses = True
pytest-mark-no-parentheses = True
11 changes: 11 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,14 @@ repos:
rev: 0.6.1
hooks:
- id: nbstripout
- repo: https://github.com/nbQA-dev/nbQA
rev: 1.7.0
hooks:
- id: nbqa-black
additional_dependencies: [black==23.9.1]
- id: nbqa-pyupgrade
additional_dependencies: [pyupgrade==3.14.0]
args: ["--py39-plus"]
- id: nbqa-isort
additional_dependencies: [isort==5.12.0]
args: [--profile=black]
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ Now that you have all the dependencies up and running, you can install
```shell
git clone https://github.com/robbievanleeuwen/concrete-properties.git
cd concrete-properties
poetry install --all-extras
poetry install
```

You can now run an interactive Python session, or the command-line interface:
Expand Down
14 changes: 9 additions & 5 deletions docs/_static/animation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
"metadata": {},
"outputs": [],
"source": [
"import concreteproperties.stress_strain_profile as ssp\n",
"import numpy as np\n",
"from sectionproperties.pre.geometry import Geometry\n",
"from shapely import Polygon\n",
"\n",
"import concreteproperties.stress_strain_profile as ssp\n",
"from concreteproperties.concrete_section import ConcreteSection\n",
"from concreteproperties.material import Concrete, SteelBar\n",
"from concreteproperties.pre import add_bar_rectangular_array\n",
"from sectionproperties.pre.geometry import Geometry\n",
"from shapely import Polygon"
"from concreteproperties.pre import add_bar_rectangular_array"
]
},
{
Expand Down Expand Up @@ -241,10 +242,11 @@
"import matplotlib.patches as mpatches\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.tri as tri\n",
"from concreteproperties.post import plotting_context\n",
"from matplotlib.collections import PatchCollection\n",
"from matplotlib.colors import CenteredNorm\n",
"\n",
"from concreteproperties.post import plotting_context\n",
"\n",
"\n",
"def plot_stress_and_graph(res_idx, mk_res_list, k_list, m_list, **kwargs):\n",
" with plotting_context(title=\"Stress\", **kwargs) as (fig, ax):\n",
Expand Down Expand Up @@ -404,8 +406,10 @@
"outputs": [],
"source": [
"import glob\n",
"\n",
"from PIL import Image\n",
"\n",
"\n",
"# filepaths\n",
"fp_in = \"anim/*.png\"\n",
"fp_out = \"anim.gif\"\n",
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Now that you have all the dependencies up and running, you can install
git clone https://github.com/robbievanleeuwen/concrete-properties.git
cd concrete-properties
poetry install --all-extras
poetry install
You can now run an interactive Python session, or the command-line interface:

Expand Down
9 changes: 5 additions & 4 deletions docs/examples/area_properties.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@
"metadata": {},
"outputs": [],
"source": [
"from sectionproperties.pre.library import concrete_rectangular_section\n",
"\n",
"from concreteproperties import (\n",
" Concrete,\n",
" SteelBar,\n",
" ConcreteLinear,\n",
" ConcreteSection,\n",
" RectangularStressBlock,\n",
" SteelBar,\n",
" SteelElasticPlastic,\n",
" ConcreteSection,\n",
")\n",
"from sectionproperties.pre.library import concrete_rectangular_section"
")"
]
},
{
Expand Down
13 changes: 7 additions & 6 deletions docs/examples/as3600.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,17 @@
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from concreteproperties.design_codes import AS3600\n",
"import numpy as np\n",
"from sectionproperties.pre.library import concrete_rectangular_section\n",
"\n",
"from concreteproperties import (\n",
" RectangularStressBlock,\n",
" BilinearStressStrain,\n",
" EurocodeParabolicUltimate,\n",
" ConcreteSection,\n",
" EurocodeParabolicUltimate,\n",
" RectangularStressBlock,\n",
")\n",
"from sectionproperties.pre.library import concrete_rectangular_section\n",
"from concreteproperties.design_codes import AS3600\n",
"from concreteproperties.results import MomentInteractionResults"
]
},
Expand Down Expand Up @@ -262,7 +263,7 @@
"n_list, _ = mi_res.get_results_lists(moment=\"m_x\") # get list of axial loads\n",
"ax.plot(np.array(n_list) / 1e3, phis, \"-x\")\n",
"plt.xlabel(\"Axial Force [kN]\")\n",
"plt.ylabel(\"$\\phi$\")\n",
"plt.ylabel(r\"$\\phi$\")\n",
"plt.grid()\n",
"plt.show()"
]
Expand Down
8 changes: 5 additions & 3 deletions docs/examples/biaxial_bending.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,17 @@
"outputs": [],
"source": [
"import numpy as np\n",
"from sectionproperties.pre.library import rectangular_section\n",
"\n",
"from concreteproperties import (\n",
" Concrete,\n",
" SteelBar,\n",
" ConcreteLinear,\n",
" ConcreteSection,\n",
" RectangularStressBlock,\n",
" SteelBar,\n",
" SteelElasticPlastic,\n",
" add_bar_rectangular_array,\n",
" ConcreteSection,\n",
")\n",
"from sectionproperties.pre.library import rectangular_section\n",
"from concreteproperties.results import BiaxialBendingResults"
]
},
Expand Down Expand Up @@ -281,6 +282,7 @@
"ax.set_ylabel(\"Bending Moment $M_y$ [kN.m]\")\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"plt.show()"
]
}
Expand Down
23 changes: 12 additions & 11 deletions docs/examples/composite_section.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,25 @@
"outputs": [],
"source": [
"import numpy as np\n",
"from sectionproperties.pre.library import (\n",
" circular_section_by_area,\n",
" concrete_circular_section,\n",
" i_section,\n",
" rectangular_section,\n",
")\n",
"\n",
"import concreteproperties.results as res\n",
"from concreteproperties import (\n",
" Concrete,\n",
" Steel,\n",
" SteelBar,\n",
" ConcreteLinearNoTension,\n",
" ConcreteSection,\n",
" RectangularStressBlock,\n",
" Steel,\n",
" SteelBar,\n",
" SteelElasticPlastic,\n",
" add_bar_circular_array,\n",
" add_bar_rectangular_array,\n",
" ConcreteSection,\n",
")\n",
"from sectionproperties.pre.library import (\n",
" rectangular_section,\n",
" circular_section_by_area,\n",
" i_section,\n",
" concrete_circular_section,\n",
")\n",
"import concreteproperties.results as res"
")"
]
},
{
Expand Down
9 changes: 5 additions & 4 deletions docs/examples/cracked_properties.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,16 @@
"outputs": [],
"source": [
"import numpy as np\n",
"from sectionproperties.pre.library import concrete_tee_section\n",
"\n",
"from concreteproperties import (\n",
" Concrete,\n",
" SteelBar,\n",
" ConcreteLinear,\n",
" ConcreteSection,\n",
" RectangularStressBlock,\n",
" SteelBar,\n",
" SteelElasticPlastic,\n",
" ConcreteSection,\n",
")\n",
"from sectionproperties.pre.library import concrete_tee_section"
")"
]
},
{
Expand Down
8 changes: 5 additions & 3 deletions docs/examples/moment_curvature.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@
"outputs": [],
"source": [
"import numpy as np\n",
"from sectionproperties.pre.library import rectangular_section, circular_section\n",
"from sectionproperties.pre.library import circular_section, rectangular_section\n",
"\n",
"import concreteproperties.stress_strain_profile as ssp\n",
"from concreteproperties import (\n",
" Concrete,\n",
" ConcreteSection,\n",
" SteelBar,\n",
" add_bar_rectangular_array,\n",
" ConcreteSection,\n",
")\n",
"import concreteproperties.stress_strain_profile as ssp\n",
"from concreteproperties.results import MomentCurvatureResults"
]
},
Expand Down Expand Up @@ -347,6 +348,7 @@
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"fix, ax = plt.subplots()\n",
"kappa = np.array(moment_curvature_results[-1].kappa)\n",
"moment = np.array(moment_curvature_results[-1].m_xy) / 1e6\n",
Expand Down
12 changes: 7 additions & 5 deletions docs/examples/moment_interaction.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,17 @@
"outputs": [],
"source": [
"import numpy as np\n",
"from sectionproperties.pre.library import concrete_rectangular_section\n",
"\n",
"from concreteproperties import (\n",
" Concrete,\n",
" SteelBar,\n",
" ConcreteLinear,\n",
" ConcreteSection,\n",
" RectangularStressBlock,\n",
" SteelBar,\n",
" SteelElasticPlastic,\n",
" ConcreteSection,\n",
")\n",
"from concreteproperties.results import MomentInteractionResults\n",
"from sectionproperties.pre.library import concrete_rectangular_section"
"from concreteproperties.results import MomentInteractionResults"
]
},
{
Expand Down Expand Up @@ -209,7 +210,7 @@
"\n",
" conc_sec = ConcreteSection(geom)\n",
" mi_results.append(conc_sec.moment_interaction_diagram(progress_bar=False))\n",
" labels.append(\"p = {0}\".format(0.01 * (idx + 1)))"
" labels.append(f\"p = {0.01 * (idx + 1)}\")"
]
},
{
Expand Down Expand Up @@ -382,6 +383,7 @@
"# reset axis limits to ensure labels are within plot\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"ax.set_xlim(-20, 850)\n",
"ax.set_ylim(-3000, 9000)\n",
"plt.show()"
Expand Down
9 changes: 4 additions & 5 deletions docs/examples/nzs3101.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,21 @@
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import numpy as np\n",
"from sectionproperties.pre.library import concrete_rectangular_section\n",
"\n",
"from concreteproperties.design_codes import NZS3101\n",
"from concreteproperties import (\n",
" Concrete,\n",
" ConcreteSection,\n",
" ModifiedMander,\n",
" RectangularStressBlock,\n",
" ConcreteSection,\n",
")\n",
"from concreteproperties.design_codes import NZS3101\n",
"from concreteproperties.results import (\n",
" MomentInteractionResults,\n",
" BiaxialBendingResults,\n",
" MomentCurvatureResults,\n",
" MomentInteractionResults,\n",
")"
]
},
Expand Down
9 changes: 4 additions & 5 deletions docs/examples/prestressed_section.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,15 @@
"from sectionproperties.pre.library import rectangular_section\n",
"\n",
"from concreteproperties import (\n",
" Concrete,\n",
" SteelStrand,\n",
" EurocodeNonLinear,\n",
" BilinearStressStrain,\n",
" Concrete,\n",
" ConcreteLinearNoTension,\n",
" EurocodeNonLinear,\n",
" PrestressedSection,\n",
" SteelStrand,\n",
" StrandHardening,\n",
" add_bar_rectangular_array,\n",
" PrestressedSection,\n",
")\n",
"\n",
"from concreteproperties.results import MomentCurvatureResults"
]
},
Expand Down
12 changes: 7 additions & 5 deletions docs/examples/stress_analysis.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,16 @@
"source": [
"import numpy as np\n",
"from rich.pretty import pprint\n",
"from sectionproperties.pre.library import concrete_circular_section\n",
"\n",
"from concreteproperties import (\n",
" Concrete,\n",
" SteelBar,\n",
" ConcreteSection,\n",
" EurocodeNonLinear,\n",
" RectangularStressBlock,\n",
" SteelBar,\n",
" SteelElasticPlastic,\n",
" ConcreteSection,\n",
")\n",
"from sectionproperties.pre.library import concrete_circular_section"
")"
]
},
{
Expand Down Expand Up @@ -278,8 +279,9 @@
"metadata": {},
"outputs": [],
"source": [
"from rich.table import Table\n",
"from rich.console import Console\n",
"from rich.table import Table\n",
"\n",
"\n",
"# store forces & moments for later\n",
"forces = []\n",
Expand Down
9 changes: 5 additions & 4 deletions docs/examples/ultimate_bending.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@
"outputs": [],
"source": [
"import numpy as np\n",
"from sectionproperties.pre.library import rectangular_section, triangular_section\n",
"\n",
"import concreteproperties.stress_strain_profile as ssp\n",
"from concreteproperties import (\n",
" Concrete,\n",
" ConcreteSection,\n",
" SteelBar,\n",
" add_bar_rectangular_array,\n",
" ConcreteSection,\n",
")\n",
"import concreteproperties.stress_strain_profile as ssp\n",
"from sectionproperties.pre.library import rectangular_section, triangular_section"
")"
]
},
{
Expand Down
Loading

0 comments on commit 639a254

Please sign in to comment.