Skip to content

Commit e836332

Browse files
committed
TL: CHANGELOG as link in README, fixed refs
1 parent 27be3a4 commit e836332

File tree

9 files changed

+57
-40
lines changed

9 files changed

+57
-40
lines changed

CONTRIBUTING.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
# How to contribute to pySDC
22

3-
1. [Pull Requests Recommendations](./docs/contrib/01_pull_requests.md)
4-
2. [Continuous Integration](./docs/contrib/02_continuous_integration.md)
5-
3. [Naming Conventions](./docs/contrib/03_naming_conventions.md)
6-
4. [Custom Implementations](./docs/contrib/04_custom_implementations.md)
7-
8-
Developments on the `pySDC` code use the classical approach of forks and pull requests from Github.
9-
There is an [extended documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models) on this aspect (that you can skip if you are already used to it). In addition, some recommendations for pull requests are given [here](./docs/contrib/01_pull_requests.md).
3+
Developments on the `pySDC` code use the classical approach of forks and pull requests.
4+
You can look at [extended GitHub documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models) for more details (skip this if you are already used to it). Furthermore, branches on `pySDC` follow a pre-defined structure. To contribute to any of them, please look at the [pull request recommendations](./docs/contrib/01_pull_requests.md).
105

116
Additionally, a _few_ rules are set to enforce code readability, consistency and reliability. Some of them are automatically tested with each commit, and summarized in the page on [continuous integration (CI)](./docs/contrib/02_continuous_integration.md).
12-
Others are specific conventions chosen for the pySDC library, that may follow Python standards (or not ...), detailed in the [naming conventions page](./docs/contrib/03_naming_conventions.md).
7+
Others are specific conventions chosen for the pySDC library, that may follow Python standards (or not ...), detailed in the [naming conventions](./docs/contrib/03_naming_conventions.md) page.
138

149
Finally, while `pySDC` provides many base functionalities that implement classical flavors of SDC, it also allows problem-specific applications through Object-Oriented Programming (OOP) and the implementation of custom inherited classes.
15-
This follows a specific OOP framework, for which more details are given [here](./docs/contrib/04_custom_implementations.md).
10+
This follows a specific OOP framework, you can look at the page on [custom implementations](./docs/contrib/04_custom_implementations.md) for more details.
11+
12+
1. [GitHub Forks and Pull Requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models)
13+
2. [Pull Requests Recommendations](./docs/contrib/01_pull_requests.md)
14+
3. [Continuous Integration](./docs/contrib/02_continuous_integration.md)
15+
4. [Naming Conventions](./docs/contrib/03_naming_conventions.md)
16+
5. [Custom Implementations](./docs/contrib/04_custom_implementations.md)

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,10 @@ The current software release can be cited using Zenodo:
8989
## Contributing
9090

9191
`pySDC` code was originally developed by [Robert Speck (@pancetta)](https://github.com/pancetta),
92-
and is now maintained and developed by a small community of scientists interested in SDC methods, that dearly welcomes any contribution.
93-
If you want to take part of this, please take the time to read our [Contribution Guidelines](./CONTRIBUTING.md)
92+
and is now maintained and developed by a small community of scientists interested in SDC methods.
93+
Checkout the [Changelog](./CHANGELOG.md) to see pySDC's evolution since 2016.
94+
95+
Any contribution is dearly welcome ! If you want to take part of this, please take the time to read our [Contribution Guidelines](./CONTRIBUTING.md)
9496
(and don't forget to take a pick at our nice [Code of Conduct](./CODE_OF_CONDUCT.md) :wink:).
9597

9698

docs/contrib/02_continuous_integration.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Finally, the CI also build artifacts that are used to generate the documentation
66

77
## Code linting
88

9-
Code style linting is performed using [`black`](https://black.readthedocs.io/en/stable/) and [`flakeheaven`](https://flakeheaven.readthedocs.io/en/latest/) for code syntax checking. In particular, `black` is used to check compliance with (most of) [PEP-8 guidelines](https://peps.python.org/pep-0008/).
9+
Code style linting is performed using [black](https://black.readthedocs.io/en/stable/) and [flakeheaven](https://flakeheaven.readthedocs.io/en/latest/) for code syntax checking. In particular, `black` is used to check compliance with (most of) [PEP-8 guidelines](https://peps.python.org/pep-0008/).
1010

1111
Those tests are conducted for each commit (even for forks), but you can also run it locally in the root folder of `pySDC` before pushing any commit :
1212

@@ -32,7 +32,7 @@ Some style rules that are automatically enforced :
3232
3333
## Code testing
3434
35-
This is done using[ `pytest`](https://docs.pytest.org/en/7.2.x/), and runs all the tests written in the `pySDC/tests` folder. You can run those locally in the root folder of `pySDC` using :
35+
This is done using [pytest](https://docs.pytest.org/en/7.2.x/), and runs all the tests written in the `pySDC/tests` folder. You can run those locally in the root folder of `pySDC` using :
3636
3737
```bash
3838
# Install required packages (works also with conda/mamba)
@@ -50,7 +50,10 @@ pytest -v pySDC/tests
5050
5151
## Documentation generation
5252
53-
To check the documentation generation, you can wait for all the CI tasks to download the `docs` artifacts, unzip it and open the `index.html` file there with you favorite browser. However, when you are working on documentation (of the project, of the code, etc ...), you can already build and check the website locally :
53+
Documentation is built using [sphinx](https://www.sphinx-doc.org/en/master/).
54+
To check its generation, you can wait for all the CI tasks to download the `docs` artifacts, unzip it and open the `index.html` file there with you favorite browser.
55+
56+
However, when you are working on documentation (of the project, of the code, etc ...), you can already build and check the website locally :
5457
5558
```bash
5659
# Run all tests, continuing even with errors
@@ -68,4 +71,5 @@ Then you can open `docs/build/html/index.html` using you favorite browser and ch
6871
> This approach can be considered for local testing of your contribution when it does not concern parts containing images (_i.e_ project or code documentation).
6972
7073
:arrow_left: [Back to Pull Request Recommendation](./01_pull_requests.md) ---
74+
:arrow_up: [Contributing Summary](./../../CONTRIBUTING.md) ---
7175
:arrow_right: [Next to Naming Conventions](./03_naming_conventions.md)

docs/contrib/03_naming_conventions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,5 @@ class MySweeper(Sweeper):
140140
```
141141

142142
:arrow_left: [Back to Continuous Integration](./02_continuous_integration.md) ---
143+
:arrow_up: [Contributing Summary](./../../CONTRIBUTING.md) ---
143144
:arrow_right: [Next to Custom Implementations](./04_custom_implementations.md)

docs/contrib/04_custom_implementations.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
... in construction ...
44

55
:arrow_left: [Back to Naming Conventions](./03_naming_conventions.md) ---
6+
:arrow_up: [Contributing Summary](./../../CONTRIBUTING.md) ---
67
:arrow_right: [Next to a cute picture of cat](https://www.vecteezy.com/photo/2098203-silver-tabby-cat-sitting-on-green-background)

docs/convert_markdown.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,29 @@ def completeRefLinks(rst, baseName):
6161
i += 6
6262
return rst
6363

64-
def convert(md):
64+
def addOrphanTag(rst):
65+
return '\n:orphan:\n'+rst
66+
67+
def convert(md, orphan=False, sectionRefs=True):
6568
baseName = os.path.splitext(md)[0]
6669
rst = m2r2.parse_from_file(md, parse_relative_links=True)
6770
rst = wrappEmojis(rst)
68-
rst = addSectionRefs(rst, baseName)
71+
if sectionRefs:
72+
rst = addSectionRefs(rst, baseName)
6973
rst = completeRefLinks(rst, baseName)
74+
if orphan:
75+
rst = addOrphanTag(rst)
7076
with open(f'{docSources}/{baseName}.rst', 'w') as f:
7177
f.write(rst)
7278
print(f'Converted {md} to {docSources}/{baseName}.rst')
7379

7480
for md in mdFiles:
7581
if os.path.isfile(md):
76-
convert(md)
82+
isNotMain = (md != 'README.md')
83+
convert(md, orphan=isNotMain, sectionRefs=isNotMain)
7784
elif os.path.isdir(md):
7885
os.makedirs(f'{docSources}/{md}', exist_ok=True)
7986
for f in glob.glob(f'{md}/*.md'):
80-
convert(f)
87+
convert(f, orphan=True)
8188
else:
8289
raise ValueError('{md} is not a md file or a folder')

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
# unit titles (such as .. function::).
109109
#
110110
add_module_names = False
111+
toc_object_entries_show_parents = 'hide'
111112

112113
# If true, sectionauthor and moduleauthor directives will be shown in the
113114
# output. They are ignored by default.

docs/source/index.rst

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1+
12
.. include:: README.rst
23

3-
.. include:: CHANGELOG.rst
4+
Tests
5+
-----
6+
7+
.. include:: ../../pySDC/tests/README.rst
8+
9+
User Guide
10+
==========
411

512
Tutorial
613
--------
@@ -44,12 +51,6 @@ Projects
4451
projects/Resilience.rst
4552

4653

47-
Tests
48-
-----
49-
50-
.. include:: ../../pySDC/tests/README.rst
51-
52-
5354
API documentation
5455
-----------------
5556

@@ -63,11 +64,8 @@ API documentation
6364
pySDC/helpers.rst
6465

6566

66-
Indices and tables
67-
------------------
67+
Indices and tables :
6868

6969
* :ref:`genindex`
7070
* :ref:`modindex`
71-
* :ref:`search`
72-
73-
71+
* :ref:`search`

pySDC/implementations/sweeper_classes/Runge_Kutta.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,12 @@ class RungeKutta(generic_implicit):
135135
method, which does not require us to solve a system of equations to compute the stages.
136136
137137
Please be aware that all fundamental parameters of the Sweeper are ignored. These include
138+
138139
- num_nodes
139140
- collocation_class
140141
- initial_guess
141142
- QI
143+
142144
All of these variables are either determined by the RK rule, or are not part of an RK scheme.
143145
144146
Attribues:
@@ -245,9 +247,9 @@ def __init__(self, params):
245247

246248

247249
class CrankNicholson(RungeKutta):
248-
'''
250+
"""
249251
Implicit Runge-Kutta method of second order
250-
'''
252+
"""
251253

252254
def __init__(self, params):
253255
nodes = np.array([0, 1])
@@ -260,9 +262,9 @@ def __init__(self, params):
260262

261263

262264
class MidpointMethod(RungeKutta):
263-
'''
265+
"""
264266
Runge-Kutta method of second order
265-
'''
267+
"""
266268

267269
def __init__(self, params):
268270
implicit = params.get('implicit', False)
@@ -281,9 +283,9 @@ def __init__(self, params):
281283

282284

283285
class RK4(RungeKutta):
284-
'''
286+
"""
285287
Explicit Runge-Kutta of fourth order: Everybodies darling.
286-
'''
288+
"""
287289

288290
def __init__(self, params):
289291
nodes = np.array([0, 0.5, 0.5, 1])
@@ -297,9 +299,9 @@ def __init__(self, params):
297299

298300

299301
class Heun_Euler(RungeKutta):
300-
'''
302+
"""
301303
Second order explicit embedded Runge-Kutta
302-
'''
304+
"""
303305

304306
def __init__(self, params):
305307
nodes = np.array([0, 1])
@@ -311,9 +313,9 @@ def __init__(self, params):
311313

312314

313315
class Cash_Karp(RungeKutta):
314-
'''
316+
"""
315317
Fifth order explicit embedded Runge-Kutta
316-
'''
318+
"""
317319

318320
def __init__(self, params):
319321
nodes = np.array([0, 0.2, 0.3, 0.6, 1.0, 7.0 / 8.0])

0 commit comments

Comments
 (0)